{
  "match_info": {
    "home_team": "Chelsea",
    "away_team": "Hull",
    "tournament": "Premier League",
    "date": "20260912",
    "timezone": "America/New_York",
    "home_formation": "3-4-2-1",
    "away_formation": "5-4-1",
    "lineup_status": "unconfirmed_official",
    "lineup_source": "/matches/get-lineups",
    "lineup_confirmed": false,
    "lineup_confidence": 0.75
  },
  "prediction": {
    "most_likely_score": "3-1",
    "home_goals": 3,
    "away_goals": 1,
    "most_likely_score_probability": 0.0739,
    "match_resolution": "regulation",
    "predicted_winner": "Chelsea",
    "tiebreaker": {
      "applies": false,
      "method": "none",
      "regulation_draw_probability": 0.0969,
      "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": "3-1",
        "probability": 0.0739
      },
      {
        "score": "4-1",
        "probability": 0.0706
      },
      {
        "score": "3-0",
        "probability": 0.0608
      },
      {
        "score": "4-0",
        "probability": 0.0581
      },
      {
        "score": "2-1",
        "probability": 0.058
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.0067,
      "0-1": 0.0078,
      "0-2": 0.0048,
      "0-3": 0.002,
      "0-4": 0.0006,
      "1-0": 0.0249,
      "1-1": 0.0305,
      "1-2": 0.0184,
      "1-3": 0.0075,
      "1-4": 0.0023,
      "1-5": 0.0006,
      "2-0": 0.0477,
      "2-1": 0.058,
      "2-2": 0.0352,
      "2-3": 0.0143,
      "2-4": 0.0043,
      "2-5": 0.0011,
      "3-0": 0.0608,
      "3-1": 0.0739,
      "3-2": 0.0449,
      "3-3": 0.0182,
      "3-4": 0.0055,
      "3-5": 0.0013,
      "4-0": 0.0581,
      "4-1": 0.0706,
      "4-2": 0.0429,
      "4-3": 0.0174,
      "4-4": 0.0053,
      "4-5": 0.0013,
      "5-0": 0.0444,
      "5-1": 0.0539,
      "5-2": 0.0328,
      "5-3": 0.0133,
      "5-4": 0.004,
      "5-5": 0.001,
      "6-0": 0.0283,
      "6-1": 0.0343,
      "6-2": 0.0209,
      "6-3": 0.0084,
      "6-4": 0.0026,
      "6-5": 0.0006,
      "7-0": 0.0154,
      "7-1": 0.0187,
      "7-2": 0.0114,
      "7-3": 0.0046,
      "7-4": 0.0014,
      "8-0": 0.0074,
      "8-1": 0.009,
      "8-2": 0.0054,
      "8-3": 0.0022,
      "8-4": 0.0007,
      "9-0": 0.0031,
      "9-1": 0.0038,
      "9-2": 0.0023,
      "9-3": 0.0009
    },
    "outcome": {
      "home_win": 0.8299,
      "draw": 0.0969,
      "away_win": 0.0732
    },
    "markets": {
      "over_2_5_goals": 0.8776,
      "under_2_5_goals": 0.1224,
      "btts_yes": 0.6879,
      "btts_no": 0.3121,
      "home_clean_sheet": 0.2967,
      "away_clean_sheet": 0.022
    },
    "home_ratings": {
      "DR": 7.18,
      "MCR": 7.47,
      "ATR": 7.85,
      "GK": 7.31
    },
    "away_ratings": {
      "DR": 6.7,
      "MCR": 6.74,
      "ATR": 6.65,
      "GK": 7.51
    },
    "insights": {
      "summary": "Antagonist matchup analysis for Chelsea vs Hull. Most likely scoreline: 3-1. Lambdas derived from 5 home and 7 away individual player duels.",
      "key_player": "Projected scorer(s): João Pedro (2), Pedro Neto, Oli McBurnie",
      "tactical_analysis": "Tactical parity between 3-4-2-1 and 5-4-1. Match outcome driven primarily by individual player quality. Home midfield dominates with ~53% possession expected (Morgan Rogers vs Elliot Stroud). Total antagonist xG — Home: 0.98, Away: 0.47. Home danger zone: Shadow Striker vs Centre Back — Half-Space Threat. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle."
    },
    "confidence": 0.75,
    "home_lambda": 3.821,
    "away_lambda": 1.215,
    "modal_scoreline": null,
    "modal_scoreline_probability": null,
    "headline_policy": null
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.8299,
      "draw": 0.0969,
      "away_win": 0.0732
    },
    "favorite": "Chelsea",
    "favorite_win_probability": 0.8299,
    "fair_spread": 2.606,
    "fair_total": 5.036,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "Chelsea",
        "estimate": 3.821,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "Hull",
        "estimate": 1.215,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.8776,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.6879,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Chelsea",
        "estimate": 1.0,
        "probability": 0.2967,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Hull",
        "estimate": 1.0,
        "probability": 0.022,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "João Pedro (Chelsea)",
        "estimate": 1.4086,
        "probability": 0.7861,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Semi Ajayi (Hull)",
        "estimate": 0.5024,
        "probability": 0.2482,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Morgan Rogers (Chelsea)",
        "estimate": 0.227,
        "probability": 0.2998,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Ryan Giles (Hull)",
        "estimate": 0.0606,
        "probability": 0.0,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "high",
      "expected_total_goals": 5.036,
      "expected_total_shots": 27,
      "expected_total_passes": 664,
      "expected_pressing_actions_per_90": 14.5,
      "possession_home_pct": 53.1,
      "possession_away_pct": 46.9,
      "notes": "Chelsea projects to control midfield possession"
    },
    "expected_game_script": {
      "favorite": "Chelsea",
      "favorite_win_probability": 0.8299,
      "script": "Chelsea is the fair winner side, but the baseline remains favorite-led: fair spread +2.61 goals and fair total 5.04.",
      "first_half": "Expect high tempo while both sides test the matchup thesis; shot baseline is about 14 first-half attempts.",
      "second_half": "If level after halftime, midfield control and bench quality should decide territory; Hull must keep the match inside one goal.",
      "late_game": "A Chelsea lead likely shifts toward control and counters; a draw state keeps set pieces and transition chances live."
    },
    "key_matchup_thesis": "Chelsea chance creation leans on João Pedro against John Egan in Shadow Striker vs Centre Back — Half-Space Threat; Chelsea projects to control midfield possession.",
    "expected_rotation_usage_behavior": [
      "Chelsea: starters carry the main goal usage through João Pedro (2), Pedro Neto; bench watchlist: Moisés Caicedo, Enzo Fernández.",
      "Hull: starters carry the main goal usage through Oli McBurnie; bench watchlist: Christos Mouzakitis, Robinio Vaz, Mohamed Ali Cho.",
      "Assist usage should flow through Morgan Rogers; late lineup changes should re-score these allocations."
    ],
    "pregame_play_by_play": [
      "0-15: Chelsea tries to establish the projected edge; track possession and first-shot share.",
      "15-45: Baseline expects high tempo, about 14 total first-half shots, and 2.52 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 Hull 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 Chelsea.",
      "Hull 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": {
    "Chelsea": {
      "formation": "3-4-2-1",
      "players": {
        "João Pedro": {
          "player_id": 975079,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 20,
          "height": 186,
          "market_value": 74000000,
          "stats": {
            "expected_goals": 1.4086,
            "goal_rate": 0.4158,
            "goals": 2,
            "shots_on_target": 1,
            "expected_assists": 0.0476,
            "key_pass": 1,
            "rating": 7.8494,
            "minutes": 95,
            "total_shots": 3,
            "duels_won": 10,
            "aerial_won": 1,
            "total_pass": 23,
            "accurate_pass": 16,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 21,
            "accurate_opp_half_passes": 14,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 43,
            "possession_lost": 13.3531,
            "dispossessed": 1.48,
            "duels_lost": 7,
            "aerial_lost": 3,
            "total_contest": 3,
            "won_contest": 3,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 4,
            "assists": 0,
            "shots_off_target": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 1,
            "xgot": 0.7122,
            "offsides": 0,
            "ball_carries": 14,
            "total_progression": 73,
            "progressive_carries": 3,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.5,
            "shotAccuracy": 33.3,
            "shotConversion": 0.22,
            "minutesPct": 100.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.0,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.663,
            "pressing_faced": "LOW",
            "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
            "numerical_situation": "1v1",
            "opponent_defenders": "John Egan",
            "opponent_faced": "John Egan",
            "antagonist_source": "attacking_duel",
            "projected_goals": 2,
            "goal_probability": 0.7861,
            "projected_assists": 0,
            "assist_probability": 0.0582,
            "fifa_overall": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0182,
                "expected_assists": 0.0462,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 19,
                "accurate_pass": 13,
                "key_pass": 2,
                "aerial_won": 4,
                "duels_won": 10,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 1,
                "expected_goals": 1.2265,
                "expected_assists": 0.0358,
                "total_shots": 5,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 23,
                "accurate_pass": 14,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 4,
                "duels_won": 13,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 1,
                "expected_goals": 0.627,
                "expected_assists": 0.0554,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 20,
                "accurate_pass": 15,
                "key_pass": 2,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 173,
            "combined_rank_score": 148.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 21.0,
            "sofascore_rating": 8.1,
            "sofascore_appearances": 2.0,
            "fifa_rank": 275.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 7.8494,
            "source_file": "data/player_rankings.csv",
            "player_name": "João Pedro",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Víctor Felipe Méndez",
                  "ranking": 168
                },
                {
                  "player_name": "Serhou Guirassy",
                  "ranking": 169
                },
                {
                  "player_name": "Lewis Hall",
                  "ranking": 170
                },
                {
                  "player_name": "Reinaldo",
                  "ranking": 171
                },
                {
                  "player_name": "Lautaro Martínez",
                  "ranking": 172
                }
              ],
              "lower": [
                {
                  "player_name": "Dostonbek Khamdamov",
                  "ranking": 174
                },
                {
                  "player_name": "Deniz Undav",
                  "ranking": 175
                },
                {
                  "player_name": "Enzo Fernández",
                  "ranking": 176
                },
                {
                  "player_name": "Rey Manaj",
                  "ranking": 177
                },
                {
                  "player_name": "Seon-min Kim",
                  "ranking": 178
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1128,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 1.0,
              "assists_per90": 1.0,
              "shots_per90": 4.5,
              "shots_on_target_pct": 33.3,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (F_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.13, gls/90: 1.0, ast/90: 1.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.2286,
                "goal_rate": 0.3436,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0427,
                "key_pass": 1,
                "rating": 7.054,
                "minutes": 90,
                "total_shots": 3,
                "duels_won": 9,
                "aerial_won": 3,
                "total_pass": 21,
                "accurate_pass": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 12.0,
                "dispossessed": 1.33,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 1,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.64,
                "offsides": 0,
                "ball_carries": 13,
                "total_progression": 66,
                "progressive_carries": 3
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1128, quality 0.876)",
              "stats": {
                "expected_goals": 0.2543,
                "goal_rate": 0.3824,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0476,
                "key_pass": 1,
                "rating": 7.8494,
                "minutes": 95,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 4,
                "total_pass": 23,
                "accurate_pass": 16,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 43,
                "possession_lost": 13.3531,
                "dispossessed": 1.48,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 1,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.7122,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 73,
                "progressive_carries": 3
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "expected_goals": 0.2543,
                "goal_rate": 0.4158,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0476,
                "key_pass": 1,
                "rating": 7.8494,
                "minutes": 95,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 4,
                "total_pass": 23,
                "accurate_pass": 16,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 43,
                "possession_lost": 13.3531,
                "dispossessed": 1.48,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 1,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.7122,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 73,
                "progressive_carries": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.5,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.2543,
                "goal_rate": 0.4158,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0476,
                "key_pass": 1,
                "rating": 7.8494,
                "minutes": 95,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 4,
                "total_pass": 23,
                "accurate_pass": 16,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 43,
                "possession_lost": 13.3531,
                "dispossessed": 1.48,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 1,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.7122,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 73,
                "progressive_carries": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.5,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.3444,
                "goal_rate": 0.4158,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0476,
                "key_pass": 1,
                "rating": 7.8494,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 10,
                "aerial_won": 1,
                "total_pass": 23,
                "accurate_pass": 16,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 43,
                "possession_lost": 13.3531,
                "dispossessed": 1.48,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 1,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.7122,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 73,
                "progressive_carries": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.5,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.663,
                "pressing_faced": "LOW",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "numerical_situation": "1v1",
                "opponent_defenders": "John Egan",
                "opponent_faced": "John Egan",
                "antagonist_source": "attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "expected_goals": 1.4086,
                "goal_rate": 0.4158,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0476,
                "key_pass": 1,
                "rating": 7.8494,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 10,
                "aerial_won": 1,
                "total_pass": 23,
                "accurate_pass": 16,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 43,
                "possession_lost": 13.3531,
                "dispossessed": 1.48,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.7122,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 73,
                "progressive_carries": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.5,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.663,
                "pressing_faced": "LOW",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "numerical_situation": "1v1",
                "opponent_defenders": "John Egan",
                "opponent_faced": "John Egan",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 5, fifa_overall 83.0)",
              "stats": {
                "expected_goals": 1.4086,
                "goal_rate": 0.4158,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0476,
                "key_pass": 1,
                "rating": 7.8494,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 10,
                "aerial_won": 1,
                "total_pass": 23,
                "accurate_pass": 16,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 43,
                "possession_lost": 13.3531,
                "dispossessed": 1.48,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.7122,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 73,
                "progressive_carries": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.5,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.663,
                "pressing_faced": "LOW",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "numerical_situation": "1v1",
                "opponent_defenders": "John Egan",
                "opponent_faced": "John Egan",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 83.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 1.4086,
                "goal_rate": 0.4158,
                "goals": 2,
                "shots_on_target": 1,
                "expected_assists": 0.0476,
                "key_pass": 1,
                "rating": 7.8494,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 10,
                "aerial_won": 1,
                "total_pass": 23,
                "accurate_pass": 16,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 43,
                "possession_lost": 13.3531,
                "dispossessed": 1.48,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.7122,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 73,
                "progressive_carries": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.5,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.663,
                "pressing_faced": "LOW",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "numerical_situation": "1v1",
                "opponent_defenders": "John Egan",
                "opponent_faced": "John Egan",
                "antagonist_source": "attacking_duel",
                "projected_goals": 2,
                "goal_probability": 0.7861,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 83.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 1.4086,
                "goal_rate": 0.4158,
                "goals": 2,
                "shots_on_target": 1,
                "expected_assists": 0.0476,
                "key_pass": 1,
                "rating": 7.8494,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 10,
                "aerial_won": 1,
                "total_pass": 23,
                "accurate_pass": 16,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 43,
                "possession_lost": 13.3531,
                "dispossessed": 1.48,
                "duels_lost": 7,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 4,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.7122,
                "offsides": 0,
                "ball_carries": 14,
                "total_progression": 73,
                "progressive_carries": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.5,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.663,
                "pressing_faced": "LOW",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "numerical_situation": "1v1",
                "opponent_defenders": "John Egan",
                "opponent_faced": "John Egan",
                "antagonist_source": "attacking_duel",
                "projected_goals": 2,
                "goal_probability": 0.7861,
                "projected_assists": 0,
                "assist_probability": 0.0582,
                "fifa_overall": 83.0
              }
            }
          ]
        },
        "Morgan Rogers": {
          "player_id": 948261,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 17,
          "height": 187,
          "market_value": 105000000,
          "stats": {
            "key_pass": 3,
            "assists": 1,
            "expected_assists": 0.227,
            "expected_goals": 0.5931,
            "total_shots": 2,
            "total_pass": 69,
            "accurate_pass": 56,
            "ball_recovery": 7,
            "duels_won": 8,
            "rating": 7.5,
            "minutes": 90,
            "total_long_balls": 6,
            "accurate_long_balls": 4,
            "total_own_half_passes": 28,
            "accurate_own_half_passes": 22,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 21,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 81,
            "possession_lost": 11.3,
            "dispossessed": 1.1,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 3,
            "clearances": 1,
            "total_contest": 6,
            "won_contest": 3,
            "challenges_lost": 2,
            "fouls": 2,
            "fouls_drawn": 2,
            "goal_rate": 0.1443,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.099,
            "ball_carries": 42,
            "total_progression": 112,
            "progressive_carries": 10,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 16.7,
            "shotConversion": 0.17,
            "minutesPct": 95.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.05,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.604,
            "pressing_faced": "LOW",
            "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
            "numerical_situation": "1v1",
            "opponent_defenders": "Elliot Stroud",
            "opponent_faced": "Elliot Stroud",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.2512,
            "projected_assists": 1,
            "assist_probability": 0.2998,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 87,
                "rating": 7.2,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0755,
                "expected_assists": 0.0323,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 29,
                "accurate_pass": 21,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "assists": 1,
                "expected_goals": 0.1366,
                "expected_assists": 1.0086,
                "total_shots": 3,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 13,
                "key_pass": 4,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 82,
                "rating": 8.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.9622,
                "expected_assists": 0.1024,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 23,
                "accurate_pass": 16,
                "key_pass": 5,
                "tackles": 2,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 122,
            "combined_rank_score": 113.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 18.0,
            "sofascore_rating": 8.2,
            "sofascore_appearances": 2.0,
            "fifa_rank": 209.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 7.5,
            "source_file": "data/player_rankings.csv",
            "player_name": "Morgan Rogers",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Matías Zaldivia",
                  "ranking": 117
                },
                {
                  "player_name": "Adrián de la Fuente",
                  "ranking": 118
                },
                {
                  "player_name": "Jaylan Hankins",
                  "ranking": 119
                },
                {
                  "player_name": "Marquinhos",
                  "ranking": 120
                },
                {
                  "player_name": "Jan Oblak",
                  "ranking": 121
                }
              ],
              "lower": [
                {
                  "player_name": "Joan García",
                  "ranking": 123
                },
                {
                  "player_name": "Bruno Henrique",
                  "ranking": 124
                },
                {
                  "player_name": "Jung Seung-bae",
                  "ranking": 125
                },
                {
                  "player_name": "Alexander Badolato",
                  "ranking": 126
                },
                {
                  "player_name": "João Neves",
                  "ranking": 127
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.269,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.269,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.8948,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 171.0,
              "goals_per90": 0.5263157894736842,
              "assists_per90": 0.5263157894736842,
              "shots_per90": 3.16,
              "shots_on_target_pct": 16.7,
              "prior_reliability": 0.1267
            },
            "rationale": "Market-value baseline (€105,000,000) applied for position M (quality factor 0.89); FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.13, gls/90: 0.5263157894736842, ast/90: 0.5263157894736842)."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.89)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.227,
                "expected_goals": 0.145,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.3,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.11,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 112,
                "progressive_carries": 10
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0824)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.227,
                "expected_goals": 0.145,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.3,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1443,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 112,
                "progressive_carries": 10,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 95.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.227,
                "expected_goals": 0.145,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.3,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1443,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 112,
                "progressive_carries": 10,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 95.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.227,
                "expected_goals": 0.145,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.3,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1443,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 112,
                "progressive_carries": 10,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 95.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.604,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.227,
                "expected_goals": 0.5931,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.3,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1443,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 112,
                "progressive_carries": 10,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 95.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.604,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 1, fifa_overall 84.0)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.227,
                "expected_goals": 0.5931,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.3,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1443,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 112,
                "progressive_carries": 10,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 95.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.604,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.227,
                "expected_goals": 0.5931,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.3,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1443,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 112,
                "progressive_carries": 10,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 95.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.604,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2512,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 3,
                "assists": 1,
                "expected_assists": 0.227,
                "expected_goals": 0.5931,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.3,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1443,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 112,
                "progressive_carries": 10,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 95.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.604,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2512,
                "projected_assists": 1,
                "assist_probability": 0.2998,
                "fifa_overall": 84.0
              }
            }
          ]
        },
        "Cole Palmer": {
          "player_id": 982780,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 10,
          "height": 185,
          "market_value": 92000000,
          "stats": {
            "key_pass": 3,
            "assists": 0,
            "expected_assists": 0.226,
            "expected_goals": 0.5931,
            "total_shots": 2,
            "total_pass": 69,
            "accurate_pass": 56,
            "ball_recovery": 7,
            "duels_won": 8,
            "rating": 7.5,
            "minutes": 90,
            "total_long_balls": 6,
            "accurate_long_balls": 4,
            "total_own_half_passes": 28,
            "accurate_own_half_passes": 22,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 21,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 81,
            "possession_lost": 11.2,
            "dispossessed": 1.1,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 2,
            "tackles_won": 2,
            "tackles": 3,
            "clearances": 1,
            "total_contest": 6,
            "won_contest": 3,
            "challenges_lost": 2,
            "fouls": 2,
            "fouls_drawn": 2,
            "goal_rate": 0.1876,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.099,
            "ball_carries": 42,
            "total_progression": 111,
            "progressive_carries": 10,
            "offsides": 1,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 33.3,
            "shotConversion": 0.22,
            "minutesPct": 95.6,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.05,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.594,
            "pressing_faced": "LOW",
            "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
            "numerical_situation": "1v1",
            "opponent_defenders": "Elliot Stroud",
            "opponent_faced": "Elliot Stroud",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.2583,
            "projected_assists": 0,
            "assist_probability": 0.2993,
            "fifa_overall": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.1122,
                "expected_assists": 0.0418,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 47,
                "accurate_pass": 39,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.6598,
                "expected_assists": 0.1303,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 23,
                "accurate_pass": 15,
                "key_pass": 2,
                "tackles": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 83,
                "rating": 9.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 1,
                "expected_goals": 0.283,
                "expected_assists": 0.1886,
                "total_shots": 5,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "total_pass": 34,
                "accurate_pass": 30,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 10,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 69,
            "combined_rank_score": 79.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 13.0,
            "sofascore_rating": 8.4,
            "sofascore_appearances": 2.0,
            "fifa_rank": 145.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 7.5,
            "source_file": "data/player_rankings.csv",
            "player_name": "Cole Palmer",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Paul Villero",
                  "ranking": 64
                },
                {
                  "player_name": "Cucurella",
                  "ranking": 65
                },
                {
                  "player_name": "Julián Alvarez",
                  "ranking": 66
                },
                {
                  "player_name": "Jamshid Iskandarov",
                  "ranking": 67
                },
                {
                  "player_name": "Emiliano Martínez",
                  "ranking": 68
                }
              ],
              "lower": [
                {
                  "player_name": "David Raya",
                  "ranking": 70
                },
                {
                  "player_name": "Granit Xhaka",
                  "ranking": 71
                },
                {
                  "player_name": "Kevin De Bruyne",
                  "ranking": 72
                },
                {
                  "player_name": "Silva Denisson",
                  "ranking": 73
                },
                {
                  "player_name": "Désiré Doué",
                  "ranking": 74
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.269,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.269,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.89,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 172.0,
              "goals_per90": 1.0526315789473684,
              "assists_per90": 0.5263157894736842,
              "shots_per90": 4.71,
              "shots_on_target_pct": 33.3,
              "prior_reliability": 0.1267
            },
            "rationale": "Market-value baseline (€92,000,000) applied for position M (quality factor 0.89); FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.13, gls/90: 1.0526315789473684, ast/90: 0.5263157894736842)."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.89)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.226,
                "expected_goals": 0.145,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.2,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.11,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 111,
                "progressive_carries": 10
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0824)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.226,
                "expected_goals": 0.145,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.2,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1876,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 111,
                "progressive_carries": 10,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 95.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.226,
                "expected_goals": 0.145,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.2,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1876,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 111,
                "progressive_carries": 10,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 95.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.226,
                "expected_goals": 0.145,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.2,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1876,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 111,
                "progressive_carries": 10,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 95.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.594,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.226,
                "expected_goals": 0.5931,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.2,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1876,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 111,
                "progressive_carries": 10,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 95.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.594,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 4, fifa_overall 85.0)",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.226,
                "expected_goals": 0.5931,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.2,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1876,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 111,
                "progressive_carries": 10,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 95.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.594,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.226,
                "expected_goals": 0.5931,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.2,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1876,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 111,
                "progressive_carries": 10,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 95.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.594,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2583,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 3,
                "assists": 0,
                "expected_assists": 0.226,
                "expected_goals": 0.5931,
                "total_shots": 2,
                "total_pass": 69,
                "accurate_pass": 56,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.5,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 21,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 81,
                "possession_lost": 11.2,
                "dispossessed": 1.1,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 6,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1876,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.099,
                "ball_carries": 42,
                "total_progression": 111,
                "progressive_carries": 10,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.22,
                "minutesPct": 95.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.05,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.594,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Elliot Stroud",
                "opponent_faced": "Elliot Stroud",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2583,
                "projected_assists": 0,
                "assist_probability": 0.2993,
                "fifa_overall": 85.0
              }
            }
          ]
        },
        "Jorrel Hato": {
          "player_id": 1153079,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 21,
          "height": 182,
          "market_value": 41000000,
          "stats": {
            "interceptions": 2,
            "tackles": 3,
            "tackles_won": 2,
            "clearances": 3,
            "aerial_won": 3,
            "duels_won": 7,
            "total_pass": 53,
            "accurate_pass": 42,
            "expected_goals": 0.1023,
            "rating": 7.3,
            "minutes": 90,
            "total_long_balls": 7,
            "accurate_long_balls": 4,
            "total_own_half_passes": 34,
            "accurate_own_half_passes": 27,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 9,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 69,
            "possession_lost": 7.9,
            "dispossessed": 0.6,
            "duels_lost": 4,
            "aerial_lost": 3,
            "total_contest": 5,
            "won_contest": 3,
            "ball_recovery": 6,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_assists": 0.073,
            "total_shots": 1,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.019,
            "key_pass": 1,
            "ball_carries": 26,
            "total_progression": 77,
            "progressive_carries": 6,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 85.6,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.17,
            "tackles_in_zone": 2.2,
            "tackles_won_in_zone": 2.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.761,
            "opponent_faced": "Regan Slater",
            "pressing_zone": "LM vs CB",
            "matchup_zone": "LM vs CB",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0613,
            "projected_assists": 0,
            "assist_probability": 0.0347,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 60,
                "rating": 7.1,
                "assists": 1,
                "expected_assists": 0.0158,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 11,
                "key_pass": 1,
                "tackles": 2,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 1,
                "expected_assists": 0.0637,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 10,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 65,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.014,
                "expected_assists": 0.0337,
                "total_shots": 1,
                "total_pass": 22,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 2,
                "clearances": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2453,
            "combined_rank_score": 884.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 641.0,
            "sofascore_rating": 6.75,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1127.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "projected_match_rating": 7.3,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jorrel Hato",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Juan Martín Lucero",
                  "ranking": 2448
                },
                {
                  "player_name": "Santiago Londoño",
                  "ranking": 2449
                },
                {
                  "player_name": "Vasil Kušej",
                  "ranking": 2450
                },
                {
                  "player_name": "Vladimir Nikolov",
                  "ranking": 2451
                },
                {
                  "player_name": "Gianluca Scamacca",
                  "ranking": 2452
                }
              ],
              "lower": [
                {
                  "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
                },
                {
                  "player_name": "Sergio Gómez",
                  "ranking": 2458
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.267,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "D_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.267,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.7859,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 154.0,
              "goals_per90": 0.0,
              "assists_per90": 0.5882352941176471,
              "shots_per90": 0.58,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1133
            },
            "rationale": "Market-value baseline (€41,000,000) applied for position D (quality factor 0.79); FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.11, gls/90: 0.0, ast/90: 0.5882352941176471)."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.79)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "total_pass": 53,
                "accurate_pass": 42,
                "expected_goals": 0.025,
                "rating": 7.3,
                "minutes": 90,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 34,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 69,
                "possession_lost": 7.9,
                "dispossessed": 0.6,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.073,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.019,
                "key_pass": 1,
                "ball_carries": 26,
                "total_progression": 77,
                "progressive_carries": 6
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0736)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "total_pass": 53,
                "accurate_pass": 42,
                "expected_goals": 0.025,
                "rating": 7.3,
                "minutes": 90,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 34,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 69,
                "possession_lost": 7.9,
                "dispossessed": 0.6,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.019,
                "key_pass": 1,
                "ball_carries": 26,
                "total_progression": 77,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.17
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "total_pass": 53,
                "accurate_pass": 42,
                "expected_goals": 0.025,
                "rating": 7.3,
                "minutes": 90,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 34,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 69,
                "possession_lost": 7.9,
                "dispossessed": 0.6,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.019,
                "key_pass": 1,
                "ball_carries": 26,
                "total_progression": 77,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.17
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "total_pass": 53,
                "accurate_pass": 42,
                "expected_goals": 0.025,
                "rating": 7.3,
                "minutes": 90,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 34,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 69,
                "possession_lost": 7.9,
                "dispossessed": 0.6,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.019,
                "key_pass": 1,
                "ball_carries": 26,
                "total_progression": 77,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.17,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 2.4,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Regan Slater",
                "pressing_zone": "LM vs CB",
                "matchup_zone": "LM vs CB",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "total_pass": 53,
                "accurate_pass": 42,
                "expected_goals": 0.1023,
                "rating": 7.3,
                "minutes": 90,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 34,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 69,
                "possession_lost": 7.9,
                "dispossessed": 0.6,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.019,
                "key_pass": 1,
                "ball_carries": 26,
                "total_progression": 77,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.17,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 2.4,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Regan Slater",
                "pressing_zone": "LM vs CB",
                "matchup_zone": "LM vs CB",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 78.0)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "total_pass": 53,
                "accurate_pass": 42,
                "expected_goals": 0.1023,
                "rating": 7.3,
                "minutes": 90,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 34,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 69,
                "possession_lost": 7.9,
                "dispossessed": 0.6,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.019,
                "key_pass": 1,
                "ball_carries": 26,
                "total_progression": 77,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.17,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 2.4,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Regan Slater",
                "pressing_zone": "LM vs CB",
                "matchup_zone": "LM vs CB",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "total_pass": 53,
                "accurate_pass": 42,
                "expected_goals": 0.1023,
                "rating": 7.3,
                "minutes": 90,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 34,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 69,
                "possession_lost": 7.9,
                "dispossessed": 0.6,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.019,
                "key_pass": 1,
                "ball_carries": 26,
                "total_progression": 77,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.17,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 2.4,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Regan Slater",
                "pressing_zone": "LM vs CB",
                "matchup_zone": "LM vs CB",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0613,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "total_pass": 53,
                "accurate_pass": 42,
                "expected_goals": 0.1023,
                "rating": 7.3,
                "minutes": 90,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 34,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 69,
                "possession_lost": 7.9,
                "dispossessed": 0.6,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.019,
                "key_pass": 1,
                "ball_carries": 26,
                "total_progression": 77,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.17,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 2.4,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.761,
                "opponent_faced": "Regan Slater",
                "pressing_zone": "LM vs CB",
                "matchup_zone": "LM vs CB",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0613,
                "projected_assists": 0,
                "assist_probability": 0.0347,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Reece James": {
          "player_id": 885908,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 24,
          "height": 180,
          "market_value": 63000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 2,
            "aerial_won": 1,
            "rating": 7.2766,
            "minutes": 24,
            "total_pass": 7,
            "accurate_pass": 4,
            "duels_won": 4,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 3,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 3.323,
            "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,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 11,
            "progressive_carries": 1,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.7692,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 50.0,
            "shotConversion": 0.0,
            "minutesPct": 62.8,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 0.8,
            "opponent_faced": "Oli McBurnie",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0177,
            "projected_assists": 0,
            "assist_probability": 0.0057,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0746,
                "expected_assists": 0.0494,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 46,
                "accurate_pass": 43,
                "key_pass": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 22,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0023,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.103,
                "expected_assists": 0.0703,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 50,
                "accurate_pass": 44,
                "key_pass": 1,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 295,
            "combined_rank_score": 203.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 208.0,
            "sofascore_rating": 7.1828,
            "sofascore_appearances": 29.0,
            "fifa_rank": 199.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "projected_match_rating": 7.2766,
            "source_file": "data/player_rankings.csv",
            "player_name": "Reece James",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mihail Stefan",
                  "ranking": 290
                },
                {
                  "player_name": "Nicolò Barella",
                  "ranking": 291
                },
                {
                  "player_name": "Cody Gakpo",
                  "ranking": 292
                },
                {
                  "player_name": "Nodirbek Abdurazzokov",
                  "ranking": 293
                },
                {
                  "player_name": "Gabriel Słonina",
                  "ranking": 294
                }
              ],
              "lower": [
                {
                  "player_name": "Ifeanyi Ndukwe",
                  "ranking": 296
                },
                {
                  "player_name": "Christian Pulišić",
                  "ranking": 297
                },
                {
                  "player_name": "Zubimendi",
                  "ranking": 298
                },
                {
                  "player_name": "Kim Min-Seung",
                  "ranking": 299
                },
                {
                  "player_name": "Aurélien Tchouaméni",
                  "ranking": 300
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.326,
          "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",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.326,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1077,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 113.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 1.59,
              "shots_on_target_pct": 50.0,
              "prior_reliability": 0.0867
            },
            "rationale": "XGBoost regressor (D_service) evaluated 1 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.09, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5692,
                "minutes": 22,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 3.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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 10,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1077, quality 0.859)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.2766,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 3.323,
                "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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 11,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0470)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.2766,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 3.323,
                "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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 11,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 62.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.8
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.2766,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 3.323,
                "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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 11,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 62.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.8
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.2766,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 3.323,
                "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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 11,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 62.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.8,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.2766,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 3.323,
                "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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 11,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 62.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.8,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 84.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.2766,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 3.323,
                "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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 11,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 62.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.8,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.2766,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 3.323,
                "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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 11,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 62.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.8,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0177,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.2766,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 4,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 3.323,
                "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,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 11,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 62.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.8,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0177,
                "projected_assists": 0,
                "assist_probability": 0.0057,
                "fifa_overall": 84.0
              }
            }
          ]
        },
        "Roméo Lavia": {
          "player_id": 1069488,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 45,
          "height": 181,
          "market_value": 21000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0483,
            "assists": 0,
            "expected_goals": 0.1926,
            "rating": 7.1372,
            "minutes": 67,
            "total_pass": 23,
            "accurate_pass": 22,
            "ball_recovery": 3,
            "duels_won": 4,
            "total_shots": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 13,
            "accurate_own_half_passes": 12,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 9,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 34,
            "possession_lost": 2.4284,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 3,
            "goal_rate": 1.0269,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.6775,
            "ball_carries": 10,
            "total_progression": 21,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.6667,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.5,
            "minutesPct": 72.8,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.37,
            "dribbles_attempted": 2,
            "dribbles_successful": 1.0,
            "crosses_attempted": 2.6,
            "duel_win_rate": 0.553,
            "pressing_faced": "LOW",
            "matchup_zone": "LWB vs RWB",
            "numerical_situation": "1v1",
            "opponent_defenders": "Lewie Coyle",
            "opponent_faced": "Lewie Coyle",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.3361,
            "projected_assists": 0,
            "assist_probability": 0.0954,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 60,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0076,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 24,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 68,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.5405,
                "expected_assists": 0.0036,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 18,
                "accurate_pass": 17,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 65,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.2087,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 22,
                "accurate_pass": 21,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1628,
            "combined_rank_score": 658.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 199.0,
            "sofascore_rating": 7.2,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1117.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "starter",
            "projected_match_rating": 7.1372,
            "source_file": "data/player_rankings.csv",
            "player_name": "Roméo Lavia",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "José Ignacio Castro",
                  "ranking": 1623
                },
                {
                  "player_name": "Benjamín Sáez",
                  "ranking": 1624
                },
                {
                  "player_name": "Tae-won Ko",
                  "ranking": 1625
                },
                {
                  "player_name": "Cristian Avram",
                  "ranking": 1626
                },
                {
                  "player_name": "Vykintas Slivka",
                  "ranking": 1627
                }
              ],
              "lower": [
                {
                  "player_name": "Ezequiel Cañete",
                  "ranking": 1629
                },
                {
                  "player_name": "Yu-chan Lee",
                  "ranking": 1630
                },
                {
                  "player_name": "Diego Gómez",
                  "ranking": 1631
                },
                {
                  "player_name": "Ozan Kabak",
                  "ranking": 1632
                },
                {
                  "player_name": "Fausto Grillo",
                  "ranking": 1633
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.453,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.453,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0422,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 131.0,
              "goals_per90": 0.6666666666666666,
              "assists_per90": 0.0,
              "shots_per90": 1.37,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.1
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.10, gls/90: 0.6666666666666666, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0463,
                "assists": 0,
                "expected_goals": 0.0452,
                "rating": 6.848,
                "minutes": 64,
                "total_pass": 22,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 2.33,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.65,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0422, quality 0.641)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0483,
                "assists": 0,
                "expected_goals": 0.0471,
                "rating": 7.1372,
                "minutes": 67,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 2.4284,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 1.0422,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.6775,
                "ball_carries": 10,
                "total_progression": 21,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0406)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0483,
                "assists": 0,
                "expected_goals": 0.0471,
                "rating": 7.1372,
                "minutes": 67,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 2.4284,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 1.0269,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.6775,
                "ball_carries": 10,
                "total_progression": 21,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 72.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.37
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0483,
                "assists": 0,
                "expected_goals": 0.0471,
                "rating": 7.1372,
                "minutes": 67,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 2.4284,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 1.0269,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.6775,
                "ball_carries": 10,
                "total_progression": 21,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 72.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.37
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0483,
                "assists": 0,
                "expected_goals": 0.0471,
                "rating": 7.1372,
                "minutes": 67,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 2.4284,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 1.0269,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.6775,
                "ball_carries": 10,
                "total_progression": 21,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 72.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.37,
                "dribbles_attempted": 2,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.553,
                "pressing_faced": "LOW",
                "matchup_zone": "LWB vs RWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lewie Coyle",
                "opponent_faced": "Lewie Coyle",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0483,
                "assists": 0,
                "expected_goals": 0.1926,
                "rating": 7.1372,
                "minutes": 67,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 2.4284,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 1.0269,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.6775,
                "ball_carries": 10,
                "total_progression": 21,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 72.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.37,
                "dribbles_attempted": 2,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.553,
                "pressing_faced": "LOW",
                "matchup_zone": "LWB vs RWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lewie Coyle",
                "opponent_faced": "Lewie Coyle",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 16, fifa_overall 78.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0483,
                "assists": 0,
                "expected_goals": 0.1926,
                "rating": 7.1372,
                "minutes": 67,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 2.4284,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 1.0269,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.6775,
                "ball_carries": 10,
                "total_progression": 21,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 72.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.37,
                "dribbles_attempted": 2,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.553,
                "pressing_faced": "LOW",
                "matchup_zone": "LWB vs RWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lewie Coyle",
                "opponent_faced": "Lewie Coyle",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0483,
                "assists": 0,
                "expected_goals": 0.1926,
                "rating": 7.1372,
                "minutes": 67,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 2.4284,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 1.0269,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.6775,
                "ball_carries": 10,
                "total_progression": 21,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 72.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.37,
                "dribbles_attempted": 2,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.553,
                "pressing_faced": "LOW",
                "matchup_zone": "LWB vs RWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lewie Coyle",
                "opponent_faced": "Lewie Coyle",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.3361,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0483,
                "assists": 0,
                "expected_goals": 0.1926,
                "rating": 7.1372,
                "minutes": 67,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 2.4284,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 1.0269,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.6775,
                "ball_carries": 10,
                "total_progression": 21,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 72.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.37,
                "dribbles_attempted": 2,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.553,
                "pressing_faced": "LOW",
                "matchup_zone": "LWB vs RWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lewie Coyle",
                "opponent_faced": "Lewie Coyle",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.3361,
                "projected_assists": 0,
                "assist_probability": 0.0954,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Pedro Neto": {
          "player_id": 879349,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 7,
          "height": 172,
          "market_value": 58000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0966,
            "assists": 0,
            "expected_goals": 0.7338,
            "rating": 7.7324,
            "minutes": 82,
            "total_pass": 19,
            "accurate_pass": 15,
            "ball_recovery": 3,
            "duels_won": 3,
            "total_shots": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 16,
            "accurate_opp_half_passes": 13,
            "crosses_total": 4,
            "crosses_accurate": 1,
            "touches": 34,
            "possession_lost": 9.9392,
            "dispossessed": 1.1044,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 2,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 2,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 1.1046,
            "goals": 1,
            "shots_on_target": 2,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 1,
            "xgot": 0.5853,
            "ball_carries": 13,
            "total_progression": 104,
            "progressive_carries": 6,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 66.7,
            "shotConversion": 0.33,
            "minutesPct": 45.6,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.1,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.9,
            "crosses_attempted": 3.0,
            "duel_win_rate": 0.534,
            "pressing_faced": "LOW",
            "matchup_zone": "RWB vs LWB",
            "numerical_situation": "1v1",
            "opponent_defenders": "Ryan Giles",
            "opponent_faced": "Ryan Giles",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 1,
            "goal_probability": 0.4861,
            "projected_assists": 0,
            "assist_probability": 0.1203,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 81,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0281,
                "expected_assists": 0.034,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 22,
                "accurate_pass": 18,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 68,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.4081,
                "expected_assists": 0.3255,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 12,
                "accurate_pass": 9,
                "key_pass": 2,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 14,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0276,
                "expected_assists": 0.0692,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 5,
                "accurate_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 492,
            "combined_rank_score": 288.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 68.0,
            "sofascore_rating": 7.6,
            "sofascore_appearances": 2.0,
            "fifa_rank": 508.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "projected_match_rating": 7.7324,
            "source_file": "data/player_rankings.csv",
            "player_name": "Pedro Neto",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Carlos Cuesta",
                  "ranking": 487
                },
                {
                  "player_name": "Mohammad Abu Fani",
                  "ranking": 488
                },
                {
                  "player_name": "Ibra Sow",
                  "ranking": 489
                },
                {
                  "player_name": "Nehemiah Oriola",
                  "ranking": 490
                },
                {
                  "player_name": "Alex Scott",
                  "ranking": 491
                }
              ],
              "lower": [
                {
                  "player_name": "Alex Fernandes",
                  "ranking": 493
                },
                {
                  "player_name": "Lucas Soto",
                  "ranking": 494
                },
                {
                  "player_name": "Jo Jun-Hyun",
                  "ranking": 495
                },
                {
                  "player_name": "Nizar El Jmili",
                  "ranking": 496
                },
                {
                  "player_name": "Marco de las Sias",
                  "ranking": 497
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.384,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.384,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1044,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 82.0,
              "goals_per90": 1.1111111111111112,
              "assists_per90": 0.0,
              "shots_per90": 3.29,
              "shots_on_target_pct": 66.7,
              "prior_reliability": 0.06
            },
            "rationale": "XGBoost regressor (M_service) evaluated 2 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.06, gls/90: 1.1111111111111112, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0874,
                "assists": 0,
                "expected_goals": 0.1624,
                "rating": 7.0018,
                "minutes": 74,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 12,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 31,
                "possession_lost": 9.0,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.53,
                "ball_carries": 12,
                "total_progression": 94,
                "progressive_carries": 5
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1044, quality 0.848)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0966,
                "assists": 0,
                "expected_goals": 0.1794,
                "rating": 7.7324,
                "minutes": 82,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 13,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 34,
                "possession_lost": 9.9392,
                "dispossessed": 1.1044,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1044,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.5853,
                "ball_carries": 13,
                "total_progression": 104,
                "progressive_carries": 6
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0279)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0966,
                "assists": 0,
                "expected_goals": 0.1794,
                "rating": 7.7324,
                "minutes": 82,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 13,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 34,
                "possession_lost": 9.9392,
                "dispossessed": 1.1044,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1046,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.5853,
                "ball_carries": 13,
                "total_progression": 104,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 66.7,
                "shotConversion": 0.33,
                "minutesPct": 45.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.1
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0966,
                "assists": 0,
                "expected_goals": 0.1794,
                "rating": 7.7324,
                "minutes": 82,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 13,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 34,
                "possession_lost": 9.9392,
                "dispossessed": 1.1044,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1046,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.5853,
                "ball_carries": 13,
                "total_progression": 104,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 66.7,
                "shotConversion": 0.33,
                "minutesPct": 45.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.1
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0966,
                "assists": 0,
                "expected_goals": 0.1794,
                "rating": 7.7324,
                "minutes": 82,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 13,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 34,
                "possession_lost": 9.9392,
                "dispossessed": 1.1044,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1046,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.5853,
                "ball_carries": 13,
                "total_progression": 104,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 66.7,
                "shotConversion": 0.33,
                "minutesPct": 45.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 3.0,
                "duel_win_rate": 0.534,
                "pressing_faced": "LOW",
                "matchup_zone": "RWB vs LWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ryan Giles",
                "opponent_faced": "Ryan Giles",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0966,
                "assists": 0,
                "expected_goals": 0.7338,
                "rating": 7.7324,
                "minutes": 82,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 13,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 34,
                "possession_lost": 9.9392,
                "dispossessed": 1.1044,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1046,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.5853,
                "ball_carries": 13,
                "total_progression": 104,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 66.7,
                "shotConversion": 0.33,
                "minutesPct": 45.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 3.0,
                "duel_win_rate": 0.534,
                "pressing_faced": "LOW",
                "matchup_zone": "RWB vs LWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ryan Giles",
                "opponent_faced": "Ryan Giles",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 7, fifa_overall 81.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0966,
                "assists": 0,
                "expected_goals": 0.7338,
                "rating": 7.7324,
                "minutes": 82,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 13,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 34,
                "possession_lost": 9.9392,
                "dispossessed": 1.1044,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1046,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.5853,
                "ball_carries": 13,
                "total_progression": 104,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 66.7,
                "shotConversion": 0.33,
                "minutesPct": 45.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 3.0,
                "duel_win_rate": 0.534,
                "pressing_faced": "LOW",
                "matchup_zone": "RWB vs LWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ryan Giles",
                "opponent_faced": "Ryan Giles",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0966,
                "assists": 0,
                "expected_goals": 0.7338,
                "rating": 7.7324,
                "minutes": 82,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 13,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 34,
                "possession_lost": 9.9392,
                "dispossessed": 1.1044,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1046,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.5853,
                "ball_carries": 13,
                "total_progression": 104,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 66.7,
                "shotConversion": 0.33,
                "minutesPct": 45.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 3.0,
                "duel_win_rate": 0.534,
                "pressing_faced": "LOW",
                "matchup_zone": "RWB vs LWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ryan Giles",
                "opponent_faced": "Ryan Giles",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 1,
                "goal_probability": 0.4861,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0966,
                "assists": 0,
                "expected_goals": 0.7338,
                "rating": 7.7324,
                "minutes": 82,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 13,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 34,
                "possession_lost": 9.9392,
                "dispossessed": 1.1044,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1046,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 1,
                "xgot": 0.5853,
                "ball_carries": 13,
                "total_progression": 104,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 66.7,
                "shotConversion": 0.33,
                "minutesPct": 45.6,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 3.0,
                "duel_win_rate": 0.534,
                "pressing_faced": "LOW",
                "matchup_zone": "RWB vs LWB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ryan Giles",
                "opponent_faced": "Ryan Giles",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 1,
                "goal_probability": 0.4861,
                "projected_assists": 0,
                "assist_probability": 0.1203,
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Wesley Fofana": {
          "player_id": 923894,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 3,
          "height": 186,
          "market_value": 29000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 2,
            "rating": 7.0327,
            "minutes": 84,
            "total_pass": 32,
            "accurate_pass": 30,
            "duels_won": 6,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 14,
            "accurate_own_half_passes": 14,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 16,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 52,
            "possession_lost": 8.504,
            "dispossessed": 2.126,
            "duels_lost": 7,
            "aerial_lost": 0,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 3,
            "fouls_drawn": 2,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0213,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 12,
            "total_progression": 56,
            "progressive_carries": 1,
            "key_pass": 2,
            "offsides": 0,
            "yellowCards": 1.4286,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 37.2,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.34,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.2,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Oli McBurnie",
            "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.041,
            "projected_assists": 0,
            "assist_probability": 0.0447,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0358,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 44,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 2,
                "clearances": 10,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 68,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0097,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 13,
                "interceptions": 1,
                "clearances": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1820,
            "combined_rank_score": 702.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 531.0,
            "sofascore_rating": 6.832,
            "sofascore_appearances": 25.0,
            "fifa_rank": 873.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "starter",
            "projected_match_rating": 7.0327,
            "source_file": "data/player_rankings.csv",
            "player_name": "Wesley Fofana",
            "ranking_neighbors": {
              "upper": [
                {
                  "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
                },
                {
                  "player_name": "Guido Rodríguez",
                  "ranking": 1819
                }
              ],
              "lower": [
                {
                  "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
                },
                {
                  "player_name": "Nicolás Tagliafico",
                  "ranking": 1825
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.382,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.382,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.063,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "minutes": 67.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0467
            },
            "rationale": "XGBoost regressor (D_service) evaluated 2 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.05, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 6.6159,
                "minutes": 79,
                "total_pass": 30,
                "accurate_pass": 28,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 49,
                "possession_lost": 8.0,
                "dispossessed": 2.0,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.02,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 53,
                "progressive_carries": 0,
                "key_pass": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0630, quality 0.710)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.0327,
                "minutes": 84,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 52,
                "possession_lost": 8.504,
                "dispossessed": 2.126,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0217)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.0327,
                "minutes": 84,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 52,
                "possession_lost": 8.504,
                "dispossessed": 2.126,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 1.4286,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 37.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.34
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.0327,
                "minutes": 84,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 52,
                "possession_lost": 8.504,
                "dispossessed": 2.126,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 1.4286,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 37.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.34
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.0327,
                "minutes": 84,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 52,
                "possession_lost": 8.504,
                "dispossessed": 2.126,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 1.4286,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 37.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.34,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Oli McBurnie",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.0327,
                "minutes": 84,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 52,
                "possession_lost": 8.504,
                "dispossessed": 2.126,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 1.4286,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 37.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.34,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Oli McBurnie",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 79.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.0327,
                "minutes": 84,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 52,
                "possession_lost": 8.504,
                "dispossessed": 2.126,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 1.4286,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 37.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.34,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Oli McBurnie",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.0327,
                "minutes": 84,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 52,
                "possession_lost": 8.504,
                "dispossessed": 2.126,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 1.4286,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 37.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.34,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Oli McBurnie",
                "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.041,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.0327,
                "minutes": 84,
                "total_pass": 32,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 52,
                "possession_lost": 8.504,
                "dispossessed": 2.126,
                "duels_lost": 7,
                "aerial_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 1.4286,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 37.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.34,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Oli McBurnie",
                "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.041,
                "projected_assists": 0,
                "assist_probability": 0.0447,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Maxence Lacroix": {
          "player_id": 879674,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 5,
          "height": 192,
          "market_value": 54000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 6,
            "aerial_won": 2,
            "rating": 7.3587,
            "minutes": 95,
            "total_pass": 43,
            "accurate_pass": 39,
            "duels_won": 6,
            "total_long_balls": 3,
            "accurate_long_balls": 3,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 22,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 17,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 61,
            "possession_lost": 6.6066,
            "dispossessed": 2.2022,
            "duels_lost": 5,
            "aerial_lost": 3,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.09,
            "expected_assists": 0.0771,
            "total_shots": 1,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "big_chances_created": 1,
            "xgot": 0.0,
            "ball_carries": 14,
            "total_progression": 8,
            "progressive_carries": 0,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.0,
            "opponent_faced": "Oli McBurnie",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0857,
            "projected_assists": 0,
            "assist_probability": 0.0354,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0057,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 43,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.0209,
                "expected_assists": 0.0007,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 20,
                "accurate_pass": 16,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 8,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 1,
                "expected_assists": 0.1998,
                "total_shots": 0,
                "total_pass": 50,
                "accurate_pass": 47,
                "key_pass": 1,
                "tackles": 5,
                "tackles_won": 3,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 893,
            "combined_rank_score": 418.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 457.0,
            "sofascore_rating": 6.8914,
            "sofascore_appearances": 35.0,
            "fifa_rank": 380.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 7.3587,
            "source_file": "data/player_rankings.csv",
            "player_name": "Maxence Lacroix",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Yeferson Soteldo",
                  "ranking": 888
                },
                {
                  "player_name": "Victor Stina",
                  "ranking": 889
                },
                {
                  "player_name": "Balde",
                  "ranking": 890
                },
                {
                  "player_name": "Alexis Saelemaekers",
                  "ranking": 891
                },
                {
                  "player_name": "Malick Thiaw",
                  "ranking": 892
                }
              ],
              "lower": [
                {
                  "player_name": "Matty Cash",
                  "ranking": 894
                },
                {
                  "player_name": "Stefan de Vrij",
                  "ranking": 895
                },
                {
                  "player_name": "Óscar Mingueza",
                  "ranking": 896
                },
                {
                  "player_name": "Moleiro",
                  "ranking": 897
                },
                {
                  "player_name": "Fabián Hormazábal",
                  "ranking": 898
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1011,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.0,
              "assists_per90": 0.5,
              "shots_per90": 0.5,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.13, gls/90: 0.0, ast/90: 0.5)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.683,
                "minutes": 90,
                "total_pass": 39,
                "accurate_pass": 35,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 6.0,
                "dispossessed": 2.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.02,
                "expected_assists": 0.07,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 7,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1011, quality 0.837)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.3587,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 39,
                "duels_won": 6,
                "total_long_balls": 3,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.6066,
                "dispossessed": 2.2022,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.022,
                "expected_assists": 0.0771,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 8,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.3587,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 39,
                "duels_won": 6,
                "total_long_balls": 3,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.6066,
                "dispossessed": 2.2022,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.022,
                "expected_assists": 0.0771,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 8,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.3587,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 39,
                "duels_won": 6,
                "total_long_balls": 3,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.6066,
                "dispossessed": 2.2022,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.022,
                "expected_assists": 0.0771,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 8,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.3587,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 39,
                "duels_won": 6,
                "total_long_balls": 3,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.6066,
                "dispossessed": 2.2022,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.022,
                "expected_assists": 0.0771,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 8,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.3587,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 39,
                "duels_won": 6,
                "total_long_balls": 3,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.6066,
                "dispossessed": 2.2022,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.09,
                "expected_assists": 0.0771,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 8,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 9, fifa_overall 82.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.3587,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 39,
                "duels_won": 6,
                "total_long_balls": 3,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.6066,
                "dispossessed": 2.2022,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.09,
                "expected_assists": 0.0771,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 8,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.3587,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 39,
                "duels_won": 6,
                "total_long_balls": 3,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.6066,
                "dispossessed": 2.2022,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.09,
                "expected_assists": 0.0771,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 8,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0857,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.3587,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 39,
                "duels_won": 6,
                "total_long_balls": 3,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.6066,
                "dispossessed": 2.2022,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.09,
                "expected_assists": 0.0771,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 14,
                "total_progression": 8,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0857,
                "projected_assists": 0,
                "assist_probability": 0.0354,
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Josh Acheampong": {
          "player_id": 1403050,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 34,
          "height": 190,
          "market_value": 24000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 2,
            "aerial_won": 1,
            "rating": 6.9555,
            "minutes": 71,
            "total_pass": 23,
            "accurate_pass": 18,
            "duels_won": 4,
            "total_long_balls": 7,
            "accurate_long_balls": 1,
            "total_own_half_passes": 8,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 11,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 34,
            "possession_lost": 7.0072,
            "dispossessed": 1.0506,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0105,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 7,
            "total_progression": 20,
            "progressive_carries": 0,
            "key_pass": 0,
            "opponent_faced": "Oli McBurnie",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.043,
            "projected_assists": 0,
            "assist_probability": 0.0064,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "assists": 0,
                "expected_assists": 0.0092,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 11,
                "clearances": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 22,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 3,
                "tackles": 1,
                "clearances": 2,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0127,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 38,
                "tackles": 5,
                "tackles_won": 4,
                "interceptions": 1,
                "clearances": 7,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3448,
            "combined_rank_score": 1440.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 2.0,
            "fifa_rank": 2182.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "starter",
            "projected_match_rating": 6.9555,
            "source_file": "data/player_rankings.csv",
            "player_name": "Josh Acheampong",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Luis Muriel",
                  "ranking": 3443
                },
                {
                  "player_name": "Ethan Nwaneri",
                  "ranking": 3444
                },
                {
                  "player_name": "Lucas Martínez Quarta",
                  "ranking": 3445
                },
                {
                  "player_name": "Ben Davies",
                  "ranking": 3446
                },
                {
                  "player_name": "Iván Romero",
                  "ranking": 3447
                }
              ],
              "lower": [
                {
                  "player_name": "Ryan Yates",
                  "ranking": 3449
                },
                {
                  "player_name": "Scott McKenna",
                  "ranking": 3450
                },
                {
                  "player_name": "Cédric Kipré",
                  "ranking": 3451
                },
                {
                  "player_name": "Connor Roberts",
                  "ranking": 3452
                },
                {
                  "player_name": "Florentino",
                  "ranking": 3453
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0506,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6207,
                "minutes": 67,
                "total_pass": 22,
                "accurate_pass": 17,
                "duels_won": 4,
                "total_long_balls": 7,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 6.67,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0506, quality 0.669)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.9555,
                "minutes": 71,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 7,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 7.0072,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.9555,
                "minutes": 71,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 7,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 7.0072,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.9555,
                "minutes": 71,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 7,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 7.0072,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.9555,
                "minutes": 71,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 7,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 7.0072,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 75.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.9555,
                "minutes": 71,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 7,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 7.0072,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.9555,
                "minutes": 71,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 7,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 7.0072,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.043,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.9555,
                "minutes": 71,
                "total_pass": 23,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 7,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 11,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 7.0072,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "opponent_faced": "Oli McBurnie",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.043,
                "projected_assists": 0,
                "assist_probability": 0.0064,
                "fifa_overall": 75.0
              }
            }
          ]
        },
        "Emiliano Martínez": {
          "player_id": 158263,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 26,
          "height": 195,
          "market_value": 11500000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0,
            "rating": 7.3107,
            "minutes": 91,
            "total_pass": 38,
            "accurate_pass": 18,
            "total_long_balls": 32,
            "accurate_long_balls": 12,
            "touches": 50,
            "clearances": 1,
            "ball_recovery": 11,
            "high_claims": 1,
            "punches": 0.0,
            "aerial_won": 1,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 5,
            "possession_lost": 20.7455,
            "duels_won": 3,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 2,
            "total_own_half_passes": 9,
            "accurate_own_half_passes": 7,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 3.0,
            "shotsOnTargetAgainst": 7.0,
            "cleanSheets": 0.0,
            "interceptions": 0,
            "tackles_won": 0,
            "crosses_total": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "penaltySave": 0.0,
            "ownGoals": 0.0,
            "savePct": 57.1,
            "cleanSheetPct": 0.0,
            "minutesPct": 50.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.0,
            "expected_saves": 0.98,
            "high_pressure_saves": 0.37,
            "shots_faced": 2.1,
            "opponent_faced": "Oli McBurnie, Mohamed Belloumi",
            "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": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 8.4,
                "assists": 0,
                "expected_assists": 0.0028,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 19,
                "ball_recovery": 8,
                "saves": 8,
                "goals_prevented": -0.0049
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "assists": 0,
                "expected_assists": 0.0143,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 16,
                "key_pass": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 13,
                "saves": 4,
                "goals_prevented": -0.393
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 68,
            "combined_rank_score": 78.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 21.0,
            "sofascore_rating": 8.1,
            "sofascore_appearances": 1.0,
            "fifa_rank": 136.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 7.3107,
            "source_file": "data/player_rankings.csv",
            "player_name": "Emiliano Martínez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Max Weiss",
                  "ranking": 63
                },
                {
                  "player_name": "Paul Villero",
                  "ranking": 64
                },
                {
                  "player_name": "Cucurella",
                  "ranking": 65
                },
                {
                  "player_name": "Julián Alvarez",
                  "ranking": 66
                },
                {
                  "player_name": "Jamshid Iskandarov",
                  "ranking": 67
                }
              ],
              "lower": [
                {
                  "player_name": "Cole Palmer",
                  "ranking": 69
                },
                {
                  "player_name": "David Raya",
                  "ranking": 70
                },
                {
                  "player_name": "Granit Xhaka",
                  "ranking": 71
                },
                {
                  "player_name": "Kevin De Bruyne",
                  "ranking": 72
                },
                {
                  "player_name": "Silva Denisson",
                  "ranking": 73
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.385,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "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": 2,
            "data_confidence": 0.385,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.012,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "minutes": 90.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0667
            },
            "rationale": "XGBoost regressor (G_service) evaluated 2 historical appearances across 3 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.07, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.2242,
                "minutes": 90,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 49,
                "clearances": 1,
                "ball_recovery": 10,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.5,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 6
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0120, quality 0.540)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.3107,
                "minutes": 91,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 50,
                "clearances": 1,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.7455,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 7
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0310)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.3107,
                "minutes": 91,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 50,
                "clearances": 1,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.7455,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 7,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 3.0,
                "shotsOnTargetAgainst": 7.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 57.1,
                "cleanSheetPct": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.3107,
                "minutes": 91,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 50,
                "clearances": 1,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.7455,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 7,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 3.0,
                "shotsOnTargetAgainst": 7.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 57.1,
                "cleanSheetPct": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.3107,
                "minutes": 91,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 50,
                "clearances": 1,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.7455,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 7,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 3.0,
                "shotsOnTargetAgainst": 7.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 57.1,
                "cleanSheetPct": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 0.98,
                "high_pressure_saves": 0.37,
                "shots_faced": 2.1,
                "opponent_faced": "Oli McBurnie, Mohamed Belloumi",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.3107,
                "minutes": 91,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 50,
                "clearances": 1,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.7455,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 7,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 3.0,
                "shotsOnTargetAgainst": 7.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 57.1,
                "cleanSheetPct": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 0.98,
                "high_pressure_saves": 0.37,
                "shots_faced": 2.1,
                "opponent_faced": "Oli McBurnie, Mohamed Belloumi",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 17, fifa_overall 85.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.3107,
                "minutes": 91,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 50,
                "clearances": 1,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.7455,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 7,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 3.0,
                "shotsOnTargetAgainst": 7.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 57.1,
                "cleanSheetPct": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 0.98,
                "high_pressure_saves": 0.37,
                "shots_faced": 2.1,
                "opponent_faced": "Oli McBurnie, Mohamed Belloumi",
                "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": 85.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 3 projected goals distributed by scorer weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.3107,
                "minutes": 91,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 50,
                "clearances": 1,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.7455,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 7,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 3.0,
                "shotsOnTargetAgainst": 7.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 57.1,
                "cleanSheetPct": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 0.98,
                "high_pressure_saves": 0.37,
                "shots_faced": 2.1,
                "opponent_faced": "Oli McBurnie, Mohamed Belloumi",
                "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": 85.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.3107,
                "minutes": 91,
                "total_pass": 38,
                "accurate_pass": 18,
                "total_long_balls": 32,
                "accurate_long_balls": 12,
                "touches": 50,
                "clearances": 1,
                "ball_recovery": 11,
                "high_claims": 1,
                "punches": 0.0,
                "aerial_won": 1,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 5,
                "possession_lost": 20.7455,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 7,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 3.0,
                "shotsOnTargetAgainst": 7.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 57.1,
                "cleanSheetPct": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 0.98,
                "high_pressure_saves": 0.37,
                "shots_faced": 2.1,
                "opponent_faced": "Oli McBurnie, Mohamed Belloumi",
                "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": 85.0
              }
            }
          ]
        }
      },
      "bench_players": {
        "Mike Penders": {
          "player_id": 1149148,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 39,
          "height": 199,
          "market_value": 24000000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.0372,
            "rating": 7.1,
            "minutes": 5,
            "total_pass": 2,
            "accurate_pass": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0236,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1651,
            "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.15,
            "bench_expected_minutes": 5.31,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "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": 78.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 1454,
            "combined_rank_score": 600.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 1125.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 7.1,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mike Penders",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Samed Baždar",
                  "ranking": 1449
                },
                {
                  "player_name": "Curtis Jones",
                  "ranking": 1450
                },
                {
                  "player_name": "Álvaro García",
                  "ranking": 1451
                },
                {
                  "player_name": "Natan",
                  "ranking": 1452
                },
                {
                  "player_name": "Ayoze Pérez",
                  "ranking": 1453
                }
              ],
              "lower": [
                {
                  "player_name": "Jarrad Branthwaite",
                  "ranking": 1455
                },
                {
                  "player_name": "Leonardo Valencia",
                  "ranking": 1456
                },
                {
                  "player_name": "Gulyamkhaydar Gulyamov",
                  "ranking": 1457
                },
                {
                  "player_name": "Lachlan Wales",
                  "ranking": 1458
                },
                {
                  "player_name": "Yankuba Minteh",
                  "ranking": 1459
                }
              ]
            }
          },
          "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": 5.30735814265611,
            "bench_appearance_prob": 0.15033446102982317,
            "market_value_adjustment": 0.6685,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection from market-value prior (€24,000,000) scaled to 5.3 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.67)",
              "stats": {
                "saves": 4,
                "goals_prevented": 0.63,
                "rating": 7.1,
                "minutes": 90,
                "total_pass": 30,
                "accurate_pass": 23,
                "total_long_balls": 10,
                "accurate_long_balls": 5,
                "touches": 35,
                "clearances": 1,
                "ball_recovery": 2,
                "high_claims": 1,
                "punches": 0.4,
                "aerial_won": 1,
                "sweeper_actions": 2,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 2.8,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 19
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "saves": 4,
                "goals_prevented": 0.63,
                "rating": 7.1,
                "minutes": 90,
                "total_pass": 30,
                "accurate_pass": 23,
                "total_long_balls": 10,
                "accurate_long_balls": 5,
                "touches": 35,
                "clearances": 1,
                "ball_recovery": 2,
                "high_claims": 1,
                "punches": 0.4,
                "aerial_won": 1,
                "sweeper_actions": 2,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 2.8,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 19
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 5.3 expected minutes (appearance prob 0.15)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0372,
                "rating": 7.1,
                "minutes": 5,
                "total_pass": 2,
                "accurate_pass": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0236,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1651,
                "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.15,
                "bench_expected_minutes": 5.31
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0372,
                "rating": 7.1,
                "minutes": 5,
                "total_pass": 2,
                "accurate_pass": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0236,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1651,
                "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.15,
                "bench_expected_minutes": 5.31
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 14, fifa_overall 78.0)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0372,
                "rating": 7.1,
                "minutes": 5,
                "total_pass": 2,
                "accurate_pass": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0236,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1651,
                "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.15,
                "bench_expected_minutes": 5.31,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "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": 78.0
              }
            }
          ]
        },
        "Levi Colwill": {
          "player_id": 996911,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 6,
          "height": 187,
          "market_value": 55000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 7.2771,
            "minutes": 15,
            "total_pass": 5,
            "accurate_pass": 4,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 7,
            "possession_lost": 1.207,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0019,
            "expected_assists": 0.0037,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 1,
            "total_progression": 0,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.5556,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 89.4,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.12,
            "bench_appearance_probability": 0.25,
            "bench_expected_minutes": 15.17,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "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": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 72,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0013,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 13,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 4,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_goals": 0.0131,
                "expected_assists": 0.0289,
                "total_shots": 1,
                "total_pass": 30,
                "accurate_pass": 28,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 2,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1431,
            "combined_rank_score": 592.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 490.0,
            "sofascore_rating": 6.8667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 695.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "projected_match_rating": 7.2771,
            "source_file": "data/player_rankings.csv",
            "player_name": "Levi Colwill",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Seong-uh Park",
                  "ranking": 1426
                },
                {
                  "player_name": "Umarbek Eshmuradov",
                  "ranking": 1427
                },
                {
                  "player_name": "Thomas Meunier",
                  "ranking": 1428
                },
                {
                  "player_name": "Jacob Murphy",
                  "ranking": 1429
                },
                {
                  "player_name": "Warren Zaïre-Emery",
                  "ranking": 1430
                }
              ],
              "lower": [
                {
                  "player_name": "Fernando de Paul",
                  "ranking": 1432
                },
                {
                  "player_name": "Yoon Jae-woon",
                  "ranking": 1433
                },
                {
                  "player_name": "Nacho Fernández",
                  "ranking": 1434
                },
                {
                  "player_name": "Federico Chiesa",
                  "ranking": 1435
                },
                {
                  "player_name": "Dani Carvajal",
                  "ranking": 1436
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.393,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.393,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 15.16605686531093,
            "bench_appearance_prob": 0.25,
            "market_value_adjustment": 1.102,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.12
            },
            "rationale": "Bench projection scaled from XGBoost D_service (2 historical appearances) to 15.2 expected mins (appearance prob 0.25); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.6037,
                "minutes": 81,
                "total_pass": 26,
                "accurate_pass": 20,
                "duels_won": 4,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 6.5,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.01,
                "expected_assists": 0.02,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1020, quality 0.840)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 7.2771,
                "minutes": 89,
                "total_pass": 28,
                "accurate_pass": 23,
                "duels_won": 5,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 7.1628,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.011,
                "expected_assists": 0.022,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0557)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 7.2771,
                "minutes": 89,
                "total_pass": 28,
                "accurate_pass": 23,
                "duels_won": 5,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 7.1628,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.011,
                "expected_assists": 0.022,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 89.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.12
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 15.2 expected minutes (appearance prob 0.25)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.2771,
                "minutes": 15,
                "total_pass": 5,
                "accurate_pass": 4,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.207,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0019,
                "expected_assists": 0.0037,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 89.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.12,
                "bench_appearance_probability": 0.25,
                "bench_expected_minutes": 15.17
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.2771,
                "minutes": 15,
                "total_pass": 5,
                "accurate_pass": 4,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.207,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0019,
                "expected_assists": 0.0037,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 89.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.12,
                "bench_appearance_probability": 0.25,
                "bench_expected_minutes": 15.17
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 80.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.2771,
                "minutes": 15,
                "total_pass": 5,
                "accurate_pass": 4,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.207,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0019,
                "expected_assists": 0.0037,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 89.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.12,
                "bench_appearance_probability": 0.25,
                "bench_expected_minutes": 15.17,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "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
              }
            }
          ]
        },
        "Malo Gusto": {
          "player_id": 996958,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 27,
          "height": 179,
          "market_value": 36000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 7.2672,
            "minutes": 15,
            "total_pass": 3,
            "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": 1,
            "crosses_accurate": 0,
            "touches": 4,
            "possession_lost": 1.0661,
            "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.0071,
            "expected_assists": 0.0018,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 1,
            "total_progression": 2,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 91.7,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.09,
            "bench_appearance_probability": 0.243,
            "bench_expected_minutes": 14.84,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "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": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 30,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.039,
                "expected_assists": 0.0061,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 16,
                "tackles": 2,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0088,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 6,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 76,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0347,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 20,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2260,
            "combined_rank_score": 826.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 772.0,
            "sofascore_rating": 6.6429,
            "sofascore_appearances": 7.0,
            "fifa_rank": 880.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 7.2672,
            "source_file": "data/player_rankings.csv",
            "player_name": "Malo Gusto",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Son Seung-beom",
                  "ranking": 2255
                },
                {
                  "player_name": "Elbek Otakulov",
                  "ranking": 2256
                },
                {
                  "player_name": "Callum Olusesi",
                  "ranking": 2257
                },
                {
                  "player_name": "Jofre Carreras",
                  "ranking": 2258
                },
                {
                  "player_name": "Mikel Vesga",
                  "ranking": 2259
                }
              ],
              "lower": [
                {
                  "player_name": "Aldrix Jara",
                  "ranking": 2261
                },
                {
                  "player_name": "Yehor Yarmoliuk",
                  "ranking": 2262
                },
                {
                  "player_name": "Chimy Ávila",
                  "ranking": 2263
                },
                {
                  "player_name": "Andrés Martín",
                  "ranking": 2264
                },
                {
                  "player_name": "Brais Méndez",
                  "ranking": 2265
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.331,
          "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",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.331,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 14.84226978299407,
            "bench_appearance_prob": 0.243,
            "market_value_adjustment": 1.0774,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.12
            },
            "rationale": "Bench projection scaled from XGBoost D_service (1 historical appearances) to 14.8 expected mins (appearance prob 0.24); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.7448,
                "minutes": 30,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 25,
                "possession_lost": 6.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.04,
                "expected_assists": 0.01,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0774, quality 0.758)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 7.2672,
                "minutes": 32,
                "total_pass": 19,
                "accurate_pass": 17,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 11,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 6.4647,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0431,
                "expected_assists": 0.0108,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0650)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 7.2672,
                "minutes": 32,
                "total_pass": 19,
                "accurate_pass": 17,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 11,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 6.4647,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0431,
                "expected_assists": 0.0108,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 91.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.09
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 14.8 expected minutes (appearance prob 0.24)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.2672,
                "minutes": 15,
                "total_pass": 3,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.0661,
                "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.0071,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 91.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.09,
                "bench_appearance_probability": 0.243,
                "bench_expected_minutes": 14.84
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.2672,
                "minutes": 15,
                "total_pass": 3,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.0661,
                "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.0071,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 91.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.09,
                "bench_appearance_probability": 0.243,
                "bench_expected_minutes": 14.84
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 79.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.2672,
                "minutes": 15,
                "total_pass": 3,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.0661,
                "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.0071,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 91.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.09,
                "bench_appearance_probability": 0.243,
                "bench_expected_minutes": 14.84,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "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
              }
            }
          ]
        },
        "Moisés Caicedo": {
          "player_id": 987650,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 25,
          "height": 178,
          "market_value": 104000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0086,
            "assists": 0,
            "expected_goals": 0.0335,
            "rating": 7.3296,
            "minutes": 18,
            "total_pass": 0,
            "accurate_pass": 0,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 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": 0,
            "possession_lost": 0.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,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 7.8,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 6.43,
            "bench_appearance_probability": 0.729,
            "bench_expected_minutes": 18.4,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "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": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 14,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 98,
            "combined_rank_score": 95.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 108.0,
            "sofascore_rating": 7.45,
            "sofascore_appearances": 4.0,
            "fifa_rank": 82.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "projected_match_rating": 7.3296,
            "source_file": "data/player_rankings.csv",
            "player_name": "Moisés Caicedo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Carlos Dotor",
                  "ranking": 93
                },
                {
                  "player_name": "Cristhian Martínez",
                  "ranking": 94
                },
                {
                  "player_name": "Luka Stankovski",
                  "ranking": 95
                },
                {
                  "player_name": "Jordan Pickford",
                  "ranking": 96
                },
                {
                  "player_name": "Luke Brattan",
                  "ranking": 97
                }
              ],
              "lower": [
                {
                  "player_name": "Danrlei",
                  "ranking": 99
                },
                {
                  "player_name": "Bruno Guimarães",
                  "ranking": 100
                },
                {
                  "player_name": "Sandro Tonali",
                  "ranking": 101
                },
                {
                  "player_name": "José Sanhueza",
                  "ranking": 102
                },
                {
                  "player_name": "Fedor Lapoukhov",
                  "ranking": 103
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.314,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.314,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 18.4,
            "bench_appearance_prob": 0.729,
            "market_value_adjustment": 1.1184,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 14.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 18.4 expected mins (appearance prob 0.73); FBref playing time empirical prior: 1.0 sub appearances, 14.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0378,
                "assists": 0,
                "expected_goals": 0.0357,
                "rating": 6.554,
                "minutes": 14,
                "total_pass": 2,
                "accurate_pass": 2,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1184, quality 0.895)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0399,
                "rating": 7.3296,
                "minutes": 16,
                "total_pass": 2,
                "accurate_pass": 2,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0072)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0399,
                "rating": 7.3296,
                "minutes": 16,
                "total_pass": 2,
                "accurate_pass": 2,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 18.4 expected minutes (appearance prob 0.73)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0086,
                "assists": 0,
                "expected_goals": 0.0082,
                "rating": 7.3296,
                "minutes": 18,
                "total_pass": 0,
                "accurate_pass": 0,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 18.4
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0086,
                "assists": 0,
                "expected_goals": 0.0082,
                "rating": 7.3296,
                "minutes": 18,
                "total_pass": 0,
                "accurate_pass": 0,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 18.4
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0086,
                "assists": 0,
                "expected_goals": 0.0335,
                "rating": 7.3296,
                "minutes": 18,
                "total_pass": 0,
                "accurate_pass": 0,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 18.4,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "projected_substitution_game_state_adjustment": -1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 2, fifa_overall 86.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0086,
                "assists": 0,
                "expected_goals": 0.0335,
                "rating": 7.3296,
                "minutes": 18,
                "total_pass": 0,
                "accurate_pass": 0,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 18.4,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "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": 86.0
              }
            }
          ]
        },
        "Enzo Fernández": {
          "player_id": 974505,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 8,
          "height": 177,
          "market_value": 97000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0258,
            "assists": 0,
            "expected_goals": 0.074,
            "rating": 7.7741,
            "minutes": 25,
            "total_pass": 15,
            "accurate_pass": 14,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 8,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 18,
            "possession_lost": 2.4837,
            "dispossessed": 1.1177,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 6,
            "total_progression": 18,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 14.4,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.729,
            "bench_expected_minutes": 25.0,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "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": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16363263.0,
              "match_date": "2026-09-05",
              "home_team": "Manchester City",
              "away_team": "Coventry City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 76,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.1263,
                "expected_assists": 0.1198,
                "total_shots": 2,
                "total_pass": 78,
                "accurate_pass": 71,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 25,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0158,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 19,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 176,
            "combined_rank_score": 148.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 210.0,
            "sofascore_rating": 7.18,
            "sofascore_appearances": 5.0,
            "fifa_rank": 87.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "substitute",
            "projected_match_rating": 7.7741,
            "source_file": "data/player_rankings.csv",
            "player_name": "Enzo Fernández",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Reinaldo",
                  "ranking": 171
                },
                {
                  "player_name": "Lautaro Martínez",
                  "ranking": 172
                },
                {
                  "player_name": "João Pedro",
                  "ranking": 173
                },
                {
                  "player_name": "Dostonbek Khamdamov",
                  "ranking": 174
                },
                {
                  "player_name": "Deniz Undav",
                  "ranking": 175
                }
              ],
              "lower": [
                {
                  "player_name": "Rey Manaj",
                  "ranking": 177
                },
                {
                  "player_name": "Seon-min Kim",
                  "ranking": 178
                },
                {
                  "player_name": "Mikel Merino",
                  "ranking": 179
                },
                {
                  "player_name": "Gabriel Honório",
                  "ranking": 180
                },
                {
                  "player_name": "Giovino Flamarion",
                  "ranking": 181
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.378,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.378,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 25.0,
            "bench_appearance_prob": 0.729,
            "market_value_adjustment": 1.1177,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 26.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.02
            },
            "rationale": "Bench projection scaled from XGBoost M_service (2 historical appearances) to 25.0 expected mins (appearance prob 0.73); FBref playing time empirical prior: 1.0 sub appearances, 26.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.083,
                "assists": 0,
                "expected_goals": 0.0584,
                "rating": 6.9557,
                "minutes": 50,
                "total_pass": 50,
                "accurate_pass": 45,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 27,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 60,
                "possession_lost": 8.0,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 57,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1177, quality 0.892)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0928,
                "assists": 0,
                "expected_goals": 0.0653,
                "rating": 7.7741,
                "minutes": 56,
                "total_pass": 55,
                "accurate_pass": 50,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 30,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 67,
                "possession_lost": 8.9414,
                "dispossessed": 1.1177,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 20,
                "total_progression": 64,
                "progressive_carries": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0093)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0928,
                "assists": 0,
                "expected_goals": 0.0653,
                "rating": 7.7741,
                "minutes": 56,
                "total_pass": 55,
                "accurate_pass": 50,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 30,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 67,
                "possession_lost": 8.9414,
                "dispossessed": 1.1177,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 20,
                "total_progression": 64,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.0 expected minutes (appearance prob 0.73)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0258,
                "assists": 0,
                "expected_goals": 0.0181,
                "rating": 7.7741,
                "minutes": 25,
                "total_pass": 15,
                "accurate_pass": 14,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.4837,
                "dispossessed": 1.1177,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 18,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 25.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0258,
                "assists": 0,
                "expected_goals": 0.0181,
                "rating": 7.7741,
                "minutes": 25,
                "total_pass": 15,
                "accurate_pass": 14,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.4837,
                "dispossessed": 1.1177,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 18,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 25.0
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0258,
                "assists": 0,
                "expected_goals": 0.074,
                "rating": 7.7741,
                "minutes": 25,
                "total_pass": 15,
                "accurate_pass": 14,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.4837,
                "dispossessed": 1.1177,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 18,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 25.0,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "projected_substitution_game_state_adjustment": -1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 3, fifa_overall 86.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0258,
                "assists": 0,
                "expected_goals": 0.074,
                "rating": 7.7741,
                "minutes": 25,
                "total_pass": 15,
                "accurate_pass": 14,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.4837,
                "dispossessed": 1.1177,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 18,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 25.0,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "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": 86.0
              }
            }
          ]
        },
        "Emmanuel Emegha": {
          "player_id": 1048333,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 195,
          "market_value": 26000000,
          "stats": {
            "expected_goals": 0.0937,
            "goal_rate": 0.0584,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 0,
            "expected_assists": 0.0339,
            "duels_won": 1,
            "aerial_won": 1,
            "rating": 7.2,
            "minutes": 26,
            "total_pass": 10,
            "accurate_pass": 7,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 4,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 14,
            "possession_lost": 2.8612,
            "dispossessed": 1.3,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 2,
            "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.0718,
            "offsides": 1,
            "ball_carries": 7,
            "total_progression": 17,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.603,
            "bench_expected_minutes": 26.28,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "projected_substitution_game_state_adjustment": -1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 1995,
            "combined_rank_score": 1001.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 765.0,
            "sofascore_rating": 6.65,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1238.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "projected_match_rating": 7.2,
            "source_file": "data/player_rankings.csv",
            "player_name": "Emmanuel Emegha",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Martín Gómez",
                  "ranking": 1990
                },
                {
                  "player_name": "Mihailo Ristić",
                  "ranking": 1991
                },
                {
                  "player_name": "Néiser Villarreal",
                  "ranking": 1992
                },
                {
                  "player_name": "Bruno Rodrigues",
                  "ranking": 1993
                },
                {
                  "player_name": "Rodrigues",
                  "ranking": 1994
                }
              ],
              "lower": [
                {
                  "player_name": "Manuel Ángel Morán",
                  "ranking": 1996
                },
                {
                  "player_name": "Bakhodir Khalilov",
                  "ranking": 1997
                },
                {
                  "player_name": "Abror Khusinov",
                  "ranking": 1998
                },
                {
                  "player_name": "Muhriddin Fazliddinov",
                  "ranking": 1999
                },
                {
                  "player_name": "Miguel Borja",
                  "ranking": 2000
                }
              ]
            }
          },
          "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": 26.27590653284853,
            "bench_appearance_prob": 0.6034502969476605,
            "market_value_adjustment": 0.6858,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€26,000,000) scaled to 26.3 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.69)",
              "stats": {
                "expected_goals": 0.321,
                "goal_rate": 0.2,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.116,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 47,
                "possession_lost": 9.8,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.246,
                "offsides": 1,
                "ball_carries": 24,
                "total_progression": 59,
                "progressive_carries": 6
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.3 expected minutes (appearance prob 0.60)",
              "stats": {
                "expected_goals": 0.0937,
                "goal_rate": 0.0584,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0339,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.2,
                "minutes": 26,
                "total_pass": 10,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 14,
                "possession_lost": 2.8612,
                "dispossessed": 1.3,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "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.0718,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 17,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.603,
                "bench_expected_minutes": 26.28
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0937,
                "goal_rate": 0.0584,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0339,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.2,
                "minutes": 26,
                "total_pass": 10,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 14,
                "possession_lost": 2.8612,
                "dispossessed": 1.3,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "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.0718,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 17,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.603,
                "bench_expected_minutes": 26.28
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 13, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.0937,
                "goal_rate": 0.0584,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0339,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.2,
                "minutes": 26,
                "total_pass": 10,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 14,
                "possession_lost": 2.8612,
                "dispossessed": 1.3,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "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.0718,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 17,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.603,
                "bench_expected_minutes": 26.28,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "projected_substitution_game_state_adjustment": -1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Danny Welbeck": {
          "player_id": 33902,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 18,
          "height": 185,
          "market_value": 3100000,
          "stats": {
            "expected_goals": 0.0353,
            "goal_rate": 0.0297,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.005,
            "key_pass": 0,
            "rating": 6.4183,
            "minutes": 25,
            "total_shots": 0,
            "duels_won": 1,
            "aerial_won": 0,
            "total_pass": 0,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 1,
            "possession_lost": 0.2759,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.559,
            "bench_expected_minutes": 25.3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "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": 16363257.0,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 8,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1703,
            "combined_rank_score": 690.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 719.0,
            "sofascore_rating": 6.6838,
            "sofascore_appearances": 37.0,
            "fifa_rank": 662.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "projected_match_rating": 6.4183,
            "source_file": "data/player_rankings.csv",
            "player_name": "Danny Welbeck",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Matías Cavalleri",
                  "ranking": 1698
                },
                {
                  "player_name": "Arthur Theate",
                  "ranking": 1699
                },
                {
                  "player_name": "Javokhir Kakhramonov",
                  "ranking": 1700
                },
                {
                  "player_name": "Wilson Odobert",
                  "ranking": 1701
                },
                {
                  "player_name": "Aitor Paredes",
                  "ranking": 1702
                }
              ],
              "lower": [
                {
                  "player_name": "Angeliño",
                  "ranking": 1704
                },
                {
                  "player_name": "Park Kyu-Min",
                  "ranking": 1705
                },
                {
                  "player_name": "Valentín Vidal",
                  "ranking": 1706
                },
                {
                  "player_name": "Tyler Adams",
                  "ranking": 1707
                },
                {
                  "player_name": "Ryu Jun-sun",
                  "ranking": 1708
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 25.297143516617773,
            "bench_appearance_prob": 0.5589610689371715,
            "market_value_adjustment": 0.9816,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost F_service (1 historical appearances) to 25.3 expected mins (appearance prob 0.56); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.128,
                "goal_rate": 0.1076,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0182,
                "key_pass": 0,
                "rating": 6.5386,
                "minutes": 8,
                "total_shots": 0,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9816, quality 0.439)",
              "stats": {
                "expected_goals": 0.1257,
                "goal_rate": 0.1056,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0179,
                "key_pass": 0,
                "rating": 6.4183,
                "minutes": 8,
                "total_shots": 0,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.9816,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "expected_goals": 0.1257,
                "goal_rate": 0.1056,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0179,
                "key_pass": 0,
                "rating": 6.4183,
                "minutes": 8,
                "total_shots": 0,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.9816,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0353,
                "goal_rate": 0.0297,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.005,
                "key_pass": 0,
                "rating": 6.4183,
                "minutes": 25,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2759,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0353,
                "goal_rate": 0.0297,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.005,
                "key_pass": 0,
                "rating": 6.4183,
                "minutes": 25,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2759,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 18, fifa_overall 80.0)",
              "stats": {
                "expected_goals": 0.0353,
                "goal_rate": 0.0297,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.005,
                "key_pass": 0,
                "rating": 6.4183,
                "minutes": 25,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2759,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "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
              }
            }
          ]
        }
      },
      "substitutes": {
        "Enzo Fernández": {
          "player_id": 974505,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 8,
          "height": 177,
          "market_value": 97000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0258,
            "assists": 0,
            "expected_goals": 0.074,
            "rating": 7.7741,
            "minutes": 25,
            "total_pass": 15,
            "accurate_pass": 14,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 8,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 18,
            "possession_lost": 2.4837,
            "dispossessed": 1.1177,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 6,
            "total_progression": 18,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 14.4,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.729,
            "bench_expected_minutes": 25.0,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "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": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16363263.0,
              "match_date": "2026-09-05",
              "home_team": "Manchester City",
              "away_team": "Coventry City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 76,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.1263,
                "expected_assists": 0.1198,
                "total_shots": 2,
                "total_pass": 78,
                "accurate_pass": 71,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 25,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0158,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 19,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 176,
            "combined_rank_score": 148.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 210.0,
            "sofascore_rating": 7.18,
            "sofascore_appearances": 5.0,
            "fifa_rank": 87.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "substitute",
            "projected_match_rating": 7.7741,
            "source_file": "data/player_rankings.csv",
            "player_name": "Enzo Fernández",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Reinaldo",
                  "ranking": 171
                },
                {
                  "player_name": "Lautaro Martínez",
                  "ranking": 172
                },
                {
                  "player_name": "João Pedro",
                  "ranking": 173
                },
                {
                  "player_name": "Dostonbek Khamdamov",
                  "ranking": 174
                },
                {
                  "player_name": "Deniz Undav",
                  "ranking": 175
                }
              ],
              "lower": [
                {
                  "player_name": "Rey Manaj",
                  "ranking": 177
                },
                {
                  "player_name": "Seon-min Kim",
                  "ranking": 178
                },
                {
                  "player_name": "Mikel Merino",
                  "ranking": 179
                },
                {
                  "player_name": "Gabriel Honório",
                  "ranking": 180
                },
                {
                  "player_name": "Giovino Flamarion",
                  "ranking": 181
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.378,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.378,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 25.0,
            "bench_appearance_prob": 0.729,
            "market_value_adjustment": 1.1177,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 26.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.02
            },
            "rationale": "Bench projection scaled from XGBoost M_service (2 historical appearances) to 25.0 expected mins (appearance prob 0.73); FBref playing time empirical prior: 1.0 sub appearances, 26.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.083,
                "assists": 0,
                "expected_goals": 0.0584,
                "rating": 6.9557,
                "minutes": 50,
                "total_pass": 50,
                "accurate_pass": 45,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 27,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 60,
                "possession_lost": 8.0,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 57,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1177, quality 0.892)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0928,
                "assists": 0,
                "expected_goals": 0.0653,
                "rating": 7.7741,
                "minutes": 56,
                "total_pass": 55,
                "accurate_pass": 50,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 30,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 67,
                "possession_lost": 8.9414,
                "dispossessed": 1.1177,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 20,
                "total_progression": 64,
                "progressive_carries": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0093)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0928,
                "assists": 0,
                "expected_goals": 0.0653,
                "rating": 7.7741,
                "minutes": 56,
                "total_pass": 55,
                "accurate_pass": 50,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 30,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 67,
                "possession_lost": 8.9414,
                "dispossessed": 1.1177,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 20,
                "total_progression": 64,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.0 expected minutes (appearance prob 0.73)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0258,
                "assists": 0,
                "expected_goals": 0.0181,
                "rating": 7.7741,
                "minutes": 25,
                "total_pass": 15,
                "accurate_pass": 14,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.4837,
                "dispossessed": 1.1177,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 18,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 25.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0258,
                "assists": 0,
                "expected_goals": 0.0181,
                "rating": 7.7741,
                "minutes": 25,
                "total_pass": 15,
                "accurate_pass": 14,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.4837,
                "dispossessed": 1.1177,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 18,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 25.0
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0258,
                "assists": 0,
                "expected_goals": 0.074,
                "rating": 7.7741,
                "minutes": 25,
                "total_pass": 15,
                "accurate_pass": 14,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.4837,
                "dispossessed": 1.1177,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 18,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 25.0,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "projected_substitution_game_state_adjustment": -1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 3, fifa_overall 86.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0258,
                "assists": 0,
                "expected_goals": 0.074,
                "rating": 7.7741,
                "minutes": 25,
                "total_pass": 15,
                "accurate_pass": 14,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 2.4837,
                "dispossessed": 1.1177,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 18,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 14.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 25.0,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "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": 86.0
              }
            }
          ]
        },
        "Moisés Caicedo": {
          "player_id": 987650,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 25,
          "height": 178,
          "market_value": 104000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0086,
            "assists": 0,
            "expected_goals": 0.0335,
            "rating": 7.3296,
            "minutes": 18,
            "total_pass": 0,
            "accurate_pass": 0,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 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": 0,
            "possession_lost": 0.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,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 7.8,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 6.43,
            "bench_appearance_probability": 0.729,
            "bench_expected_minutes": 18.4,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.87,
            "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": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16363249.0,
              "match_date": "2026-08-30",
              "home_team": "Chelsea",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 14,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 98,
            "combined_rank_score": 95.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 108.0,
            "sofascore_rating": 7.45,
            "sofascore_appearances": 4.0,
            "fifa_rank": 82.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "projected_match_rating": 7.3296,
            "source_file": "data/player_rankings.csv",
            "player_name": "Moisés Caicedo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Carlos Dotor",
                  "ranking": 93
                },
                {
                  "player_name": "Cristhian Martínez",
                  "ranking": 94
                },
                {
                  "player_name": "Luka Stankovski",
                  "ranking": 95
                },
                {
                  "player_name": "Jordan Pickford",
                  "ranking": 96
                },
                {
                  "player_name": "Luke Brattan",
                  "ranking": 97
                }
              ],
              "lower": [
                {
                  "player_name": "Danrlei",
                  "ranking": 99
                },
                {
                  "player_name": "Bruno Guimarães",
                  "ranking": 100
                },
                {
                  "player_name": "Sandro Tonali",
                  "ranking": 101
                },
                {
                  "player_name": "José Sanhueza",
                  "ranking": 102
                },
                {
                  "player_name": "Fedor Lapoukhov",
                  "ranking": 103
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.314,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.314,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 18.4,
            "bench_appearance_prob": 0.729,
            "market_value_adjustment": 1.1184,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 14.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 18.4 expected mins (appearance prob 0.73); FBref playing time empirical prior: 1.0 sub appearances, 14.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0378,
                "assists": 0,
                "expected_goals": 0.0357,
                "rating": 6.554,
                "minutes": 14,
                "total_pass": 2,
                "accurate_pass": 2,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1184, quality 0.895)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0399,
                "rating": 7.3296,
                "minutes": 16,
                "total_pass": 2,
                "accurate_pass": 2,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0072)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0399,
                "rating": 7.3296,
                "minutes": 16,
                "total_pass": 2,
                "accurate_pass": 2,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 18.4 expected minutes (appearance prob 0.73)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0086,
                "assists": 0,
                "expected_goals": 0.0082,
                "rating": 7.3296,
                "minutes": 18,
                "total_pass": 0,
                "accurate_pass": 0,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 18.4
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0086,
                "assists": 0,
                "expected_goals": 0.0082,
                "rating": 7.3296,
                "minutes": 18,
                "total_pass": 0,
                "accurate_pass": 0,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 18.4
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 3.82 (squad xG sum 0.9342, xG scale 4.0901)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0086,
                "assists": 0,
                "expected_goals": 0.0335,
                "rating": 7.3296,
                "minutes": 18,
                "total_pass": 0,
                "accurate_pass": 0,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 18.4,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "projected_substitution_game_state_adjustment": -1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 2, fifa_overall 86.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0086,
                "assists": 0,
                "expected_goals": 0.0335,
                "rating": 7.3296,
                "minutes": 18,
                "total_pass": 0,
                "accurate_pass": 0,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 6.43,
                "bench_appearance_probability": 0.729,
                "bench_expected_minutes": 18.4,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.87,
                "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": 86.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 3,
        "expected_goals": 3.82,
        "expected_assists": 0.86,
        "total_shots": 13,
        "shots_on_target": 6,
        "total_passes": 414,
        "interceptions": 12,
        "tackles": 19,
        "avg_rating": 7.36,
        "possession_estimated_pct": 53.1,
        "pressing_actions_per_90": 7.9
      }
    },
    "Hull": {
      "formation": "5-4-1",
      "players": {
        "Oli McBurnie": {
          "player_id": 367228,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 9,
          "height": 188,
          "market_value": 5400000,
          "stats": {
            "expected_goals": 0.1948,
            "goal_rate": 0.1813,
            "goals": 1,
            "shots_on_target": 1,
            "expected_assists": 0.0318,
            "key_pass": 1,
            "rating": 6.6517,
            "minutes": 89,
            "total_shots": 4,
            "duels_won": 10,
            "aerial_won": 2,
            "total_pass": 18,
            "accurate_pass": 10,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 8,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 34,
            "possession_lost": 13.8618,
            "dispossessed": 0.9901,
            "duels_lost": 10,
            "aerial_lost": 7,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "assists": 0,
            "shots_off_target": 3,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 2,
            "clearances": 2,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.4654,
            "offsides": 0,
            "ball_carries": 6,
            "total_progression": 1,
            "progressive_carries": 0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "HIGH",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Jorrel Hato, Wesley Fofana",
            "opponent_faced": "Jorrel Hato, Wesley Fofana",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.3447,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.3823,
                "expected_assists": 0.0505,
                "total_shots": 3,
                "shots_off_target": 3,
                "total_pass": 15,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 2,
                "clearances": 1,
                "aerial_won": 9,
                "duels_won": 13
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0129,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 10,
                "key_pass": 1,
                "aerial_won": 5,
                "duels_won": 9,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.1558,
                "expected_assists": 0.0114,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 18,
                "accurate_pass": 11,
                "key_pass": 2,
                "clearances": 3,
                "aerial_won": 4,
                "duels_won": 7,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3569,
            "combined_rank_score": 1531.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 873.0,
            "sofascore_rating": 6.55,
            "sofascore_appearances": 2.0,
            "fifa_rank": 2189.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "starter",
            "projected_match_rating": 6.6517,
            "source_file": "data/player_rankings.csv",
            "player_name": "Oli McBurnie",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Koni De Winter",
                  "ranking": 3564
                },
                {
                  "player_name": "Luis Henrique",
                  "ranking": 3565
                },
                {
                  "player_name": "Lorenzo Lucca",
                  "ranking": 3566
                },
                {
                  "player_name": "Neil El Aynaoui",
                  "ranking": 3567
                },
                {
                  "player_name": "Santiago Castro",
                  "ranking": 3568
                }
              ],
              "lower": [
                {
                  "player_name": "Philip Zinckernagel",
                  "ranking": 3570
                },
                {
                  "player_name": "Cristian Roldan",
                  "ranking": 3571
                },
                {
                  "player_name": "Joaquín Pereyra",
                  "ranking": 3572
                },
                {
                  "player_name": "Moise Bombito",
                  "ranking": 3573
                },
                {
                  "player_name": "Germán Berterame",
                  "ranking": 3574
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9901,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 3 historical appearances across 6 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.3099,
                "goal_rate": 0.1831,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0321,
                "key_pass": 1,
                "rating": 6.7181,
                "minutes": 90,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 6,
                "total_pass": 19,
                "accurate_pass": 10,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 14.0,
                "dispossessed": 1.0,
                "duels_lost": 10,
                "aerial_lost": 7,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 3,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.47,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 1,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9901, quality 0.467)",
              "stats": {
                "expected_goals": 0.3068,
                "goal_rate": 0.1813,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0318,
                "key_pass": 1,
                "rating": 6.6517,
                "minutes": 89,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 6,
                "total_pass": 18,
                "accurate_pass": 10,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 13.8618,
                "dispossessed": 0.9901,
                "duels_lost": 10,
                "aerial_lost": 7,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 3,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.4654,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 1,
                "progressive_carries": 0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.3068,
                "goal_rate": 0.1813,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0318,
                "key_pass": 1,
                "rating": 6.6517,
                "minutes": 89,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 6,
                "total_pass": 18,
                "accurate_pass": 10,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 13.8618,
                "dispossessed": 0.9901,
                "duels_lost": 10,
                "aerial_lost": 7,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 3,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.4654,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 1,
                "progressive_carries": 0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1978,
                "goal_rate": 0.1813,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0318,
                "key_pass": 1,
                "rating": 6.6517,
                "minutes": 89,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 2,
                "total_pass": 18,
                "accurate_pass": 10,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 13.8618,
                "dispossessed": 0.9901,
                "duels_lost": 10,
                "aerial_lost": 7,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 3,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.4654,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 1,
                "progressive_carries": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jorrel Hato, Wesley Fofana",
                "opponent_faced": "Jorrel Hato, Wesley Fofana",
                "antagonist_source": "attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "expected_goals": 0.1948,
                "goal_rate": 0.1813,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0318,
                "key_pass": 1,
                "rating": 6.6517,
                "minutes": 89,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 2,
                "total_pass": 18,
                "accurate_pass": 10,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 13.8618,
                "dispossessed": 0.9901,
                "duels_lost": 10,
                "aerial_lost": 7,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 3,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.4654,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 1,
                "progressive_carries": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jorrel Hato, Wesley Fofana",
                "opponent_faced": "Jorrel Hato, Wesley Fofana",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 13, fifa_overall 75.0)",
              "stats": {
                "expected_goals": 0.1948,
                "goal_rate": 0.1813,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0318,
                "key_pass": 1,
                "rating": 6.6517,
                "minutes": 89,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 2,
                "total_pass": 18,
                "accurate_pass": 10,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 13.8618,
                "dispossessed": 0.9901,
                "duels_lost": 10,
                "aerial_lost": 7,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 3,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.4654,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 1,
                "progressive_carries": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jorrel Hato, Wesley Fofana",
                "opponent_faced": "Jorrel Hato, Wesley Fofana",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.1948,
                "goal_rate": 0.1813,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0318,
                "key_pass": 1,
                "rating": 6.6517,
                "minutes": 89,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 2,
                "total_pass": 18,
                "accurate_pass": 10,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 13.8618,
                "dispossessed": 0.9901,
                "duels_lost": 10,
                "aerial_lost": 7,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 3,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.4654,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 1,
                "progressive_carries": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jorrel Hato, Wesley Fofana",
                "opponent_faced": "Jorrel Hato, Wesley Fofana",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.3447,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.1948,
                "goal_rate": 0.1813,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0318,
                "key_pass": 1,
                "rating": 6.6517,
                "minutes": 89,
                "total_shots": 4,
                "duels_won": 10,
                "aerial_won": 2,
                "total_pass": 18,
                "accurate_pass": 10,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 13.8618,
                "dispossessed": 0.9901,
                "duels_lost": 10,
                "aerial_lost": 7,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 3,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.4654,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 1,
                "progressive_carries": 0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Jorrel Hato, Wesley Fofana",
                "opponent_faced": "Jorrel Hato, Wesley Fofana",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.3447,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            }
          ]
        },
        "Elliot Stroud": {
          "player_id": 1383695,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 21,
          "height": 185,
          "market_value": 8400000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0423,
            "assists": 0,
            "expected_goals": 0.0762,
            "rating": 6.7317,
            "minutes": 64,
            "total_pass": 9,
            "accurate_pass": 6,
            "ball_recovery": 3,
            "duels_won": 3,
            "total_shots": 1,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 4,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 15,
            "possession_lost": 5.3356,
            "dispossessed": 0.0,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 2,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 3,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 6,
            "total_progression": 48,
            "progressive_carries": 2,
            "offsides": 0,
            "yellowCards": 0.7143,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 71.1,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.41,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.236,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
            "numerical_situation": "1v1",
            "opponent_defenders": "Morgan Rogers",
            "opponent_faced": "Morgan Rogers",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.036,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 63,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0411,
                "expected_assists": 0.0075,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 9,
                "accurate_pass": 6,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 59,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0141,
                "expected_assists": 0.0059,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 9,
                "accurate_pass": 6,
                "interceptions": 1,
                "clearances": 1,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 71,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0283,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 6,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3856,
            "combined_rank_score": 1851.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 765.0,
            "sofascore_rating": 6.65,
            "sofascore_appearances": 2.0,
            "fifa_rank": 2937.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 6.7317,
            "source_file": "data/player_rankings.csv",
            "player_name": "Elliot Stroud",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Tomasz Kędziora",
                  "ranking": 3851
                },
                {
                  "player_name": "Kévin Danois",
                  "ranking": 3852
                },
                {
                  "player_name": "Gauthier Hein",
                  "ranking": 3853
                },
                {
                  "player_name": "Keito Nakamura",
                  "ranking": 3854
                },
                {
                  "player_name": "Jeffrey Gouweleeuw",
                  "ranking": 3855
                }
              ],
              "lower": [
                {
                  "player_name": "Rani Khedira",
                  "ranking": 3857
                },
                {
                  "player_name": "Lee Jae Sung",
                  "ranking": 3858
                },
                {
                  "player_name": "Ellyes Skhiri",
                  "ranking": 3859
                },
                {
                  "player_name": "Maximilian Eggestein",
                  "ranking": 3860
                },
                {
                  "player_name": "Dani Raba",
                  "ranking": 3861
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.451,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.451,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.001,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 128.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.7,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.0933
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Hull City, rel: 0.09, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0422,
                "assists": 0,
                "expected_goals": 0.0773,
                "rating": 6.7247,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.33,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0010, quality 0.503)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0774,
                "rating": 6.7317,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.3356,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0379)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0774,
                "rating": 6.7317,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.3356,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.7143,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 71.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.41
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0774,
                "rating": 6.7317,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.3356,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.7143,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 71.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.41
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0774,
                "rating": 6.7317,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.3356,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.7143,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 71.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.41,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.236,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0762,
                "rating": 6.7317,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.3356,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.7143,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 71.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.41,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.236,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 9, fifa_overall 74.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0762,
                "rating": 6.7317,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.3356,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.7143,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 71.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.41,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.236,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0762,
                "rating": 6.7317,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.3356,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.7143,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 71.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.41,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.236,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.036,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0423,
                "assists": 0,
                "expected_goals": 0.0762,
                "rating": 6.7317,
                "minutes": 64,
                "total_pass": 9,
                "accurate_pass": 6,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 15,
                "possession_lost": 5.3356,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 48,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.7143,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 71.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.41,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.236,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.036,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            }
          ]
        },
        "Lucas Gourna-Douath": {
          "player_id": 1012657,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 29,
          "height": 185,
          "market_value": 5600000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0343,
            "assists": 0,
            "expected_goals": 0.0344,
            "rating": 6.6962,
            "minutes": 63,
            "total_pass": 19,
            "accurate_pass": 13,
            "ball_recovery": 3,
            "duels_won": 4,
            "total_shots": 1,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 8,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 6,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 30,
            "possession_lost": 8.4223,
            "dispossessed": 0.9909,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 2,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 6,
            "total_progression": 8,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 25.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 2.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.221,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
            "numerical_situation": "1v1",
            "opponent_defenders": "Morgan Rogers",
            "opponent_faced": "Morgan Rogers",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0248,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 70.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 82,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0096,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 16,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 45,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0103,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 10,
                "tackles": 3,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 5130,
            "combined_rank_score": 3327.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 578.0,
            "sofascore_rating": 6.8,
            "sofascore_appearances": 1.0,
            "fifa_rank": 6077.0,
            "fifa_overall": 70.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "starter",
            "projected_match_rating": 6.6962,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Gourna-Douath",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Abdelhamid Aït Boudlal",
                  "ranking": 5125
                },
                {
                  "player_name": "Yacine Titraoui",
                  "ranking": 5126
                },
                {
                  "player_name": "Fabian Nürnberger",
                  "ranking": 5127
                },
                {
                  "player_name": "Yordan Osorio",
                  "ranking": 5128
                },
                {
                  "player_name": "Mathys Detourbet",
                  "ranking": 5129
                }
              ],
              "lower": [
                {
                  "player_name": "Rayan Fofana",
                  "ranking": 5131
                },
                {
                  "player_name": "Khalis Merah",
                  "ranking": 5132
                },
                {
                  "player_name": "Vincent Sasso",
                  "ranking": 5133
                },
                {
                  "player_name": "Ulisses Garcia",
                  "ranking": 5134
                },
                {
                  "player_name": "Lionel Mpasi",
                  "ranking": 5135
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.38,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.38,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9909,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 45.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0333
            },
            "rationale": "XGBoost regressor (M_service) evaluated 2 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Hull City, rel: 0.03, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0346,
                "assists": 0,
                "expected_goals": 0.0352,
                "rating": 6.7579,
                "minutes": 64,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.5,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_won": 2,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9909, quality 0.470)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0349,
                "rating": 6.6962,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.4223,
                "dispossessed": 0.9909,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0155)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0349,
                "rating": 6.6962,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.4223,
                "dispossessed": 0.9909,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0349,
                "rating": 6.6962,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.4223,
                "dispossessed": 0.9909,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0349,
                "rating": 6.6962,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.4223,
                "dispossessed": 0.9909,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.221,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0344,
                "rating": 6.6962,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.4223,
                "dispossessed": 0.9909,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.221,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 70.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0344,
                "rating": 6.6962,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.4223,
                "dispossessed": 0.9909,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.221,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0344,
                "rating": 6.6962,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.4223,
                "dispossessed": 0.9909,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.221,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0248,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0344,
                "rating": 6.6962,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 13,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 8.4223,
                "dispossessed": 0.9909,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 6,
                "total_progression": 8,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 25.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.221,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morgan Rogers",
                "opponent_faced": "Morgan Rogers",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0248,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            }
          ]
        },
        "Regan Slater": {
          "player_id": 864474,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 27,
          "height": 173,
          "market_value": 5100000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0547,
            "assists": 0,
            "expected_goals": 0.0541,
            "rating": 6.7986,
            "minutes": 89,
            "total_pass": 24,
            "accurate_pass": 19,
            "ball_recovery": 3,
            "duels_won": 4,
            "total_shots": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 11,
            "accurate_own_half_passes": 9,
            "total_opp_half_passes": 14,
            "accurate_opp_half_passes": 10,
            "crosses_total": 2,
            "crosses_accurate": 2,
            "touches": 36,
            "possession_lost": 8.5748,
            "dispossessed": 0.989,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 2,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.0593,
            "ball_carries": 9,
            "total_progression": 20,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.5,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.5,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.6,
            "crosses_attempted": 2.1,
            "duel_win_rate": 0.239,
            "pressing_faced": "HIGH",
            "matchup_zone": "LM vs CB",
            "numerical_situation": "1v1",
            "opponent_defenders": "Jorrel Hato",
            "opponent_faced": "Jorrel Hato",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0676,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.0403,
                "expected_assists": 0.0148,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 24,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0063,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 20,
                "tackles": 4,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 1,
                "expected_assists": 0.4411,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 19,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4157,
            "combined_rank_score": 2168.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 391.0,
            "sofascore_rating": 6.95,
            "sofascore_appearances": 2.0,
            "fifa_rank": 3946.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "starter",
            "projected_match_rating": 6.7986,
            "source_file": "data/player_rankings.csv",
            "player_name": "Regan Slater",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ousseynou Niang",
                  "ranking": 4152
                },
                {
                  "player_name": "Joris Kayembe",
                  "ranking": 4153
                },
                {
                  "player_name": "Mujaid",
                  "ranking": 4154
                },
                {
                  "player_name": "Adriano Bertaccini",
                  "ranking": 4155
                },
                {
                  "player_name": "Matthieu Epolo",
                  "ranking": 4156
                }
              ],
              "lower": [
                {
                  "player_name": "Abdelkahar Kadri",
                  "ranking": 4158
                },
                {
                  "player_name": "Arsen Zakharyan",
                  "ranking": 4159
                },
                {
                  "player_name": "Nicolò Tresoldi",
                  "ranking": 4160
                },
                {
                  "player_name": "Santiago Arias",
                  "ranking": 4161
                },
                {
                  "player_name": "Carlos Forbs",
                  "ranking": 4162
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.989,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.0,
              "assists_per90": 0.5,
              "shots_per90": 0.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Hull City, rel: 0.13, gls/90: 0.0, ast/90: 0.5)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0553,
                "assists": 0,
                "expected_goals": 0.0555,
                "rating": 6.8741,
                "minutes": 90,
                "total_pass": 25,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.67,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.06,
                "ball_carries": 9,
                "total_progression": 21,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9890, quality 0.463)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0547,
                "assists": 0,
                "expected_goals": 0.0549,
                "rating": 6.7986,
                "minutes": 89,
                "total_pass": 24,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.5748,
                "dispossessed": 0.989,
                "duels_lost": 3,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0593,
                "ball_carries": 9,
                "total_progression": 20,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0547,
                "assists": 0,
                "expected_goals": 0.0549,
                "rating": 6.7986,
                "minutes": 89,
                "total_pass": 24,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.5748,
                "dispossessed": 0.989,
                "duels_lost": 3,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0593,
                "ball_carries": 9,
                "total_progression": 20,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0547,
                "assists": 0,
                "expected_goals": 0.0549,
                "rating": 6.7986,
                "minutes": 89,
                "total_pass": 24,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.5748,
                "dispossessed": 0.989,
                "duels_lost": 3,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0593,
                "ball_carries": 9,
                "total_progression": 20,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0547,
                "assists": 0,
                "expected_goals": 0.0549,
                "rating": 6.7986,
                "minutes": 89,
                "total_pass": 24,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.5748,
                "dispossessed": 0.989,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0593,
                "ball_carries": 9,
                "total_progression": 20,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.239,
                "pressing_faced": "HIGH",
                "matchup_zone": "LM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0547,
                "assists": 0,
                "expected_goals": 0.0541,
                "rating": 6.7986,
                "minutes": 89,
                "total_pass": 24,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.5748,
                "dispossessed": 0.989,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0593,
                "ball_carries": 9,
                "total_progression": 20,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.239,
                "pressing_faced": "HIGH",
                "matchup_zone": "LM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 14, fifa_overall 72.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0547,
                "assists": 0,
                "expected_goals": 0.0541,
                "rating": 6.7986,
                "minutes": 89,
                "total_pass": 24,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.5748,
                "dispossessed": 0.989,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0593,
                "ball_carries": 9,
                "total_progression": 20,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.239,
                "pressing_faced": "HIGH",
                "matchup_zone": "LM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0547,
                "assists": 0,
                "expected_goals": 0.0541,
                "rating": 6.7986,
                "minutes": 89,
                "total_pass": 24,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.5748,
                "dispossessed": 0.989,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0593,
                "ball_carries": 9,
                "total_progression": 20,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.239,
                "pressing_faced": "HIGH",
                "matchup_zone": "LM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0676,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0547,
                "assists": 0,
                "expected_goals": 0.0541,
                "rating": 6.7986,
                "minutes": 89,
                "total_pass": 24,
                "accurate_pass": 19,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 8.5748,
                "dispossessed": 0.989,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0593,
                "ball_carries": 9,
                "total_progression": 20,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.239,
                "pressing_faced": "HIGH",
                "matchup_zone": "LM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0676,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            }
          ]
        },
        "Mohamed Belloumi": {
          "player_id": 1125839,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 10,
          "height": 177,
          "market_value": 5700000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0454,
            "assists": 0,
            "expected_goals": 0.0975,
            "rating": 6.7246,
            "minutes": 84,
            "total_pass": 14,
            "accurate_pass": 10,
            "ball_recovery": 3,
            "duels_won": 5,
            "total_shots": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 6,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 33,
            "possession_lost": 11.2307,
            "dispossessed": 0.9912,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 3,
            "tackles_won": 2,
            "tackles": 3,
            "clearances": 1,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 1,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.0396,
            "ball_carries": 9,
            "total_progression": 40,
            "progressive_carries": 1,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.7,
            "crosses_attempted": 2.1,
            "duel_win_rate": 0.258,
            "pressing_faced": "HIGH",
            "matchup_zone": "RM vs CB",
            "numerical_situation": "1v1",
            "opponent_defenders": "Jorrel Hato",
            "opponent_faced": "Jorrel Hato",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0772,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 82,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0295,
                "expected_assists": 0.012,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 13,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 6,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 83,
                "rating": 6.7,
                "assists": 1,
                "expected_goals": 0.1161,
                "expected_assists": 0.0167,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 13,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.048,
                "expected_assists": 0.0331,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 16,
                "accurate_pass": 11,
                "tackles": 4,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3983,
            "combined_rank_score": 1960.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 641.0,
            "sofascore_rating": 6.75,
            "sofascore_appearances": 2.0,
            "fifa_rank": 3279.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "projected_match_rating": 6.7246,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mohamed Belloumi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Freddie Potts",
                  "ranking": 3978
                },
                {
                  "player_name": "Chupe",
                  "ranking": 3979
                },
                {
                  "player_name": "Bigas",
                  "ranking": 3980
                },
                {
                  "player_name": "Pablo Ibáñez",
                  "ranking": 3981
                },
                {
                  "player_name": "Jonny",
                  "ranking": 3982
                }
              ],
              "lower": [
                {
                  "player_name": "Jack Hendry",
                  "ranking": 3984
                },
                {
                  "player_name": "Areso",
                  "ranking": 3985
                },
                {
                  "player_name": "Gorosabel",
                  "ranking": 3986
                },
                {
                  "player_name": "Mateo Carabajal",
                  "ranking": 3987
                },
                {
                  "player_name": "Riquelme",
                  "ranking": 3988
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9912,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0458,
                "assists": 0,
                "expected_goals": 0.0999,
                "rating": 6.784,
                "minutes": 85,
                "total_pass": 14,
                "accurate_pass": 10,
                "ball_recovery": 3,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 11.33,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.04,
                "ball_carries": 9,
                "total_progression": 40,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9912, quality 0.471)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0454,
                "assists": 0,
                "expected_goals": 0.099,
                "rating": 6.7246,
                "minutes": 84,
                "total_pass": 14,
                "accurate_pass": 10,
                "ball_recovery": 3,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 11.2307,
                "dispossessed": 0.9912,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0396,
                "ball_carries": 9,
                "total_progression": 40,
                "progressive_carries": 1
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0454,
                "assists": 0,
                "expected_goals": 0.099,
                "rating": 6.7246,
                "minutes": 84,
                "total_pass": 14,
                "accurate_pass": 10,
                "ball_recovery": 3,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 11.2307,
                "dispossessed": 0.9912,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0396,
                "ball_carries": 9,
                "total_progression": 40,
                "progressive_carries": 1
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0454,
                "assists": 0,
                "expected_goals": 0.099,
                "rating": 6.7246,
                "minutes": 84,
                "total_pass": 14,
                "accurate_pass": 10,
                "ball_recovery": 3,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 11.2307,
                "dispossessed": 0.9912,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0396,
                "ball_carries": 9,
                "total_progression": 40,
                "progressive_carries": 1,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.7,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.258,
                "pressing_faced": "HIGH",
                "matchup_zone": "RM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0454,
                "assists": 0,
                "expected_goals": 0.0975,
                "rating": 6.7246,
                "minutes": 84,
                "total_pass": 14,
                "accurate_pass": 10,
                "ball_recovery": 3,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 11.2307,
                "dispossessed": 0.9912,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0396,
                "ball_carries": 9,
                "total_progression": 40,
                "progressive_carries": 1,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.7,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.258,
                "pressing_faced": "HIGH",
                "matchup_zone": "RM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 73.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0454,
                "assists": 0,
                "expected_goals": 0.0975,
                "rating": 6.7246,
                "minutes": 84,
                "total_pass": 14,
                "accurate_pass": 10,
                "ball_recovery": 3,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 11.2307,
                "dispossessed": 0.9912,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0396,
                "ball_carries": 9,
                "total_progression": 40,
                "progressive_carries": 1,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.7,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.258,
                "pressing_faced": "HIGH",
                "matchup_zone": "RM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0454,
                "assists": 0,
                "expected_goals": 0.0975,
                "rating": 6.7246,
                "minutes": 84,
                "total_pass": 14,
                "accurate_pass": 10,
                "ball_recovery": 3,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 11.2307,
                "dispossessed": 0.9912,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0396,
                "ball_carries": 9,
                "total_progression": 40,
                "progressive_carries": 1,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.7,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.258,
                "pressing_faced": "HIGH",
                "matchup_zone": "RM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0772,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0454,
                "assists": 0,
                "expected_goals": 0.0975,
                "rating": 6.7246,
                "minutes": 84,
                "total_pass": 14,
                "accurate_pass": 10,
                "ball_recovery": 3,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 11.2307,
                "dispossessed": 0.9912,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0396,
                "ball_carries": 9,
                "total_progression": 40,
                "progressive_carries": 1,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.7,
                "crosses_attempted": 2.1,
                "duel_win_rate": 0.258,
                "pressing_faced": "HIGH",
                "matchup_zone": "RM vs CB",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jorrel Hato",
                "opponent_faced": "Jorrel Hato",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0772,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              }
            }
          ]
        },
        "Ryan Giles": {
          "player_id": 931304,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 3,
          "height": 179,
          "market_value": 10900000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 2,
            "aerial_won": 1,
            "rating": 6.8351,
            "minutes": 89,
            "total_pass": 19,
            "accurate_pass": 15,
            "duels_won": 3,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 8,
            "crosses_total": 7,
            "crosses_accurate": 1,
            "touches": 39,
            "possession_lost": 14.1385,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 2,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0199,
            "expected_assists": 0.0606,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 1,
            "xgot": 0.0,
            "ball_carries": 13,
            "total_progression": 99,
            "progressive_carries": 3,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 96.7,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.55,
            "tackles_in_zone": 2.0,
            "tackles_won_in_zone": 1.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.466,
            "opponent_faced": "Pedro Neto",
            "pressing_zone": "RWB vs LWB",
            "matchup_zone": "RWB vs LWB",
            "antagonist_source": "defensive_duel, attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0211,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0414,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 15,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.075,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 85,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.021,
                "expected_assists": 0.0733,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 11,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4101,
            "combined_rank_score": 2088.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 229.0,
            "sofascore_rating": 7.15,
            "sofascore_appearances": 2.0,
            "fifa_rank": 3948.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "projected_match_rating": 6.8351,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ryan Giles",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Kaine Kesler-Hayden",
                  "ranking": 4096
                },
                {
                  "player_name": "Luke Woolfenden",
                  "ranking": 4097
                },
                {
                  "player_name": "Adam Smith",
                  "ranking": 4098
                },
                {
                  "player_name": "Dayne St. Clair",
                  "ranking": 4099
                },
                {
                  "player_name": "Kieffer Moore",
                  "ranking": 4100
                }
              ],
              "lower": [
                {
                  "player_name": "Alex Tóth",
                  "ranking": 4102
                },
                {
                  "player_name": "Victor Torp",
                  "ranking": 4103
                },
                {
                  "player_name": "Dro Fernández",
                  "ranking": 4104
                },
                {
                  "player_name": "Agustín Sández",
                  "ranking": 4105
                },
                {
                  "player_name": "Axel Tuanzebe",
                  "ranking": 4106
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0099,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 174.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.52,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1267
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Hull City, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.7682,
                "minutes": 88,
                "total_pass": 18,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.02,
                "expected_assists": 0.06,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 98,
                "progressive_carries": 3,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0099, quality 0.533)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8351,
                "minutes": 89,
                "total_pass": 19,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.1385,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0202,
                "expected_assists": 0.0606,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 99,
                "progressive_carries": 3,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0515)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8351,
                "minutes": 89,
                "total_pass": 19,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.1385,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0202,
                "expected_assists": 0.0606,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 99,
                "progressive_carries": 3,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 96.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.55
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8351,
                "minutes": 89,
                "total_pass": 19,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.1385,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0202,
                "expected_assists": 0.0606,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 99,
                "progressive_carries": 3,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 96.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.55
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8351,
                "minutes": 89,
                "total_pass": 19,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.1385,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0202,
                "expected_assists": 0.0606,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 99,
                "progressive_carries": 3,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 96.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.55,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.466,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "RWB vs LWB",
                "matchup_zone": "RWB vs LWB",
                "antagonist_source": "defensive_duel, attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8351,
                "minutes": 89,
                "total_pass": 19,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.1385,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0199,
                "expected_assists": 0.0606,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 99,
                "progressive_carries": 3,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 96.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.55,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.466,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "RWB vs LWB",
                "matchup_zone": "RWB vs LWB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 72.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8351,
                "minutes": 89,
                "total_pass": 19,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.1385,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0199,
                "expected_assists": 0.0606,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 99,
                "progressive_carries": 3,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 96.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.55,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.466,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "RWB vs LWB",
                "matchup_zone": "RWB vs LWB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8351,
                "minutes": 89,
                "total_pass": 19,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.1385,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0199,
                "expected_assists": 0.0606,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 99,
                "progressive_carries": 3,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 96.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.55,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.466,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "RWB vs LWB",
                "matchup_zone": "RWB vs LWB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0211,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8351,
                "minutes": 89,
                "total_pass": 19,
                "accurate_pass": 15,
                "duels_won": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 7,
                "crosses_accurate": 1,
                "touches": 39,
                "possession_lost": 14.1385,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0199,
                "expected_assists": 0.0606,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 1,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 99,
                "progressive_carries": 3,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 96.7,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.55,
                "tackles_in_zone": 2.0,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.466,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "RWB vs LWB",
                "matchup_zone": "RWB vs LWB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0211,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            }
          ]
        },
        "John Egan": {
          "player_id": 100578,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 15,
          "height": 185,
          "market_value": 970000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 1,
            "rating": 6.6384,
            "minutes": 88,
            "total_pass": 26,
            "accurate_pass": 19,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 16,
            "accurate_own_half_passes": 15,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 4,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 41,
            "possession_lost": 6.8686,
            "dispossessed": 0.9812,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 8,
            "total_progression": 26,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.5,
            "tackles_in_zone": 1.9,
            "tackles_won_in_zone": 1.2,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.337,
            "opponent_faced": "João Pedro",
            "pressing_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
            "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.017,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 13,
                "tackles": 3,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0034,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 20,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 10,
                "aerial_won": 5,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 25,
                "tackles": 1,
                "clearances": 17,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4038,
            "combined_rank_score": 2020.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 108.0,
            "sofascore_rating": 7.45,
            "sofascore_appearances": 2.0,
            "fifa_rank": 3933.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 6.6384,
            "source_file": "data/player_rankings.csv",
            "player_name": "John Egan",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Matias Moreno",
                  "ranking": 4033
                },
                {
                  "player_name": "Fresneda",
                  "ranking": 4034
                },
                {
                  "player_name": "Leonardo Lelo",
                  "ranking": 4035
                },
                {
                  "player_name": "Harrison Armstrong",
                  "ranking": 4036
                },
                {
                  "player_name": "Gastón Benedetti",
                  "ranking": 4037
                }
              ],
              "lower": [
                {
                  "player_name": "Vitalii Buialskii",
                  "ranking": 4039
                },
                {
                  "player_name": "Raul Florucz",
                  "ranking": 4040
                },
                {
                  "player_name": "Nahuel Guzmán",
                  "ranking": 4041
                },
                {
                  "player_name": "Lucas Ocampos",
                  "ranking": 4042
                },
                {
                  "player_name": "Oussama Idrissi",
                  "ranking": 4043
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Hull City, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.7654,
                "minutes": 90,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 7.0,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6384,
                "minutes": 88,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 6.8686,
                "dispossessed": 0.9812,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6384,
                "minutes": 88,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 6.8686,
                "dispossessed": 0.9812,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6384,
                "minutes": 88,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 6.8686,
                "dispossessed": 0.9812,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6384,
                "minutes": 88,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 6.8686,
                "dispossessed": 0.9812,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.337,
                "opponent_faced": "João Pedro",
                "pressing_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6384,
                "minutes": 88,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 6.8686,
                "dispossessed": 0.9812,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.337,
                "opponent_faced": "João Pedro",
                "pressing_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 17, fifa_overall 72.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6384,
                "minutes": 88,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 6.8686,
                "dispossessed": 0.9812,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.337,
                "opponent_faced": "João Pedro",
                "pressing_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6384,
                "minutes": 88,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 6.8686,
                "dispossessed": 0.9812,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.337,
                "opponent_faced": "João Pedro",
                "pressing_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.017,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6384,
                "minutes": 88,
                "total_pass": 26,
                "accurate_pass": 19,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 6.8686,
                "dispossessed": 0.9812,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 26,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.5,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.337,
                "opponent_faced": "João Pedro",
                "pressing_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "matchup_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.017,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            }
          ]
        },
        "Semi Ajayi": {
          "player_id": 307274,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 6,
          "height": 193,
          "market_value": 650000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "rating": 6.5952,
            "minutes": 80,
            "total_pass": 21,
            "accurate_pass": 18,
            "duels_won": 3,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 11,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 8,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 32,
            "possession_lost": 3.9249,
            "dispossessed": 0.9812,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.9631,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.5024,
            "expected_assists": 0.0,
            "total_shots": 1,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.9518,
            "ball_carries": 9,
            "total_progression": 35,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 1.0,
            "minutesPct": 85.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.76,
            "opponent_faced": "João Pedro",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.2482,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 70.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.004,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 23,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0037,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 20,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 64,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.523,
                "expected_assists": 0.0016,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 15,
                "accurate_pass": 13,
                "interceptions": 2,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4764,
            "combined_rank_score": 2846.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 122.0,
            "sofascore_rating": 7.4,
            "sofascore_appearances": 2.0,
            "fifa_rank": 5571.0,
            "fifa_overall": 70.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "starter",
            "projected_match_rating": 6.5952,
            "source_file": "data/player_rankings.csv",
            "player_name": "Semi Ajayi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mark Delgado",
                  "ranking": 4759
                },
                {
                  "player_name": "Daniel Cataño",
                  "ranking": 4760
                },
                {
                  "player_name": "Ryan Gauld",
                  "ranking": 4761
                },
                {
                  "player_name": "Marcus Ingvartsen",
                  "ranking": 4762
                },
                {
                  "player_name": "Junior Alonso",
                  "ranking": 4763
                }
              ],
              "lower": [
                {
                  "player_name": "Gerardo Arteaga",
                  "ranking": 4765
                },
                {
                  "player_name": "Hirving Lozano",
                  "ranking": 4766
                },
                {
                  "player_name": "Mauro Silveira",
                  "ranking": 4767
                },
                {
                  "player_name": "Manu García",
                  "ranking": 4768
                },
                {
                  "player_name": "Ewen Jaouen",
                  "ranking": 4769
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.454,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.454,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 153.0,
              "goals_per90": 0.5882352941176471,
              "assists_per90": 0.0,
              "shots_per90": 0.59,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.1133
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Hull City, rel: 0.11, gls/90: 0.5882352941176471, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7213,
                "minutes": 81,
                "total_pass": 22,
                "accurate_pass": 19,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 33,
                "possession_lost": 4.0,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.52,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.97,
                "ball_carries": 10,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5952,
                "minutes": 80,
                "total_pass": 21,
                "accurate_pass": 18,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 3.9249,
                "dispossessed": 0.9812,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.9812,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.5102,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.9518,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0460)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5952,
                "minutes": 80,
                "total_pass": 21,
                "accurate_pass": 18,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 3.9249,
                "dispossessed": 0.9812,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.9631,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.5102,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.9518,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 1.0,
                "minutesPct": 85.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.76
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5952,
                "minutes": 80,
                "total_pass": 21,
                "accurate_pass": 18,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 3.9249,
                "dispossessed": 0.9812,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.9631,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.5102,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.9518,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 1.0,
                "minutesPct": 85.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.76
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5952,
                "minutes": 80,
                "total_pass": 21,
                "accurate_pass": 18,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 3.9249,
                "dispossessed": 0.9812,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.9631,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.5102,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.9518,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 1.0,
                "minutesPct": 85.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.76,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5952,
                "minutes": 80,
                "total_pass": 21,
                "accurate_pass": 18,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 3.9249,
                "dispossessed": 0.9812,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.9631,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.5024,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.9518,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 1.0,
                "minutesPct": 85.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.76,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 18, fifa_overall 70.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5952,
                "minutes": 80,
                "total_pass": 21,
                "accurate_pass": 18,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 3.9249,
                "dispossessed": 0.9812,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.9631,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.5024,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.9518,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 1.0,
                "minutesPct": 85.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.76,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5952,
                "minutes": 80,
                "total_pass": 21,
                "accurate_pass": 18,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 3.9249,
                "dispossessed": 0.9812,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.9631,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.5024,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.9518,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 1.0,
                "minutesPct": 85.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.76,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.2482,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5952,
                "minutes": 80,
                "total_pass": 21,
                "accurate_pass": 18,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 3.9249,
                "dispossessed": 0.9812,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.9631,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.5024,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.9518,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 1.0,
                "minutesPct": 85.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.76,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.2482,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            }
          ]
        },
        "Nobel Mendy": {
          "player_id": 1458073,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 32,
          "height": 187,
          "market_value": 7700000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "rating": 6.7325,
            "minutes": 65,
            "total_pass": 23,
            "accurate_pass": 19,
            "duels_won": 2,
            "total_long_balls": 5,
            "accurate_long_balls": 2,
            "total_own_half_passes": 16,
            "accurate_own_half_passes": 14,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 5,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 39,
            "possession_lost": 4.9926,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 1,
            "goal_rate": 0.9904,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0984,
            "expected_assists": 0.0,
            "total_shots": 2,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.2297,
            "ball_carries": 11,
            "total_progression": 42,
            "progressive_carries": 1,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.5,
            "minutesPct": 67.2,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.49,
            "opponent_faced": "João Pedro",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.1486,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 71,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0258,
                "expected_assists": 0.0017,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 24,
                "accurate_pass": 18,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 4,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 59,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.0107,
                "expected_assists": 0.0028,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 27,
                "accurate_pass": 21,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 64,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.2783,
                "expected_assists": 0.0017,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 19,
                "accurate_pass": 18,
                "clearances": 12,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3293,
            "combined_rank_score": 1240.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 62.0,
            "sofascore_rating": 7.65,
            "sofascore_appearances": 2.0,
            "fifa_rank": 2419.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "projected_match_rating": 6.7325,
            "source_file": "data/player_rankings.csv",
            "player_name": "Nobel Mendy",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Brooke Norton-Cuffy",
                  "ranking": 3288
                },
                {
                  "player_name": "Brenden Aaronson",
                  "ranking": 3289
                },
                {
                  "player_name": "Guruzeta",
                  "ranking": 3290
                },
                {
                  "player_name": "Igor Matanović",
                  "ranking": 3291
                },
                {
                  "player_name": "Ionuț Andrei Radu",
                  "ranking": 3292
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Zetterer",
                  "ranking": 3294
                },
                {
                  "player_name": "Lukas Nmecha",
                  "ranking": 3295
                },
                {
                  "player_name": "Ruslan Malinovskyi",
                  "ranking": 3296
                },
                {
                  "player_name": "Ibrahim Mbaye",
                  "ranking": 3297
                },
                {
                  "player_name": "Unai Núñez",
                  "ranking": 3298
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.451,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.451,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9985,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 121.0,
              "goals_per90": 0.7692307692307692,
              "assists_per90": 0.0,
              "shots_per90": 1.49,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.0867
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Hull City, rel: 0.09, gls/90: 0.7692307692307692, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7425,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.23,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "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,
                "rating": 6.7325,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.9926,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.9985,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0999,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.2297,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0352)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7325,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.9926,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.9904,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0999,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.2297,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 67.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.49
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7325,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.9926,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.9904,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0999,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.2297,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 67.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.49
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7325,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.9926,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.9904,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0999,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.2297,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 67.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.49,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7325,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.9926,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.9904,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0984,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.2297,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 67.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.49,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 75.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7325,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.9926,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.9904,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0984,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.2297,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 67.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.49,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7325,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.9926,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.9904,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0984,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.2297,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 67.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.49,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.1486,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7325,
                "minutes": 65,
                "total_pass": 23,
                "accurate_pass": 19,
                "duels_won": 2,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 4.9926,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.9904,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0984,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.2297,
                "ball_carries": 11,
                "total_progression": 42,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.5,
                "minutesPct": 67.2,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.49,
                "opponent_faced": "João Pedro",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.1486,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            }
          ]
        },
        "Lewie Coyle": {
          "player_id": 827587,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 173,
          "market_value": 1300000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 0,
            "clearances": 2,
            "aerial_won": 1,
            "rating": 6.6952,
            "minutes": 59,
            "total_pass": 13,
            "accurate_pass": 10,
            "duels_won": 3,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 5,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 24,
            "possession_lost": 5.8874,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0098,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 5,
            "total_progression": 11,
            "progressive_carries": 0,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.7692,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 63.3,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.58,
            "tackles_in_zone": 1.9,
            "tackles_won_in_zone": 1.4,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.447,
            "opponent_faced": "Roméo Lavia",
            "pressing_zone": "LWB vs RWB",
            "matchup_zone": "LWB vs RWB",
            "antagonist_source": "defensive_duel, attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0147,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 70.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 64,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0073,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 45,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 7,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 70,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0069,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 17,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4885,
            "combined_rank_score": 2981.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 391.0,
            "sofascore_rating": 6.95,
            "sofascore_appearances": 2.0,
            "fifa_rank": 5572.0,
            "fifa_overall": 70.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "starter",
            "projected_match_rating": 6.6952,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lewie Coyle",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Cédric Zesiger",
                  "ranking": 4880
                },
                {
                  "player_name": "Timothé Cognat",
                  "ranking": 4881
                },
                {
                  "player_name": "Alvyn Sanches",
                  "ranking": 4882
                },
                {
                  "player_name": "Mattia Zanotti",
                  "ranking": 4883
                },
                {
                  "player_name": "Silas Andersen",
                  "ranking": 4884
                }
              ],
              "lower": [
                {
                  "player_name": "Gil Dias",
                  "ranking": 4886
                },
                {
                  "player_name": "Rafik Guitane",
                  "ranking": 4887
                },
                {
                  "player_name": "Marcelo Flores",
                  "ranking": 4888
                },
                {
                  "player_name": "Sikou Niakaté",
                  "ranking": 4889
                },
                {
                  "player_name": "Mateu Morey",
                  "ranking": 4890
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.451,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.451,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 114.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0867
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Hull City, rel: 0.09, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.8232,
                "minutes": 60,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 6.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6952,
                "minutes": 59,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 5.8874,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0352)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6952,
                "minutes": 59,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 5.8874,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 63.3,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.58
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6952,
                "minutes": 59,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 5.8874,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 63.3,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.58
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6952,
                "minutes": 59,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 5.8874,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 63.3,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.58,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.447,
                "opponent_faced": "Roméo Lavia",
                "pressing_zone": "LWB vs RWB",
                "matchup_zone": "LWB vs RWB",
                "antagonist_source": "defensive_duel, attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6952,
                "minutes": 59,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 5.8874,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 63.3,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.58,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.447,
                "opponent_faced": "Roméo Lavia",
                "pressing_zone": "LWB vs RWB",
                "matchup_zone": "LWB vs RWB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 16, fifa_overall 70.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6952,
                "minutes": 59,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 5.8874,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 63.3,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.58,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.447,
                "opponent_faced": "Roméo Lavia",
                "pressing_zone": "LWB vs RWB",
                "matchup_zone": "LWB vs RWB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6952,
                "minutes": 59,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 5.8874,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 63.3,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.58,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.447,
                "opponent_faced": "Roméo Lavia",
                "pressing_zone": "LWB vs RWB",
                "matchup_zone": "LWB vs RWB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0147,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6952,
                "minutes": 59,
                "total_pass": 13,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 5,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 24,
                "possession_lost": 5.8874,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 63.3,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.58,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.447,
                "opponent_faced": "Roméo Lavia",
                "pressing_zone": "LWB vs RWB",
                "matchup_zone": "LWB vs RWB",
                "antagonist_source": "defensive_duel, attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0147,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 70.0
              }
            }
          ]
        },
        "Konstantinos Tzolakis": {
          "player_id": 953414,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 19,
          "height": 193,
          "market_value": 17200000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0809,
            "rating": 7.5118,
            "minutes": 93,
            "total_pass": 38,
            "accurate_pass": 16,
            "total_long_balls": 33,
            "accurate_long_balls": 10,
            "touches": 52,
            "clearances": 0,
            "ball_recovery": 15,
            "high_claims": 2,
            "punches": 0.0,
            "aerial_won": 2,
            "sweeper_actions": 2,
            "sweeper_accurate": 2,
            "saves_inside_box": 2,
            "possession_lost": 22.6776,
            "duels_won": 2,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "total_own_half_passes": 10,
            "accurate_own_half_passes": 8,
            "expected_saves": 2.05,
            "high_pressure_saves": 0.78,
            "shots_faced": 4.4,
            "opponent_faced": "João Pedro, Pedro Neto",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0011,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 18,
                "duels_won": 1,
                "ball_recovery": 10,
                "saves": 1,
                "goals_prevented": 0.0756
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 90,
                "rating": 8.2,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 11,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 11,
                "saves": 3,
                "goals_prevented": 1.3259
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "assists": 0,
                "expected_assists": 0.0026,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 17,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 22,
                "saves": 5,
                "goals_prevented": 0.5968
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1105,
            "combined_rank_score": 495.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 19.0,
            "sofascore_rating": 8.15,
            "sofascore_appearances": 2.0,
            "fifa_rank": 972.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 7.5118,
            "source_file": "data/player_rankings.csv",
            "player_name": "Konstantinos Tzolakis",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mukhammadkodir Khamraliev",
                  "ranking": 1100
                },
                {
                  "player_name": "Pascal Groß",
                  "ranking": 1101
                },
                {
                  "player_name": "Alberto Moleiro",
                  "ranking": 1102
                },
                {
                  "player_name": "Angelo Stiller",
                  "ranking": 1103
                },
                {
                  "player_name": "Mauro Júnior",
                  "ranking": 1104
                }
              ],
              "lower": [
                {
                  "player_name": "Pau Torres",
                  "ranking": 1106
                },
                {
                  "player_name": "Ju-yeong Jo",
                  "ranking": 1107
                },
                {
                  "player_name": "Lee Dong-hyeop",
                  "ranking": 1108
                },
                {
                  "player_name": "Alphonso Davies",
                  "ranking": 1109
                },
                {
                  "player_name": "Pierre-Emerick Aubameyang",
                  "ranking": 1110
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "kilometersCovered",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "gk_coverage",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0308,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (G_service) evaluated 3 historical appearances across 3 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0785,
                "rating": 7.2873,
                "minutes": 90,
                "total_pass": 37,
                "accurate_pass": 15,
                "total_long_balls": 32,
                "accurate_long_balls": 10,
                "touches": 51,
                "clearances": 0,
                "ball_recovery": 14,
                "high_claims": 2,
                "punches": 0.0,
                "aerial_won": 2,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 2,
                "possession_lost": 22.0,
                "duels_won": 2,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 8
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0308, quality 0.603)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0809,
                "rating": 7.5118,
                "minutes": 93,
                "total_pass": 38,
                "accurate_pass": 16,
                "total_long_balls": 33,
                "accurate_long_balls": 10,
                "touches": 52,
                "clearances": 0,
                "ball_recovery": 15,
                "high_claims": 2,
                "punches": 0.0,
                "aerial_won": 2,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 2,
                "possession_lost": 22.6776,
                "duels_won": 2,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 8
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0809,
                "rating": 7.5118,
                "minutes": 93,
                "total_pass": 38,
                "accurate_pass": 16,
                "total_long_balls": 33,
                "accurate_long_balls": 10,
                "touches": 52,
                "clearances": 0,
                "ball_recovery": 15,
                "high_claims": 2,
                "punches": 0.0,
                "aerial_won": 2,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 2,
                "possession_lost": 22.6776,
                "duels_won": 2,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 8
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0809,
                "rating": 7.5118,
                "minutes": 93,
                "total_pass": 38,
                "accurate_pass": 16,
                "total_long_balls": 33,
                "accurate_long_balls": 10,
                "touches": 52,
                "clearances": 0,
                "ball_recovery": 15,
                "high_claims": 2,
                "punches": 0.0,
                "aerial_won": 2,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 2,
                "possession_lost": 22.6776,
                "duels_won": 2,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 8,
                "expected_saves": 2.05,
                "high_pressure_saves": 0.78,
                "shots_faced": 4.4,
                "opponent_faced": "João Pedro, Pedro Neto",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0809,
                "rating": 7.5118,
                "minutes": 93,
                "total_pass": 38,
                "accurate_pass": 16,
                "total_long_balls": 33,
                "accurate_long_balls": 10,
                "touches": 52,
                "clearances": 0,
                "ball_recovery": 15,
                "high_claims": 2,
                "punches": 0.0,
                "aerial_won": 2,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 2,
                "possession_lost": 22.6776,
                "duels_won": 2,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 8,
                "expected_saves": 2.05,
                "high_pressure_saves": 0.78,
                "shots_faced": 4.4,
                "opponent_faced": "João Pedro, Pedro Neto",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 4, fifa_overall 79.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0809,
                "rating": 7.5118,
                "minutes": 93,
                "total_pass": 38,
                "accurate_pass": 16,
                "total_long_balls": 33,
                "accurate_long_balls": 10,
                "touches": 52,
                "clearances": 0,
                "ball_recovery": 15,
                "high_claims": 2,
                "punches": 0.0,
                "aerial_won": 2,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 2,
                "possession_lost": 22.6776,
                "duels_won": 2,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 8,
                "expected_saves": 2.05,
                "high_pressure_saves": 0.78,
                "shots_faced": 4.4,
                "opponent_faced": "João Pedro, Pedro Neto",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0809,
                "rating": 7.5118,
                "minutes": 93,
                "total_pass": 38,
                "accurate_pass": 16,
                "total_long_balls": 33,
                "accurate_long_balls": 10,
                "touches": 52,
                "clearances": 0,
                "ball_recovery": 15,
                "high_claims": 2,
                "punches": 0.0,
                "aerial_won": 2,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 2,
                "possession_lost": 22.6776,
                "duels_won": 2,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 8,
                "expected_saves": 2.05,
                "high_pressure_saves": 0.78,
                "shots_faced": 4.4,
                "opponent_faced": "João Pedro, Pedro Neto",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0809,
                "rating": 7.5118,
                "minutes": 93,
                "total_pass": 38,
                "accurate_pass": 16,
                "total_long_balls": 33,
                "accurate_long_balls": 10,
                "touches": 52,
                "clearances": 0,
                "ball_recovery": 15,
                "high_claims": 2,
                "punches": 0.0,
                "aerial_won": 2,
                "sweeper_actions": 2,
                "sweeper_accurate": 2,
                "saves_inside_box": 2,
                "possession_lost": 22.6776,
                "duels_won": 2,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 8,
                "expected_saves": 2.05,
                "high_pressure_saves": 0.78,
                "shots_faced": 4.4,
                "opponent_faced": "João Pedro, Pedro Neto",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 79.0
              }
            }
          ]
        }
      },
      "bench_players": {
        "Jack Butland": {
          "player_id": 98448,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 1,
          "height": 196,
          "market_value": 1500000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.022,
            "rating": 6.8,
            "minutes": 4,
            "total_pass": 1,
            "accurate_pass": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0146,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1171,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "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": 75.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 3258,
            "combined_rank_score": 1204.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 2187.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jack Butland",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Christian Kofane",
                  "ranking": 3253
                },
                {
                  "player_name": "Oumar Solet",
                  "ranking": 3254
                },
                {
                  "player_name": "Boulaye Dia",
                  "ranking": 3255
                },
                {
                  "player_name": "Maxence Caqueret",
                  "ranking": 3256
                },
                {
                  "player_name": "Umar Sadiq",
                  "ranking": 3257
                }
              ],
              "lower": [
                {
                  "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
                },
                {
                  "player_name": "Kenneth Taylor",
                  "ranking": 3263
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "G_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€1,500,000) scaled to 4.4 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.44)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90,
                "total_pass": 27,
                "accurate_pass": 20,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "touches": 32,
                "clearances": 1,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.3,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 2.4,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 16
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 75.0)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "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": 75.0
              }
            }
          ]
        },
        "Charlie Hughes": {
          "player_id": 1138398,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 4,
          "height": 185,
          "market_value": 9100000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "duels_won": 1,
            "total_pass": 7,
            "accurate_pass": 5,
            "expected_goals": 0.0028,
            "rating": 6.9,
            "minutes": 14,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 1.0169,
            "dispossessed": 0.5,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_assists": 0.0079,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.002,
            "key_pass": 0,
            "ball_carries": 3,
            "total_progression": 9,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.312,
            "bench_expected_minutes": 13.87,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 3431,
            "combined_rank_score": 1424.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 2693.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "substitute",
            "projected_match_rating": 6.9,
            "source_file": "data/player_rankings.csv",
            "player_name": "Charlie Hughes",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ilia Gruev",
                  "ranking": 3426
                },
                {
                  "player_name": "Aaron Hickey",
                  "ranking": 3427
                },
                {
                  "player_name": "Joaquin Seys",
                  "ranking": 3428
                },
                {
                  "player_name": "Julián Araujo",
                  "ranking": 3429
                },
                {
                  "player_name": "Emil Forsberg",
                  "ranking": 3430
                }
              ],
              "lower": [
                {
                  "player_name": "Wilson Isidor",
                  "ranking": 3432
                },
                {
                  "player_name": "Carlos Rodríguez",
                  "ranking": 3433
                },
                {
                  "player_name": "Ryan Manning",
                  "ranking": 3434
                },
                {
                  "player_name": "Sebastiaan Bornauw",
                  "ranking": 3435
                },
                {
                  "player_name": "Lorenzo Melgarejo",
                  "ranking": 3436
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "D_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 13.86683638124688,
            "bench_appearance_prob": 0.3121289264203127,
            "market_value_adjustment": 0.5118,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€9,100,000) scaled to 13.9 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.51)",
              "stats": {
                "interceptions": 2,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 6,
                "total_pass": 44,
                "accurate_pass": 35,
                "expected_goals": 0.018,
                "rating": 6.9,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 60,
                "possession_lost": 6.6,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "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.051,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.013,
                "key_pass": 1,
                "ball_carries": 20,
                "total_progression": 61,
                "progressive_carries": 5
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.9 expected minutes (appearance prob 0.31)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "expected_goals": 0.0028,
                "rating": 6.9,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.0169,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0079,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.002,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 9,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.312,
                "bench_expected_minutes": 13.87
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "expected_goals": 0.0028,
                "rating": 6.9,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.0169,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0079,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.002,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 9,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.312,
                "bench_expected_minutes": 13.87
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 7, fifa_overall 74.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "expected_goals": 0.0028,
                "rating": 6.9,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.0169,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0079,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.002,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 9,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.312,
                "bench_expected_minutes": 13.87,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            }
          ]
        },
        "Lucas Herrington": {
          "player_id": 1646783,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 193,
          "market_value": 8800000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 6.4864,
            "minutes": 23,
            "total_pass": 2,
            "accurate_pass": 1,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.5064,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 1,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 32.8,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.53,
            "bench_appearance_probability": 0.608,
            "bench_expected_minutes": 22.73,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "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": 66.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 19,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 5,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 31,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 8,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 26,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 7040,
            "combined_rank_score": 5366.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 261.0,
            "sofascore_rating": 7.0909,
            "sofascore_appearances": 11.0,
            "fifa_rank": 10471.0,
            "fifa_overall": 66.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "projected_match_rating": 6.4864,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Herrington",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lucas Pratto",
                  "ranking": 7035
                },
                {
                  "player_name": "Pedro Bicalho",
                  "ranking": 7036
                },
                {
                  "player_name": "Léo Vieira",
                  "ranking": 7037
                },
                {
                  "player_name": "Peter Žulj",
                  "ranking": 7038
                },
                {
                  "player_name": "Caju",
                  "ranking": 7039
                }
              ],
              "lower": [
                {
                  "player_name": "Bernard Tekpetey",
                  "ranking": 7041
                },
                {
                  "player_name": "Jhojan Torres",
                  "ranking": 7042
                },
                {
                  "player_name": "Olivier Verdon",
                  "ranking": 7043
                },
                {
                  "player_name": "Alan Soñora",
                  "ranking": 7044
                },
                {
                  "player_name": "Diego Coelho",
                  "ranking": 7045
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.445,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.445,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.73,
            "bench_appearance_prob": 0.608,
            "market_value_adjustment": 1.0025,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 30.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0467
            },
            "rationale": "Bench projection scaled from XGBoost D_service (3 historical appearances) to 22.7 expected mins (appearance prob 0.61); FBref playing time empirical prior: 2.0 sub appearances, 30.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.4704,
                "minutes": 25,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 5,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0025, quality 0.508)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.4864,
                "minutes": 25,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.005,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 5,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0190)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.4864,
                "minutes": 25,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.005,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 5,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.7 expected minutes (appearance prob 0.61)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.4864,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.5064,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 22.73
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.4864,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.5064,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 22.73
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.4864,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.5064,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 22.73,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 66.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.4864,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.5064,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 22.73,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "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": 66.0
              }
            }
          ]
        },
        "Christos Mouzakitis": {
          "player_id": 1416540,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 36,
          "height": 178,
          "market_value": 26000000,
          "stats": {
            "key_pass": 1,
            "assists": 0,
            "expected_assists": 0.0462,
            "expected_goals": 0.0291,
            "total_shots": 0,
            "total_pass": 15,
            "accurate_pass": 12,
            "ball_recovery": 2,
            "duels_won": 2,
            "rating": 7.2,
            "minutes": 23,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 19,
            "possession_lost": 2.4996,
            "dispossessed": 0.9,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.023,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0202,
            "ball_carries": 9,
            "total_progression": 24,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.543,
            "bench_expected_minutes": 22.96,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "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": [],
          "ranking": {
            "global_player_rank": 4143,
            "combined_rank_score": 2149.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 745.0,
            "sofascore_rating": 6.6667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 3554.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "substitute",
            "projected_match_rating": 7.2,
            "source_file": "data/player_rankings.csv",
            "player_name": "Christos Mouzakitis",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicolás Valentini",
                  "ranking": 4138
                },
                {
                  "player_name": "Borna Sosa",
                  "ranking": 4139
                },
                {
                  "player_name": "Nathan Broadhead",
                  "ranking": 4140
                },
                {
                  "player_name": "Fábio Cardoso",
                  "ranking": 4141
                },
                {
                  "player_name": "Jorge Sánchez",
                  "ranking": 4142
                }
              ],
              "lower": [
                {
                  "player_name": "Sammie Szmodics",
                  "ranking": 4144
                },
                {
                  "player_name": "Mathias Honsak",
                  "ranking": 4145
                },
                {
                  "player_name": "Dan Neil",
                  "ranking": 4146
                },
                {
                  "player_name": "Juan Cruz",
                  "ranking": 4147
                },
                {
                  "player_name": "Lukas Petkov",
                  "ranking": 4148
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 22.95590653284853,
            "bench_appearance_prob": 0.5434502969476606,
            "market_value_adjustment": 0.6858,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€26,000,000) scaled to 23.0 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.69)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.181,
                "expected_goals": 0.116,
                "total_shots": 2,
                "total_pass": 60,
                "accurate_pass": 49,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.2,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 74,
                "possession_lost": 9.8,
                "dispossessed": 0.9,
                "duels_lost": 5,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.09,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.079,
                "ball_carries": 36,
                "total_progression": 95,
                "progressive_carries": 8
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.0 expected minutes (appearance prob 0.54)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0462,
                "expected_goals": 0.0296,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.2,
                "minutes": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 2.4996,
                "dispossessed": 0.9,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.023,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0202,
                "ball_carries": 9,
                "total_progression": 24,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.543,
                "bench_expected_minutes": 22.96
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0462,
                "expected_goals": 0.0296,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.2,
                "minutes": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 2.4996,
                "dispossessed": 0.9,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.023,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0202,
                "ball_carries": 9,
                "total_progression": 24,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.543,
                "bench_expected_minutes": 22.96
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0462,
                "expected_goals": 0.0291,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.2,
                "minutes": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 2.4996,
                "dispossessed": 0.9,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.023,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0202,
                "ball_carries": 9,
                "total_progression": 24,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.543,
                "bench_expected_minutes": 22.96,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 1, fifa_overall 73.0)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0462,
                "expected_goals": 0.0291,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.2,
                "minutes": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 2.4996,
                "dispossessed": 0.9,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.023,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0202,
                "ball_carries": 9,
                "total_progression": 24,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.543,
                "bench_expected_minutes": 22.96,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "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
              }
            }
          ]
        },
        "Tim Iroegbunam": {
          "player_id": 1085950,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 42,
          "height": 182,
          "market_value": 18500000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0118,
            "assists": 0,
            "expected_goals": 0.0094,
            "rating": 6.814,
            "minutes": 23,
            "total_pass": 12,
            "accurate_pass": 9,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 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": 0,
            "possession_lost": 0.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,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.531,
            "bench_expected_minutes": 22.68,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 8,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3277,
            "combined_rank_score": 1220.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 640.0,
            "sofascore_rating": 6.7519,
            "sofascore_appearances": 29.0,
            "fifa_rank": 1801.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "substitute",
            "projected_match_rating": 6.814,
            "source_file": "data/player_rankings.csv",
            "player_name": "Tim Iroegbunam",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marco Reus",
                  "ranking": 3272
                },
                {
                  "player_name": "Santiago Bueno",
                  "ranking": 3273
                },
                {
                  "player_name": "Hany Mukhtar",
                  "ranking": 3274
                },
                {
                  "player_name": "Aleksey Miranchuk",
                  "ranking": 3275
                },
                {
                  "player_name": "Alfonso Herrero",
                  "ranking": 3276
                }
              ],
              "lower": [
                {
                  "player_name": "Jaminton Campaz",
                  "ranking": 3278
                },
                {
                  "player_name": "Miguel Merentiel",
                  "ranking": 3279
                },
                {
                  "player_name": "Pep Biel",
                  "ranking": 3280
                },
                {
                  "player_name": "Beñat Prados",
                  "ranking": 3281
                },
                {
                  "player_name": "Zlatko Tripić",
                  "ranking": 3282
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 22.679596783510213,
            "bench_appearance_prob": 0.5308907628868278,
            "market_value_adjustment": 1.0348,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 22.7 expected mins (appearance prob 0.53)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0455,
                "assists": 0,
                "expected_goals": 0.0362,
                "rating": 6.5847,
                "minutes": 8,
                "total_pass": 45,
                "accurate_pass": 36,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 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": 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": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0348, quality 0.616)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.047,
                "assists": 0,
                "expected_goals": 0.0375,
                "rating": 6.814,
                "minutes": 8,
                "total_pass": 47,
                "accurate_pass": 37,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 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": 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": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.7 expected minutes (appearance prob 0.53)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0118,
                "assists": 0,
                "expected_goals": 0.0094,
                "rating": 6.814,
                "minutes": 23,
                "total_pass": 12,
                "accurate_pass": 9,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.531,
                "bench_expected_minutes": 22.68
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0118,
                "assists": 0,
                "expected_goals": 0.0094,
                "rating": 6.814,
                "minutes": 23,
                "total_pass": 12,
                "accurate_pass": 9,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.531,
                "bench_expected_minutes": 22.68
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 3, fifa_overall 76.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0118,
                "assists": 0,
                "expected_goals": 0.0094,
                "rating": 6.814,
                "minutes": 23,
                "total_pass": 12,
                "accurate_pass": 9,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 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": 0,
                "possession_lost": 0.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,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.531,
                "bench_expected_minutes": 22.68,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Robinio Vaz": {
          "player_id": 1514800,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 47,
          "height": 185,
          "market_value": 18700000,
          "stats": {
            "expected_goals": 0.0839,
            "goal_rate": 0.0549,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 0,
            "expected_assists": 0.0309,
            "duels_won": 1,
            "aerial_won": 1,
            "rating": 7.1,
            "minutes": 26,
            "total_pass": 9,
            "accurate_pass": 7,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 13,
            "possession_lost": 2.6875,
            "dispossessed": 1.2,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 2,
            "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.065,
            "offsides": 1,
            "ball_carries": 6,
            "total_progression": 16,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.591,
            "bench_expected_minutes": 26.01,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "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": 71.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 4480,
            "combined_rank_score": 2500.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 4913.0,
            "fifa_overall": 71.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "projected_match_rating": 7.1,
            "source_file": "data/player_rankings.csv",
            "player_name": "Robinio Vaz",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Christopher Bonsu Baah",
                  "ranking": 4475
                },
                {
                  "player_name": "Valentin Atangana",
                  "ranking": 4476
                },
                {
                  "player_name": "Alex Luna",
                  "ranking": 4477
                },
                {
                  "player_name": "Matt Crooks",
                  "ranking": 4478
                },
                {
                  "player_name": "Lautaro Rivero",
                  "ranking": 4479
                }
              ],
              "lower": [
                {
                  "player_name": "Franco Vázquez",
                  "ranking": 4481
                },
                {
                  "player_name": "Fraser Forster",
                  "ranking": 4482
                },
                {
                  "player_name": "Rodrigo Rey",
                  "ranking": 4483
                },
                {
                  "player_name": "Conan Ledesma",
                  "ranking": 4484
                },
                {
                  "player_name": "Rafael Santos Borré",
                  "ranking": 4485
                }
              ]
            }
          },
          "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": 26.007630757726062,
            "bench_appearance_prob": 0.5912559435330029,
            "market_value_adjustment": 0.6181,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€18,700,000) scaled to 26.0 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.62)",
              "stats": {
                "expected_goals": 0.295,
                "goal_rate": 0.19,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.107,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.1,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 45,
                "possession_lost": 9.3,
                "dispossessed": 1.2,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.225,
                "offsides": 1,
                "ball_carries": 22,
                "total_progression": 56,
                "progressive_carries": 6
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.0 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0852,
                "goal_rate": 0.0549,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0309,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.1,
                "minutes": 26,
                "total_pass": 9,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.6875,
                "dispossessed": 1.2,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 2,
                "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.065,
                "offsides": 1,
                "ball_carries": 6,
                "total_progression": 16,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.591,
                "bench_expected_minutes": 26.01
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0852,
                "goal_rate": 0.0549,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0309,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.1,
                "minutes": 26,
                "total_pass": 9,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.6875,
                "dispossessed": 1.2,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 2,
                "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.065,
                "offsides": 1,
                "ball_carries": 6,
                "total_progression": 16,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.591,
                "bench_expected_minutes": 26.01
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "expected_goals": 0.0839,
                "goal_rate": 0.0549,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0309,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.1,
                "minutes": 26,
                "total_pass": 9,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.6875,
                "dispossessed": 1.2,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 2,
                "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.065,
                "offsides": 1,
                "ball_carries": 6,
                "total_progression": 16,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.591,
                "bench_expected_minutes": 26.01,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 2, fifa_overall 71.0)",
              "stats": {
                "expected_goals": 0.0839,
                "goal_rate": 0.0549,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0309,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.1,
                "minutes": 26,
                "total_pass": 9,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.6875,
                "dispossessed": 1.2,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 2,
                "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.065,
                "offsides": 1,
                "ball_carries": 6,
                "total_progression": 16,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.591,
                "bench_expected_minutes": 26.01,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "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": 71.0
              }
            }
          ]
        },
        "Mohamed Ali Cho": {
          "player_id": 1063235,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 50,
          "height": 182,
          "market_value": 14500000,
          "stats": {
            "expected_goals": 0.0243,
            "goal_rate": 0.02,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0028,
            "key_pass": 0,
            "rating": 5.643,
            "minutes": 16,
            "total_shots": 0,
            "duels_won": 1,
            "aerial_won": 0,
            "total_pass": 0,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 1,
            "possession_lost": 0.2729,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0055,
            "offsides": 0,
            "ball_carries": 0,
            "total_progression": 1,
            "progressive_carries": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 4.4,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.73,
            "bench_expected_minutes": 16.02,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 8,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0501,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 13,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3826,
            "combined_rank_score": 1825.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 915.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 1.0,
            "fifa_rank": 2735.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "substitute",
            "projected_match_rating": 5.643,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mohamed Ali Cho",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mikey Moore",
                  "ranking": 3821
                },
                {
                  "player_name": "Laurent Abergel",
                  "ranking": 3822
                },
                {
                  "player_name": "Zeki Amdouni",
                  "ranking": 3823
                },
                {
                  "player_name": "Brendan Chardonnet",
                  "ranking": 3824
                },
                {
                  "player_name": "Seko Fofana",
                  "ranking": 3825
                }
              ],
              "lower": [
                {
                  "player_name": "Moses Simon",
                  "ranking": 3827
                },
                {
                  "player_name": "Jordan James",
                  "ranking": 3828
                },
                {
                  "player_name": "Ludovic Blas",
                  "ranking": 3829
                },
                {
                  "player_name": "Jordan Lefort",
                  "ranking": 3830
                },
                {
                  "player_name": "Rasmus Nicolaisen",
                  "ranking": 3831
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.376,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.376,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 16.02,
            "bench_appearance_prob": 0.73,
            "market_value_adjustment": 1.0221,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 8.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost F_service (2 historical appearances) to 16.0 expected mins (appearance prob 0.73); FBref playing time empirical prior: 1.0 sub appearances, 8.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1355,
                "goal_rate": 0.1101,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0152,
                "key_pass": 0,
                "rating": 5.521,
                "minutes": 10,
                "total_shots": 0,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.5,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.03,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 7,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0221, quality 0.574)",
              "stats": {
                "expected_goals": 0.1385,
                "goal_rate": 0.1125,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0155,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 11,
                "total_shots": 1,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.5332,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0307,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 7,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0031)",
              "stats": {
                "expected_goals": 0.1385,
                "goal_rate": 0.1122,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0155,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 11,
                "total_shots": 1,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.5332,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0307,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 7,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 16.0 expected minutes (appearance prob 0.73)",
              "stats": {
                "expected_goals": 0.0247,
                "goal_rate": 0.02,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0028,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 16,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2729,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0055,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.73,
                "bench_expected_minutes": 16.02
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0247,
                "goal_rate": 0.02,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0028,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 16,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2729,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0055,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.73,
                "bench_expected_minutes": 16.02
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "expected_goals": 0.0243,
                "goal_rate": 0.02,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0028,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 16,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2729,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0055,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.73,
                "bench_expected_minutes": 16.02,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 5, fifa_overall 74.0)",
              "stats": {
                "expected_goals": 0.0243,
                "goal_rate": 0.02,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0028,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 16,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2729,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0055,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.73,
                "bench_expected_minutes": 16.02,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Mohamed Ali Cho": {
          "player_id": 1063235,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 50,
          "height": 182,
          "market_value": 14500000,
          "stats": {
            "expected_goals": 0.0243,
            "goal_rate": 0.02,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0028,
            "key_pass": 0,
            "rating": 5.643,
            "minutes": 16,
            "total_shots": 0,
            "duels_won": 1,
            "aerial_won": 0,
            "total_pass": 0,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 1,
            "possession_lost": 0.2729,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0055,
            "offsides": 0,
            "ball_carries": 0,
            "total_progression": 1,
            "progressive_carries": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 4.4,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.73,
            "bench_expected_minutes": 16.02,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 8,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0501,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 13,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3826,
            "combined_rank_score": 1825.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 915.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 1.0,
            "fifa_rank": 2735.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "substitute",
            "projected_match_rating": 5.643,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mohamed Ali Cho",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mikey Moore",
                  "ranking": 3821
                },
                {
                  "player_name": "Laurent Abergel",
                  "ranking": 3822
                },
                {
                  "player_name": "Zeki Amdouni",
                  "ranking": 3823
                },
                {
                  "player_name": "Brendan Chardonnet",
                  "ranking": 3824
                },
                {
                  "player_name": "Seko Fofana",
                  "ranking": 3825
                }
              ],
              "lower": [
                {
                  "player_name": "Moses Simon",
                  "ranking": 3827
                },
                {
                  "player_name": "Jordan James",
                  "ranking": 3828
                },
                {
                  "player_name": "Ludovic Blas",
                  "ranking": 3829
                },
                {
                  "player_name": "Jordan Lefort",
                  "ranking": 3830
                },
                {
                  "player_name": "Rasmus Nicolaisen",
                  "ranking": 3831
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.376,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.376,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 16.02,
            "bench_appearance_prob": 0.73,
            "market_value_adjustment": 1.0221,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 8.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost F_service (2 historical appearances) to 16.0 expected mins (appearance prob 0.73); FBref playing time empirical prior: 1.0 sub appearances, 8.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1355,
                "goal_rate": 0.1101,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0152,
                "key_pass": 0,
                "rating": 5.521,
                "minutes": 10,
                "total_shots": 0,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.5,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.03,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 7,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0221, quality 0.574)",
              "stats": {
                "expected_goals": 0.1385,
                "goal_rate": 0.1125,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0155,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 11,
                "total_shots": 1,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.5332,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0307,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 7,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0031)",
              "stats": {
                "expected_goals": 0.1385,
                "goal_rate": 0.1122,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0155,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 11,
                "total_shots": 1,
                "duels_won": 3,
                "aerial_won": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.5332,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0307,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 7,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 16.0 expected minutes (appearance prob 0.73)",
              "stats": {
                "expected_goals": 0.0247,
                "goal_rate": 0.02,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0028,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 16,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2729,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0055,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.73,
                "bench_expected_minutes": 16.02
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0247,
                "goal_rate": 0.02,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0028,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 16,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2729,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0055,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.73,
                "bench_expected_minutes": 16.02
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "expected_goals": 0.0243,
                "goal_rate": 0.02,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0028,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 16,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2729,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0055,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.73,
                "bench_expected_minutes": 16.02,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 5, fifa_overall 74.0)",
              "stats": {
                "expected_goals": 0.0243,
                "goal_rate": 0.02,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0028,
                "key_pass": 0,
                "rating": 5.643,
                "minutes": 16,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.2729,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0055,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 4.4,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.73,
                "bench_expected_minutes": 16.02,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            }
          ]
        },
        "Lucas Herrington": {
          "player_id": 1646783,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 193,
          "market_value": 8800000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 6.4864,
            "minutes": 23,
            "total_pass": 2,
            "accurate_pass": 1,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.5064,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 1,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 32.8,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 1.53,
            "bench_appearance_probability": 0.608,
            "bench_expected_minutes": 22.73,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "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": 66.0
          },
          "latest_10_games": [
            {
              "match_id": 16363262.0,
              "match_date": "2026-09-05",
              "home_team": "Hull City",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 19,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 5,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363250.0,
              "match_date": "2026-08-29",
              "home_team": "Coventry City",
              "away_team": "Hull City",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 31,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 8,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634.0,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Hull City",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 26,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 7040,
            "combined_rank_score": 5366.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 261.0,
            "sofascore_rating": 7.0909,
            "sofascore_appearances": 11.0,
            "fifa_rank": 10471.0,
            "fifa_overall": 66.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "projected_match_rating": 6.4864,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Herrington",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lucas Pratto",
                  "ranking": 7035
                },
                {
                  "player_name": "Pedro Bicalho",
                  "ranking": 7036
                },
                {
                  "player_name": "Léo Vieira",
                  "ranking": 7037
                },
                {
                  "player_name": "Peter Žulj",
                  "ranking": 7038
                },
                {
                  "player_name": "Caju",
                  "ranking": 7039
                }
              ],
              "lower": [
                {
                  "player_name": "Bernard Tekpetey",
                  "ranking": 7041
                },
                {
                  "player_name": "Jhojan Torres",
                  "ranking": 7042
                },
                {
                  "player_name": "Olivier Verdon",
                  "ranking": 7043
                },
                {
                  "player_name": "Alan Soñora",
                  "ranking": 7044
                },
                {
                  "player_name": "Diego Coelho",
                  "ranking": 7045
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.445,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.445,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.73,
            "bench_appearance_prob": 0.608,
            "market_value_adjustment": 1.0025,
            "fbref_prior_metrics": {
              "squad": "Hull City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 30.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0467
            },
            "rationale": "Bench projection scaled from XGBoost D_service (3 historical appearances) to 22.7 expected mins (appearance prob 0.61); FBref playing time empirical prior: 2.0 sub appearances, 30.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.4704,
                "minutes": 25,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 5,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0025, quality 0.508)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.4864,
                "minutes": 25,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.005,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 5,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0190)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.4864,
                "minutes": 25,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.005,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 5,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.7 expected minutes (appearance prob 0.61)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.4864,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.5064,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 22.73
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.4864,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.5064,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 22.73
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.4864,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.5064,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 22.73,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 66.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.4864,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.5064,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 32.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 1.53,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 22.73,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "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": 66.0
              }
            }
          ]
        },
        "Robinio Vaz": {
          "player_id": 1514800,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 47,
          "height": 185,
          "market_value": 18700000,
          "stats": {
            "expected_goals": 0.0839,
            "goal_rate": 0.0549,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 0,
            "expected_assists": 0.0309,
            "duels_won": 1,
            "aerial_won": 1,
            "rating": 7.1,
            "minutes": 26,
            "total_pass": 9,
            "accurate_pass": 7,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 13,
            "possession_lost": 2.6875,
            "dispossessed": 1.2,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 2,
            "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.065,
            "offsides": 1,
            "ball_carries": 6,
            "total_progression": 16,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.591,
            "bench_expected_minutes": 26.01,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "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": 71.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 4480,
            "combined_rank_score": 2500.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 4913.0,
            "fifa_overall": 71.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "projected_match_rating": 7.1,
            "source_file": "data/player_rankings.csv",
            "player_name": "Robinio Vaz",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Christopher Bonsu Baah",
                  "ranking": 4475
                },
                {
                  "player_name": "Valentin Atangana",
                  "ranking": 4476
                },
                {
                  "player_name": "Alex Luna",
                  "ranking": 4477
                },
                {
                  "player_name": "Matt Crooks",
                  "ranking": 4478
                },
                {
                  "player_name": "Lautaro Rivero",
                  "ranking": 4479
                }
              ],
              "lower": [
                {
                  "player_name": "Franco Vázquez",
                  "ranking": 4481
                },
                {
                  "player_name": "Fraser Forster",
                  "ranking": 4482
                },
                {
                  "player_name": "Rodrigo Rey",
                  "ranking": 4483
                },
                {
                  "player_name": "Conan Ledesma",
                  "ranking": 4484
                },
                {
                  "player_name": "Rafael Santos Borré",
                  "ranking": 4485
                }
              ]
            }
          },
          "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": 26.007630757726062,
            "bench_appearance_prob": 0.5912559435330029,
            "market_value_adjustment": 0.6181,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€18,700,000) scaled to 26.0 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.62)",
              "stats": {
                "expected_goals": 0.295,
                "goal_rate": 0.19,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.107,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.1,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 45,
                "possession_lost": 9.3,
                "dispossessed": 1.2,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.225,
                "offsides": 1,
                "ball_carries": 22,
                "total_progression": 56,
                "progressive_carries": 6
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.0 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0852,
                "goal_rate": 0.0549,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0309,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.1,
                "minutes": 26,
                "total_pass": 9,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.6875,
                "dispossessed": 1.2,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 2,
                "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.065,
                "offsides": 1,
                "ball_carries": 6,
                "total_progression": 16,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.591,
                "bench_expected_minutes": 26.01
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0852,
                "goal_rate": 0.0549,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0309,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.1,
                "minutes": 26,
                "total_pass": 9,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.6875,
                "dispossessed": 1.2,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 2,
                "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.065,
                "offsides": 1,
                "ball_carries": 6,
                "total_progression": 16,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.591,
                "bench_expected_minutes": 26.01
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "expected_goals": 0.0839,
                "goal_rate": 0.0549,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0309,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.1,
                "minutes": 26,
                "total_pass": 9,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.6875,
                "dispossessed": 1.2,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 2,
                "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.065,
                "offsides": 1,
                "ball_carries": 6,
                "total_progression": 16,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.591,
                "bench_expected_minutes": 26.01,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 2, fifa_overall 71.0)",
              "stats": {
                "expected_goals": 0.0839,
                "goal_rate": 0.0549,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0309,
                "duels_won": 1,
                "aerial_won": 1,
                "rating": 7.1,
                "minutes": 26,
                "total_pass": 9,
                "accurate_pass": 7,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.6875,
                "dispossessed": 1.2,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 2,
                "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.065,
                "offsides": 1,
                "ball_carries": 6,
                "total_progression": 16,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.591,
                "bench_expected_minutes": 26.01,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "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": 71.0
              }
            }
          ]
        },
        "Christos Mouzakitis": {
          "player_id": 1416540,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 36,
          "height": 178,
          "market_value": 26000000,
          "stats": {
            "key_pass": 1,
            "assists": 0,
            "expected_assists": 0.0462,
            "expected_goals": 0.0291,
            "total_shots": 0,
            "total_pass": 15,
            "accurate_pass": 12,
            "ball_recovery": 2,
            "duels_won": 2,
            "rating": 7.2,
            "minutes": 23,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 19,
            "possession_lost": 2.4996,
            "dispossessed": 0.9,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.023,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0202,
            "ball_carries": 9,
            "total_progression": 24,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.543,
            "bench_expected_minutes": 22.96,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 3.003,
            "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": [],
          "ranking": {
            "global_player_rank": 4143,
            "combined_rank_score": 2149.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 745.0,
            "sofascore_rating": 6.6667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 3554.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "substitute",
            "projected_match_rating": 7.2,
            "source_file": "data/player_rankings.csv",
            "player_name": "Christos Mouzakitis",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicolás Valentini",
                  "ranking": 4138
                },
                {
                  "player_name": "Borna Sosa",
                  "ranking": 4139
                },
                {
                  "player_name": "Nathan Broadhead",
                  "ranking": 4140
                },
                {
                  "player_name": "Fábio Cardoso",
                  "ranking": 4141
                },
                {
                  "player_name": "Jorge Sánchez",
                  "ranking": 4142
                }
              ],
              "lower": [
                {
                  "player_name": "Sammie Szmodics",
                  "ranking": 4144
                },
                {
                  "player_name": "Mathias Honsak",
                  "ranking": 4145
                },
                {
                  "player_name": "Dan Neil",
                  "ranking": 4146
                },
                {
                  "player_name": "Juan Cruz",
                  "ranking": 4147
                },
                {
                  "player_name": "Lukas Petkov",
                  "ranking": 4148
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 22.95590653284853,
            "bench_appearance_prob": 0.5434502969476606,
            "market_value_adjustment": 0.6858,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€26,000,000) scaled to 23.0 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.69)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.181,
                "expected_goals": 0.116,
                "total_shots": 2,
                "total_pass": 60,
                "accurate_pass": 49,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.2,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 74,
                "possession_lost": 9.8,
                "dispossessed": 0.9,
                "duels_lost": 5,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.09,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.079,
                "ball_carries": 36,
                "total_progression": 95,
                "progressive_carries": 8
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.0 expected minutes (appearance prob 0.54)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0462,
                "expected_goals": 0.0296,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.2,
                "minutes": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 2.4996,
                "dispossessed": 0.9,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.023,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0202,
                "ball_carries": 9,
                "total_progression": 24,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.543,
                "bench_expected_minutes": 22.96
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0462,
                "expected_goals": 0.0296,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.2,
                "minutes": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 2.4996,
                "dispossessed": 0.9,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.023,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0202,
                "ball_carries": 9,
                "total_progression": 24,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.543,
                "bench_expected_minutes": 22.96
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.22 (squad xG sum 1.2338, xG scale 0.9848)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0462,
                "expected_goals": 0.0291,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.2,
                "minutes": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 2.4996,
                "dispossessed": 0.9,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.023,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0202,
                "ball_carries": 9,
                "total_progression": 24,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.543,
                "bench_expected_minutes": 22.96,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 1, fifa_overall 73.0)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0462,
                "expected_goals": 0.0291,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.2,
                "minutes": 23,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 2.4996,
                "dispossessed": 0.9,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.023,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0202,
                "ball_carries": 9,
                "total_progression": 24,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.543,
                "bench_expected_minutes": 22.96,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 3.003,
                "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
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 1,
        "expected_goals": 1.22,
        "expected_assists": 0.36,
        "total_shots": 14,
        "shots_on_target": 5,
        "total_passes": 250,
        "interceptions": 13,
        "tackles": 19,
        "avg_rating": 6.78,
        "possession_estimated_pct": 46.9,
        "pressing_actions_per_90": 6.6
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Roméo Lavia",
        "attacker_role": "LWB",
        "attacker_market_value": 21000000,
        "attacker_height": 181,
        "attacker_skill_quality": 0.641,
        "defenders": [
          "Lewie Coyle"
        ],
        "defender_roles": [
          "RWB"
        ],
        "def_skill_quality_avg": 0.416,
        "duel_zone": "LWB vs RWB",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.553,
        "xg_contribution": 0.0562,
        "shots_in_zone": 1.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 1.0,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 2.6,
        "fouls_drawn": 1.1,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Lewie Coyle",
            "role": "RWB",
            "market_value": 1300000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.4,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.447
          }
        ],
        "duel_analysis": "Roméo Lavia (LWB) is slightly favored against Lewie Coyle in a direct 1v1 contest. Duel win probability: 55%. The quality gap is significant (€21M vs €1M avg). Projected xG contribution: 0.056 — creating consistent moderate threat."
      },
      {
        "attacker": "Morgan Rogers",
        "attacker_role": "CM",
        "attacker_market_value": 105000000,
        "attacker_height": 187,
        "attacker_skill_quality": 0.895,
        "defenders": [
          "Elliot Stroud"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.503,
        "duel_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.604,
        "xg_contribution": 0.1839,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.6,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Elliot Stroud",
            "role": "CM",
            "market_value": 8400000,
            "tackles_attempted": 2.0,
            "tackles_won": 1.4,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.396
          }
        ],
        "duel_analysis": "Morgan Rogers (CM) has a clear attacking advantage against Elliot Stroud in a direct 1v1 contest. Duel win probability: 60%. The quality gap is significant (€105M vs €8M avg). Projected xG contribution: 0.184 — and projects to generate high-quality chances."
      },
      {
        "attacker": "Cole Palmer",
        "attacker_role": "CM",
        "attacker_market_value": 92000000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.89,
        "defenders": [
          "Elliot Stroud"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.503,
        "duel_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.594,
        "xg_contribution": 0.1817,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.6,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Elliot Stroud",
            "role": "CM",
            "market_value": 8400000,
            "tackles_attempted": 2.0,
            "tackles_won": 1.4,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.406
          }
        ],
        "duel_analysis": "Cole Palmer (CM) is slightly favored against Elliot Stroud in a direct 1v1 contest. Duel win probability: 59%. The quality gap is significant (€92M vs €8M avg). Projected xG contribution: 0.182 — creating consistent moderate threat."
      },
      {
        "attacker": "Pedro Neto",
        "attacker_role": "RWB",
        "attacker_market_value": 58000000,
        "attacker_height": 172,
        "attacker_skill_quality": 0.848,
        "defenders": [
          "Ryan Giles"
        ],
        "defender_roles": [
          "LWB"
        ],
        "def_skill_quality_avg": 0.533,
        "duel_zone": "RWB vs LWB",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.534,
        "xg_contribution": 0.2089,
        "shots_in_zone": 1.1,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.9,
        "aerial_duels": 2,
        "aerial_won": 0.8,
        "crosses_in_zone": 3.0,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Ryan Giles",
            "role": "LWB",
            "market_value": 10900000,
            "tackles_attempted": 2.0,
            "tackles_won": 1.5,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.466
          }
        ],
        "duel_analysis": "Pedro Neto (RWB) is slightly favored against Ryan Giles in a direct 1v1 contest. Duel win probability: 53%. The quality gap is significant (€58M vs €11M avg). Projected xG contribution: 0.209 — creating consistent moderate threat."
      },
      {
        "attacker": "João Pedro",
        "attacker_role": "SS",
        "attacker_market_value": 74000000,
        "attacker_height": 186,
        "attacker_skill_quality": 0.876,
        "defenders": [
          "John Egan"
        ],
        "defender_roles": [
          "CB"
        ],
        "def_skill_quality_avg": 0.412,
        "duel_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.663,
        "xg_contribution": 0.3444,
        "shots_in_zone": 3.2,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.7,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.1,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "John Egan",
            "role": "CB",
            "market_value": 970000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.2,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.337
          }
        ],
        "duel_analysis": "João Pedro (SS) has a clear attacking advantage against John Egan in a direct 1v1 contest. Duel win probability: 66%. The quality gap is significant (€74M vs €1M avg). Projected xG contribution: 0.344 — and projects to generate high-quality chances."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "Ryan Giles",
        "attacker_role": "LWB",
        "attacker_market_value": 10900000,
        "attacker_height": 179,
        "attacker_skill_quality": 0.533,
        "defenders": [
          "Pedro Neto"
        ],
        "defender_roles": [
          "RWB"
        ],
        "def_skill_quality_avg": 0.848,
        "duel_zone": "LWB vs RWB",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.306,
        "xg_contribution": 0.0168,
        "shots_in_zone": 0.8,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.5,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 2.4,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Pedro Neto",
            "role": "RWB",
            "market_value": 58000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.3,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.694
          }
        ],
        "duel_analysis": "Ryan Giles (LWB) is heavily outmatched defensively against Pedro Neto in a direct 1v1 contest. Duel win probability: 31%. The quality gap is significant (€11M vs €58M avg). Projected xG contribution: 0.017 — with very limited chance creation expected."
      },
      {
        "attacker": "Lewie Coyle",
        "attacker_role": "RWB",
        "attacker_market_value": 1300000,
        "attacker_height": 173,
        "attacker_skill_quality": 0.416,
        "defenders": [
          "Roméo Lavia"
        ],
        "defender_roles": [
          "LWB"
        ],
        "def_skill_quality_avg": 0.641,
        "duel_zone": "RWB vs LWB",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.287,
        "xg_contribution": 0.0574,
        "shots_in_zone": 0.8,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.5,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 2.1,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Roméo Lavia",
            "role": "LWB",
            "market_value": 21000000,
            "tackles_attempted": 2.1,
            "tackles_won": 2.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.713
          }
        ],
        "duel_analysis": "Lewie Coyle (RWB) is heavily outmatched defensively against Roméo Lavia in a direct 1v1 contest. Duel win probability: 29%. The quality gap is significant (€1M vs €21M avg). Projected xG contribution: 0.057 — with very limited chance creation expected."
      },
      {
        "attacker": "Regan Slater",
        "attacker_role": "LM",
        "attacker_market_value": 5100000,
        "attacker_height": 173,
        "attacker_skill_quality": 0.463,
        "defenders": [
          "Jorrel Hato"
        ],
        "defender_roles": [
          "CB"
        ],
        "def_skill_quality_avg": 0.786,
        "duel_zone": "LM vs CB",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.239,
        "xg_contribution": 0.0401,
        "shots_in_zone": 1.1,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 2.1,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Jorrel Hato",
            "role": "CB",
            "market_value": 41000000,
            "tackles_attempted": 2.2,
            "tackles_won": 2.4,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.761
          }
        ],
        "duel_analysis": "Regan Slater (LM) is heavily outmatched defensively against Jorrel Hato in a direct 1v1 contest. Duel win probability: 24%. The quality gap is significant (€5M vs €41M avg). Projected xG contribution: 0.040 — with very limited chance creation expected."
      },
      {
        "attacker": "Elliot Stroud",
        "attacker_role": "CM",
        "attacker_market_value": 8400000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.503,
        "defenders": [
          "Morgan Rogers"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.895,
        "duel_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.236,
        "xg_contribution": 0.0563,
        "shots_in_zone": 1.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Morgan Rogers",
            "role": "CM",
            "market_value": 105000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.5,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.764
          }
        ],
        "duel_analysis": "Elliot Stroud (CM) is heavily outmatched defensively against Morgan Rogers in a direct 1v1 contest. Duel win probability: 24%. The quality gap is significant (€8M vs €105M avg). Projected xG contribution: 0.056 — with very limited chance creation expected."
      },
      {
        "attacker": "Lucas Gourna-Douath",
        "attacker_role": "CM",
        "attacker_market_value": 5600000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.47,
        "defenders": [
          "Morgan Rogers"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.895,
        "duel_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.221,
        "xg_contribution": 0.0246,
        "shots_in_zone": 1.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Morgan Rogers",
            "role": "CM",
            "market_value": 105000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.5,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.779
          }
        ],
        "duel_analysis": "Lucas Gourna-Douath (CM) is heavily outmatched defensively against Morgan Rogers in a direct 1v1 contest. Duel win probability: 22%. The quality gap is significant (€6M vs €105M avg). Projected xG contribution: 0.025 — with very limited chance creation expected."
      },
      {
        "attacker": "Mohamed Belloumi",
        "attacker_role": "RM",
        "attacker_market_value": 5700000,
        "attacker_height": 177,
        "attacker_skill_quality": 0.471,
        "defenders": [
          "Jorrel Hato"
        ],
        "defender_roles": [
          "CB"
        ],
        "def_skill_quality_avg": 0.786,
        "duel_zone": "RM vs CB",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.258,
        "xg_contribution": 0.0752,
        "shots_in_zone": 1.2,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 2.1,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Jorrel Hato",
            "role": "CB",
            "market_value": 41000000,
            "tackles_attempted": 2.2,
            "tackles_won": 2.3,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.742
          }
        ],
        "duel_analysis": "Mohamed Belloumi (RM) is heavily outmatched defensively against Jorrel Hato in a direct 1v1 contest. Duel win probability: 26%. The quality gap is significant (€6M vs €41M avg). Projected xG contribution: 0.075 — with very limited chance creation expected."
      },
      {
        "attacker": "Oli McBurnie",
        "attacker_role": "ST",
        "attacker_market_value": 5400000,
        "attacker_height": 188,
        "attacker_skill_quality": 0.467,
        "defenders": [
          "Jorrel Hato",
          "Wesley Fofana"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.748,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.1978,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Jorrel Hato",
            "role": "CB",
            "market_value": 41000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Wesley Fofana",
            "role": "CB",
            "market_value": 29000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Oli McBurnie (ST) is heavily outmatched defensively against Jorrel Hato and Wesley Fofana in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€5M vs €35M avg). Projected xG contribution: 0.198 — with very limited chance creation expected."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.843,
      "away_midfield_power": 0.502,
      "home_creative_power": 0.829,
      "away_creative_power": 0.397,
      "home_defensive_power": 0.633,
      "away_defensive_power": 0.478,
      "home_dominance_ratio": 0.627,
      "home_midfield_count": 4,
      "away_midfield_count": 4,
      "home_midfield_players": [
        "Morgan Rogers",
        "Cole Palmer",
        "Roméo Lavia",
        "Pedro Neto"
      ],
      "away_midfield_players": [
        "Elliot Stroud",
        "Lucas Gourna-Douath",
        "Regan Slater",
        "Mohamed Belloumi"
      ],
      "possession_advantage": "home",
      "estimated_possession_home_pct": 53.1,
      "estimated_possession_away_pct": 46.9,
      "home_pressing_actions_per_90": 7.9,
      "away_pressing_actions_per_90": 6.6,
      "home_key_passes_projected": 6.5,
      "away_key_passes_projected": 3.9,
      "home_throughball_threat": 3.1,
      "away_throughball_threat": 1.8,
      "key_personal_duel": "Morgan Rogers vs Elliot Stroud",
      "midfield_lambda_factor_home": 1.047,
      "midfield_lambda_factor_away": 0.956
    },
    "formation_analysis": {
      "home_formation": "3-4-2-1",
      "away_formation": "5-4-1",
      "home_tactical_bonus": 0.01,
      "away_tactical_bonus": -0.01,
      "formation_verdict": "Tactical parity between 3-4-2-1 and 5-4-1. Match outcome driven primarily by individual player quality."
    },
    "home_lambda": 3.821,
    "away_lambda": 1.215,
    "home_top_threat_zones": [
      "Shadow Striker vs Centre Back — Half-Space Threat",
      "RWB vs LWB"
    ],
    "away_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "RM vs CB"
    ],
    "home_player_antagonists": {
      "Roméo Lavia": {
        "opponents": [
          "Lewie Coyle",
          "Regan Slater"
        ],
        "primary_zone": "LWB vs RWB",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Morgan Rogers": {
        "opponents": [
          "Elliot Stroud",
          "Lucas Gourna-Douath"
        ],
        "primary_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Cole Palmer": {
        "opponents": [
          "Elliot Stroud",
          "Lucas Gourna-Douath"
        ],
        "primary_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "source": "attacking_duel, midfield_pairing"
      },
      "Pedro Neto": {
        "opponents": [
          "Ryan Giles",
          "Mohamed Belloumi"
        ],
        "primary_zone": "RWB vs LWB",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "João Pedro": {
        "opponents": [
          "John Egan"
        ],
        "primary_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
        "source": "attacking_duel"
      },
      "Jorrel Hato": {
        "opponents": [
          "Regan Slater",
          "Mohamed Belloumi",
          "Oli McBurnie"
        ],
        "primary_zone": "LM vs CB",
        "source": "defensive_duel"
      },
      "Wesley Fofana": {
        "opponents": [
          "Oli McBurnie"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Emiliano Martínez": {
        "opponents": [
          "Oli McBurnie",
          "Elliot Stroud"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Maxence Lacroix": {
        "opponents": [
          "Oli McBurnie"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Reece James": {
        "opponents": [
          "Oli McBurnie"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Josh Acheampong": {
        "opponents": [
          "Oli McBurnie"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Lewie Coyle": {
        "opponents": [
          "Roméo Lavia"
        ],
        "primary_zone": "LWB vs RWB",
        "source": "defensive_duel, attacking_duel"
      },
      "Elliot Stroud": {
        "opponents": [
          "Morgan Rogers",
          "Cole Palmer"
        ],
        "primary_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Ryan Giles": {
        "opponents": [
          "Pedro Neto"
        ],
        "primary_zone": "RWB vs LWB",
        "source": "defensive_duel, attacking_duel"
      },
      "John Egan": {
        "opponents": [
          "João Pedro"
        ],
        "primary_zone": "Shadow Striker vs Centre Back — Half-Space Threat",
        "source": "defensive_duel"
      },
      "Regan Slater": {
        "opponents": [
          "Jorrel Hato",
          "Roméo Lavia"
        ],
        "primary_zone": "LM vs CB",
        "source": "attacking_duel, midfield_pairing"
      },
      "Lucas Gourna-Douath": {
        "opponents": [
          "Morgan Rogers",
          "Cole Palmer"
        ],
        "primary_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "source": "attacking_duel, midfield_pairing"
      },
      "Mohamed Belloumi": {
        "opponents": [
          "Jorrel Hato",
          "Pedro Neto"
        ],
        "primary_zone": "RM vs CB",
        "source": "attacking_duel, midfield_pairing"
      },
      "Oli McBurnie": {
        "opponents": [
          "Jorrel Hato",
          "Wesley Fofana"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Konstantinos Tzolakis": {
        "opponents": [
          "João Pedro",
          "Morgan Rogers"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Semi Ajayi": {
        "opponents": [
          "João Pedro"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Nobel Mendy": {
        "opponents": [
          "João Pedro"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "key_tactical_insight": "Home midfield dominates with ~53% possession expected (Morgan Rogers vs Elliot Stroud). Total antagonist xG — Home: 0.98, Away: 0.47. Home danger zone: Shadow Striker vs Centre Back — Half-Space Threat. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle.",
    "lambda_factors": {
      "home_gk_opposition_factor": 0.9429,
      "away_gk_opposition_factor": 0.9686,
      "home_set_piece_bonus": 0.18,
      "away_set_piece_bonus": 0.123,
      "home_defensive_solidity_vs": 0.996,
      "away_defensive_solidity_vs": 0.8725,
      "home_midfield_factor": 1.047,
      "away_midfield_factor": 0.956,
      "stage_discount": 1.0,
      "quality_gap_applied": true,
      "home_avg_quality": 0.801,
      "away_avg_quality": 0.4639,
      "avg_quality_gap": 0.3371,
      "squad_value_gap_log": 2.2248,
      "top5_value_gap_log": 2.119,
      "attack_value_gap_log": 2.1922,
      "elite_count_gap": 7,
      "combined_quality_gap": 0.6943,
      "stronger_lambda_boost": 0.3819,
      "weaker_lambda_suppression": 0.2222,
      "home_bench_lambda_bonus": 0.1082,
      "away_bench_lambda_bonus": 0.1024,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "fbref_team_priors": {
        "applied": true,
        "home_squad": "Chelsea",
        "away_squad": "Hull City",
        "home_goals_per90": 3.5,
        "away_goals_against_per90": 1.5,
        "away_goals_per90": 1.5,
        "home_goals_against_per90": 3.5,
        "home_empirical_lambda": 3.5,
        "away_empirical_lambda": 3.5,
        "blending_weight": 0.192
      },
      "mismatch_score_pressure_applied": true,
      "mismatch_score_pressure_gap": 0.6943,
      "mismatch_favorite_lambda_boost": 1.1786,
      "mismatch_underdog_lambda_factor": 0.9406,
      "pre_mismatch_home_lambda": 3.242,
      "pre_mismatch_away_lambda": 1.292,
      "competitive_underdog_floor_applied": false,
      "pre_calibration_home_lambda": 3.2424,
      "pre_calibration_away_lambda": 1.2921,
      "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": 3.821,
      "final_away_lambda": 1.215
    }
  },
  "home_standing": {
    "available": true,
    "team_position": 4,
    "opponent_position": 3,
    "standing_lambda_multiplier": 1.6361,
    "attack_index": 3.332,
    "defense_concede_index": 1.0,
    "form_multiplier": 0.981,
    "team_attack_rate_contextual": 4.0,
    "opp_defense_rate_contextual": 0.0,
    "team_ppg": 2.0,
    "opponent_ppg": 2.33
  },
  "away_standing": {
    "available": true,
    "team_position": 3,
    "opponent_position": 4,
    "standing_lambda_multiplier": 1.2834,
    "attack_index": 0.625,
    "defense_concede_index": 2.915,
    "form_multiplier": 1.019,
    "team_attack_rate_contextual": 0.75,
    "opp_defense_rate_contextual": 3.5,
    "team_ppg": 2.33,
    "opponent_ppg": 2.0
  },
  "xgboost_reasoning": {
    "summary": "Antagonist + XGBoost match analysis for Chelsea vs Hull. Player statistics regressed using position-specific XGBoost models (G, D, M, F) with 2026-2027 FBref priors. Micro-duels resolved across 3-4-2-1 vs 5-4-1 (duel lambdas: Home 3.242, Away 1.292). Final calibrated Poisson lambdas: Home 3.821, Away 1.215 (most likely score 3-1).",
    "competition": "Premier League",
    "model_coverage": {
      "home_starters_count": 11,
      "home_xgboost_players": 8,
      "home_fbref_players": 10,
      "away_starters_count": 11,
      "away_xgboost_players": 11,
      "away_fbref_players": 8,
      "home_bench_modelled": 7,
      "away_bench_modelled": 7
    },
    "team_priors": {
      "applied": true,
      "home_squad": "Chelsea",
      "away_squad": "Hull City",
      "home_goals_per90": 3.5,
      "away_goals_against_per90": 1.5,
      "away_goals_per90": 1.5,
      "home_goals_against_per90": 3.5,
      "home_empirical_lambda": 3.5,
      "away_empirical_lambda": 3.5,
      "blending_weight": 0.192
    },
    "pipeline_stages": [
      "1. XGBoost player regressions for volume & event rates with market-value quality scaling",
      "2. Multi-source prior blending (FBref 2026-2027 tables + Sofascore season history)",
      "3. Antagonist formation duel matrix resolving 1v1 and zonal matchups",
      "4. Team-level prior calibration (FBref possession and attack/defense efficiencies)",
      "5. Bivariate Poisson matrix with Dixon-Coles low-score correction"
    ],
    "final_lambdas": {
      "home_lambda": 3.821,
      "away_lambda": 1.215,
      "micro_duel_home_lambda": 3.242,
      "micro_duel_away_lambda": 1.292
    },
    "calibration_and_pressure": {
      "competition_calibration_applied": false,
      "competition_calibration_scale": 1.0,
      "mismatch_pressure_applied": true,
      "underdog_floor_applied": false
    }
  },
  "timestamp": "2026-09-12T13:30:29Z"
}