{
  "match_info": {
    "home_team": "Chelsea",
    "away_team": "Man Utd",
    "tournament": "Premier League",
    "date": "20261031",
    "timezone": "America/New_York",
    "home_formation": "4-2-3-1",
    "away_formation": "4-2-3-1",
    "lineup_status": "unconfirmed_official",
    "lineup_source": "/matches/get-lineups",
    "lineup_confirmed": false,
    "lineup_confidence": 0.75
  },
  "prediction": {
    "most_likely_score": "2-1",
    "home_goals": 2,
    "away_goals": 1,
    "most_likely_score_probability": 0.0899,
    "most_likely_winning_score_home": "2-1",
    "most_likely_winning_score_home_probability": 0.0899,
    "most_likely_winning_score_away": "1-2",
    "most_likely_winning_score_away_probability": 0.077,
    "match_resolution": "regulation",
    "predicted_winner": "Chelsea",
    "tiebreaker": {
      "applies": false,
      "method": "none",
      "regulation_draw_probability": 0.2391,
      "shootout_home_win_probability": null,
      "shootout_away_win_probability": null,
      "penalty_home_goals": null,
      "penalty_away_goals": null,
      "penalty_score": null,
      "penalty_winner": null,
      "penalty_winner_goals": null,
      "penalty_loser_goals": null,
      "penalty_result": null,
      "home_advance_probability": null,
      "away_advance_probability": null,
      "projected_winner": null,
      "projected_winner_probability": null,
      "final_score_after_penalties": null,
      "deciding_stage": null,
      "deciding_scoreline": null,
      "deciding_scoreline_probability": null,
      "deciding_route_probability": null,
      "reason": "Tie-breaker not required for this match context."
    },
    "top_5_scorelines": [
      {
        "score": "1-1",
        "probability": 0.109
      },
      {
        "score": "2-1",
        "probability": 0.0899
      },
      {
        "score": "1-2",
        "probability": 0.077
      },
      {
        "score": "1-0",
        "probability": 0.0753
      },
      {
        "score": "0-1",
        "probability": 0.0644
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.0466,
      "0-1": 0.0644,
      "0-2": 0.0463,
      "0-3": 0.022,
      "0-4": 0.0078,
      "0-5": 0.0022,
      "0-6": 0.0005,
      "1-0": 0.0753,
      "1-1": 0.109,
      "1-2": 0.077,
      "1-3": 0.0365,
      "1-4": 0.013,
      "1-5": 0.0037,
      "1-6": 0.0009,
      "2-0": 0.0632,
      "2-1": 0.0899,
      "2-2": 0.0639,
      "2-3": 0.0303,
      "2-4": 0.0108,
      "2-5": 0.0031,
      "2-6": 0.0007,
      "3-0": 0.035,
      "3-1": 0.0498,
      "3-2": 0.0354,
      "3-3": 0.0168,
      "3-4": 0.006,
      "3-5": 0.0017,
      "4-0": 0.0145,
      "4-1": 0.0207,
      "4-2": 0.0147,
      "4-3": 0.007,
      "4-4": 0.0025,
      "4-5": 0.0007,
      "5-0": 0.0048,
      "5-1": 0.0069,
      "5-2": 0.0049,
      "5-3": 0.0023,
      "5-4": 0.0008,
      "6-0": 0.0013,
      "6-1": 0.0019,
      "6-2": 0.0014,
      "6-3": 0.0006
    },
    "outcome": {
      "home_win": 0.4323,
      "draw": 0.2391,
      "away_win": 0.3287
    },
    "markets": {
      "over_2_5_goals": 0.5951,
      "under_2_5_goals": 0.4049,
      "btts_yes": 0.6154,
      "btts_no": 0.3846,
      "home_clean_sheet": 0.2412,
      "away_clean_sheet": 0.19
    },
    "home_ratings": {
      "DR": 6.74,
      "MCR": 7.02,
      "ATR": 6.8,
      "GK": 6.83
    },
    "away_ratings": {
      "DR": 6.82,
      "MCR": 7.0,
      "ATR": 6.89,
      "GK": 6.88
    },
    "insights": {
      "summary": "Antagonist matchup analysis for Chelsea vs Man Utd. Most likely scoreline: 2-1. Lambdas derived from 6 home and 6 away individual player duels. Head-to-head: Chelsea 2W-4D-4L vs Man Utd over 10 meetings.",
      "key_player": "Projected scorer(s): Cole Palmer, Pedro Neto, Bryan Mbeumo",
      "tactical_analysis": "Tactical parity between 4-2-3-1 and 4-2-3-1. Match outcome driven primarily by individual player quality. Midfield is evenly contested — Moisés Caicedo vs Carlos Baleba will be the pivotal duel. Total antagonist xG — Home: 0.77, Away: 0.87. Home danger zone: Left Wing vs Right Back — Flank Battle. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle."
    },
    "confidence": 0.71,
    "home_lambda": 1.661,
    "away_lambda": 1.422,
    "h2h": {
      "available": true,
      "meetings": 10,
      "home_wins": 2,
      "away_wins": 4,
      "draws": 4,
      "home_multiplier": 0.9857,
      "away_multiplier": 1.0143
    },
    "modal_scoreline": "1-1",
    "modal_scoreline_probability": 0.109,
    "headline_policy": null
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.4323,
      "draw": 0.2391,
      "away_win": 0.3287
    },
    "favorite": "Chelsea",
    "favorite_win_probability": 0.4323,
    "fair_spread": 0.239,
    "fair_total": 3.083,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "Chelsea",
        "estimate": 1.661,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "Man Utd",
        "estimate": 1.422,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.5951,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.6154,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Chelsea",
        "estimate": 1.0,
        "probability": 0.2412,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Man Utd",
        "estimate": 1.0,
        "probability": 0.19,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "Cole Palmer (Chelsea)",
        "estimate": 0.399,
        "probability": 0.329,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Bryan Mbeumo (Man Utd)",
        "estimate": 0.3808,
        "probability": 0.3167,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Cole Palmer (Chelsea)",
        "estimate": 0.2925,
        "probability": 0.2536,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Bruno Fernandes (Man Utd)",
        "estimate": 0.2225,
        "probability": 0.1995,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "high",
      "expected_total_goals": 3.083,
      "expected_total_shots": 24,
      "expected_total_passes": 912,
      "expected_pressing_actions_per_90": 16.4,
      "possession_home_pct": 50.2,
      "possession_away_pct": 49.8,
      "notes": "possession projects near even"
    },
    "expected_game_script": {
      "favorite": "Chelsea",
      "favorite_win_probability": 0.4323,
      "script": "Chelsea is the fair winner side, but the baseline remains narrow: fair spread +0.24 goals and fair total 3.08.",
      "first_half": "Expect high tempo while both sides test the matchup thesis; shot baseline is about 12 first-half attempts.",
      "second_half": "If level after halftime, midfield control and bench quality should decide territory; Man Utd 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": "Man Utd chance creation leans on Bryan Mbeumo against Josh Acheampong, Jorrel Hato in Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle; possession projects near even.",
    "expected_rotation_usage_behavior": [
      "Chelsea: starters carry the main goal usage through Cole Palmer, Pedro Neto; bench watchlist: Estêvão, Marco Palestra.",
      "Man Utd: starters carry the main goal usage through Bryan Mbeumo; bench watchlist: Matheus Cunha, Benjamin Šeško, Kobbie Mainoo.",
      "Assist usage should flow through Cole Palmer, Pedro Neto, Bruno Fernandes; 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 12 total first-half shots, and 1.54 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 Man Utd 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.",
      "Man Utd 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": "4-2-3-1",
      "players": {
        "Mike Penders": {
          "player_id": 1149148,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 39,
          "height": 199,
          "market_value": 24000000,
          "stats": {
            "saves": 3,
            "goals_prevented": -0.1137,
            "rating": 6.8309,
            "minutes": 90,
            "total_pass": 26,
            "accurate_pass": 13,
            "total_long_balls": 18,
            "accurate_long_balls": 5,
            "touches": 35,
            "clearances": 1,
            "ball_recovery": 7,
            "high_claims": 0,
            "punches": 1.035,
            "aerial_won": 2,
            "sweeper_actions": 2,
            "sweeper_accurate": 2,
            "saves_inside_box": 2,
            "possession_lost": 13.9585,
            "duels_won": 2,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 11,
            "accurate_own_half_passes": 10,
            "gk_engine_opponent_lambda": 1.6917,
            "shots_faced": 13.5,
            "expected_saves": 3.3,
            "high_pressure_saves": 1.14,
            "opponent_faced": "Bryan Mbeumo, Bruno Fernandes",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "finishing_factor": 1.0,
            "creation_factor": 1.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 5.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 38,
                "accurate_pass": 20,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 9,
                "saves": 3,
                "goals_prevented": -0.8761
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 15,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 4,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 4,
                "saves": 1,
                "goals_prevented": 0.326
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "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": 9,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8309,
            "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": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.375,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "goalsPrevented",
              "rating",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.375,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.035,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "XGBoost regressor (G_service) evaluated 2 historical appearances across 3 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.00, 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.1128,
                "goals_prevented": -0.1099,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 25.5946,
                "accurate_pass": 12.6487,
                "total_long_balls": 17.4865,
                "accurate_long_balls": 4.5405,
                "touches": 33.6757,
                "clearances": 1.0,
                "ball_recovery": 6.7027,
                "high_claims": 0.4595,
                "punches": 1.0,
                "aerial_won": 1.4595,
                "sweeper_actions": 2.0,
                "sweeper_accurate": 2.0,
                "saves_inside_box": 2.0811,
                "possession_lost": 13.4865,
                "duels_won": 1.4595,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.1081,
                "accurate_own_half_passes": 9.6486
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-10-30T10:03:31.159511+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 201,
                    "rows": 7335
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.5405,
                    "rating": 5.5
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.4595,
                    "rating": 7.2
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 1.0,
                  "sweeper_actions_p90": 6.5946,
                  "accurateOwnHalfPasses": 9.6486,
                  "totalLongBalls": 17.4865,
                  "commanding_index": 2.4189,
                  "accurateKeeperSweeper": 2.0,
                  "distribution_accuracy": 0.6637
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 3.1128218173980713,
                    "model_output": 3.1128,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0453
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0393
                      },
                      {
                        "name": "save_contribution",
                        "importance": 0.038
                      },
                      {
                        "name": "saves",
                        "importance": 0.0361
                      },
                      {
                        "name": "commanding_index",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 2.9243,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": 0.0676
                        },
                        {
                          "name": "commanding_index",
                          "contribution": 0.0377
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0256
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0231
                        },
                        {
                          "name": "accurateOwnHalfPasses",
                          "contribution": 0.0192
                        }
                      ],
                      "others": 0.0153,
                      "total": 3.1128,
                      "log_link": true,
                      "margin_base": 1.07304,
                      "item_margins": [
                        {
                          "name": "accuratePass",
                          "margin": 0.022855
                        },
                        {
                          "name": "commanding_index",
                          "margin": 0.01252
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.008428
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.007535
                        },
                        {
                          "name": "accurateOwnHalfPasses",
                          "margin": 0.006219
                        }
                      ],
                      "others_margin": 0.004932
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.10989829897880554,
                    "model_output": -0.1099,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0462
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0392
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0391
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0381
                      },
                      {
                        "name": "punches",
                        "importance": 0.0369
                      }
                    ],
                    "decomposition": {
                      "base": -0.0231,
                      "items": [
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.1083
                        },
                        {
                          "name": "sweeper_accuracy",
                          "contribution": 0.0566
                        },
                        {
                          "name": "distribution_accuracy",
                          "contribution": 0.0203
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0173
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0162
                        }
                      ],
                      "others": -0.0543,
                      "total": -0.1099,
                      "log_link": false,
                      "margin_base": -0.023055,
                      "item_margins": [
                        {
                          "name": "minutesPlayed",
                          "margin": -0.108261
                        },
                        {
                          "name": "sweeper_accuracy",
                          "margin": 0.056568
                        },
                        {
                          "name": "distribution_accuracy",
                          "margin": 0.02031
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.017285
                        },
                        {
                          "name": "rating",
                          "margin": 0.016202
                        }
                      ],
                      "others_margin": -0.054378
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.830897331237793,
                    "model_output": 6.8309,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.039
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0364
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.036
                      },
                      {
                        "name": "totalKeeperSweeper",
                        "importance": 0.0357
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0356
                      }
                    ],
                    "decomposition": {
                      "base": 6.9903,
                      "items": [
                        {
                          "name": "totalOwnHalfPasses",
                          "contribution": -0.0309
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0266
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0219
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0219
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0204
                        }
                      ],
                      "others": -0.0815,
                      "total": 6.8309,
                      "log_link": false,
                      "margin_base": 6.99032,
                      "item_margins": [
                        {
                          "name": "totalOwnHalfPasses",
                          "margin": -0.030924
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.02658
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.021944
                        },
                        {
                          "name": "rating",
                          "margin": 0.021882
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.020371
                        }
                      ],
                      "others_margin": -0.081485
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 2,
                  "role_matches": 1,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0350, quality 0.669)",
              "stats": {
                "saves": 3.2218,
                "goals_prevented": -0.1137,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 26.4904,
                "accurate_pass": 13.0914,
                "total_long_balls": 18.0985,
                "accurate_long_balls": 4.6994,
                "touches": 34.8543,
                "clearances": 1.035,
                "ball_recovery": 6.9373,
                "high_claims": 0.4756,
                "punches": 1.035,
                "aerial_won": 1.5106,
                "sweeper_actions": 2.07,
                "sweeper_accurate": 2.07,
                "saves_inside_box": 2.1539,
                "possession_lost": 13.9585,
                "duels_won": 1.5106,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.4969,
                "accurate_own_half_passes": 9.9863
              },
              "params": {
                "market_value_eur": 24000000,
                "quality_factor": 0.6685,
                "boost_factor": 1.035,
                "reference_quality": 0.505,
                "history_matches": 2,
                "history_shrink": 0.7143,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3.2218,
                "goals_prevented": -0.1137,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 26.4904,
                "accurate_pass": 13.0914,
                "total_long_balls": 18.0985,
                "accurate_long_balls": 4.6994,
                "touches": 34.8543,
                "clearances": 1.035,
                "ball_recovery": 6.9373,
                "high_claims": 0.4756,
                "punches": 1.035,
                "aerial_won": 1.5106,
                "sweeper_actions": 2.07,
                "sweeper_accurate": 2.07,
                "saves_inside_box": 2.1539,
                "possession_lost": 13.9585,
                "duels_won": 1.5106,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.4969,
                "accurate_own_half_passes": 9.9863
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 3.2218,
                "goals_prevented": -0.1137,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 26.4904,
                "accurate_pass": 13.0914,
                "total_long_balls": 18.0985,
                "accurate_long_balls": 4.6994,
                "touches": 34.8543,
                "clearances": 1.035,
                "ball_recovery": 6.9373,
                "high_claims": 0.4756,
                "punches": 1.035,
                "aerial_won": 1.5106,
                "sweeper_actions": 2.07,
                "sweeper_accurate": 2.07,
                "saves_inside_box": 2.1539,
                "possession_lost": 13.9585,
                "duels_won": 1.5106,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.4969,
                "accurate_own_half_passes": 9.9863,
                "gk_engine_opponent_lambda": 1.6917,
                "shots_faced": 16.1,
                "expected_saves": 3.94,
                "high_pressure_saves": 1.35,
                "opponent_faced": "Bryan Mbeumo, Bruno Fernandes",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Bryan Mbeumo, Bruno Fernandes",
                  "matchup_zone": "Goalkeeper shot-stopping context",
                  "opponent_lambda": 1.6917
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "saves": 3.2218,
                "goals_prevented": -0.1137,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 26.4904,
                "accurate_pass": 13.0914,
                "total_long_balls": 18.0985,
                "accurate_long_balls": 4.6994,
                "touches": 34.8543,
                "clearances": 1.035,
                "ball_recovery": 6.9373,
                "high_claims": 0.4756,
                "punches": 1.035,
                "aerial_won": 1.5106,
                "sweeper_actions": 2.07,
                "sweeper_accurate": 2.07,
                "saves_inside_box": 2.1539,
                "possession_lost": 13.9585,
                "duels_won": 1.5106,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.4969,
                "accurate_own_half_passes": 9.9863,
                "gk_engine_opponent_lambda": 1.6917,
                "shots_faced": 16.1,
                "expected_saves": 3.94,
                "high_pressure_saves": 1.35,
                "opponent_faced": "Bryan Mbeumo, Bruno Fernandes",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "saves": 3.2218,
                "goals_prevented": -0.1137,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 26.4904,
                "accurate_pass": 13.0914,
                "total_long_balls": 18.0985,
                "accurate_long_balls": 4.6994,
                "touches": 34.8543,
                "clearances": 1.035,
                "ball_recovery": 6.9373,
                "high_claims": 0.4756,
                "punches": 1.035,
                "aerial_won": 1.5106,
                "sweeper_actions": 2.07,
                "sweeper_accurate": 2.07,
                "saves_inside_box": 2.1539,
                "possession_lost": 13.9585,
                "duels_won": 1.5106,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.4969,
                "accurate_own_half_passes": 9.9863,
                "gk_engine_opponent_lambda": 1.6917,
                "shots_faced": 13.5,
                "expected_saves": 3.3,
                "high_pressure_saves": 1.14,
                "opponent_faced": "Bryan Mbeumo, Bruno Fernandes",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "shots_faced",
                  "before": 16.1,
                  "after": 13.5
                },
                {
                  "stat": "expected_saves",
                  "before": 3.94,
                  "after": 3.3
                },
                {
                  "stat": "high_pressure_saves",
                  "before": 1.35,
                  "after": 1.14
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 9 by projected rating, fifa_overall 78.0)",
              "stats": {
                "saves": 3.2218,
                "goals_prevented": -0.1137,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 26.4904,
                "accurate_pass": 13.0914,
                "total_long_balls": 18.0985,
                "accurate_long_balls": 4.6994,
                "touches": 34.8543,
                "clearances": 1.035,
                "ball_recovery": 6.9373,
                "high_claims": 0.4756,
                "punches": 1.035,
                "aerial_won": 1.5106,
                "sweeper_actions": 2.07,
                "sweeper_accurate": 2.07,
                "saves_inside_box": 2.1539,
                "possession_lost": 13.9585,
                "duels_won": 1.5106,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.4969,
                "accurate_own_half_passes": 9.9863,
                "gk_engine_opponent_lambda": 1.6917,
                "shots_faced": 13.5,
                "expected_saves": 3.3,
                "high_pressure_saves": 1.14,
                "opponent_faced": "Bryan Mbeumo, Bruno Fernandes",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 9,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1454,
                "fifa_rank": 1125.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "saves": 3.2218,
                "goals_prevented": -0.1137,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 26.4904,
                "accurate_pass": 13.0914,
                "total_long_balls": 18.0985,
                "accurate_long_balls": 4.6994,
                "touches": 34.8543,
                "clearances": 1.035,
                "ball_recovery": 6.9373,
                "high_claims": 0.4756,
                "punches": 1.035,
                "aerial_won": 1.5106,
                "sweeper_actions": 2.07,
                "sweeper_accurate": 2.07,
                "saves_inside_box": 2.1539,
                "possession_lost": 13.9585,
                "duels_won": 1.5106,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.4969,
                "accurate_own_half_passes": 9.9863,
                "gk_engine_opponent_lambda": 1.6917,
                "shots_faced": 13.5,
                "expected_saves": 3.3,
                "high_pressure_saves": 1.14,
                "opponent_faced": "Bryan Mbeumo, Bruno Fernandes",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.0,
                "squad_weight_total": 1.766,
                "weight_share": 0.0,
                "finishing_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "saves": 3.2218,
                "goals_prevented": -0.1137,
                "rating": 6.8309,
                "minutes": 90.0,
                "total_pass": 26.4904,
                "accurate_pass": 13.0914,
                "total_long_balls": 18.0985,
                "accurate_long_balls": 4.6994,
                "touches": 34.8543,
                "clearances": 1.035,
                "ball_recovery": 6.9373,
                "high_claims": 0.4756,
                "punches": 1.035,
                "aerial_won": 1.5106,
                "sweeper_actions": 2.07,
                "sweeper_accurate": 2.07,
                "saves_inside_box": 2.1539,
                "possession_lost": 13.9585,
                "duels_won": 1.5106,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 11.4969,
                "accurate_own_half_passes": 9.9863,
                "gk_engine_opponent_lambda": 1.6917,
                "shots_faced": 13.5,
                "expected_saves": 3.3,
                "high_pressure_saves": 1.14,
                "opponent_faced": "Bryan Mbeumo, Bruno Fernandes",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0,
                "creation_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Josh Acheampong": {
          "player_id": 1403050,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 34,
          "height": 190,
          "market_value": 29000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 2,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.6211,
            "minutes": 84,
            "total_pass": 36,
            "accurate_pass": 31,
            "duels_won": 5,
            "total_long_balls": 2,
            "accurate_long_balls": 0,
            "total_own_half_passes": 21,
            "accurate_own_half_passes": 19,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 12,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 53,
            "possession_lost": 10.0929,
            "dispossessed": 0.6846,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0348,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0372,
            "expected_assists": 0.0169,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0643,
            "ball_carries": 11,
            "total_progression": 12,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.0,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Bryan Mbeumo",
            "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.0365,
            "projected_assists": 0,
            "assist_probability": 0.0168,
            "finishing_factor": 1.2184,
            "creation_factor": 0.8489,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 12,
                "accurate_pass": 5,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0129,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 27,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0193,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 42,
                "tackles": 4,
                "tackles_won": 2,
                "clearances": 2,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 19,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0095,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 11,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 18,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0219,
                "expected_assists": 0.0003,
                "total_shots": 1,
                "total_pass": 6,
                "accurate_pass": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 74,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0008,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 18,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024001,
              "match_date": "2026-04-21",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0007,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "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": 17,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6211,
            "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.75,
          "history_matches": 24,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 24,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0106,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (D_service) evaluated 24 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.7093,
                "tackles": 1.9991,
                "tackles_won": 1.2252,
                "clearances": 2.3613,
                "aerial_won": 0.6838,
                "total_shots": 0.3058,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.4794,
                "accurate_pass": 30.4151,
                "duels_won": 4.8087,
                "total_long_balls": 2.1446,
                "accurate_long_balls": 0.2812,
                "total_own_half_passes": 21.1181,
                "accurate_own_half_passes": 18.9493,
                "total_opp_half_passes": 14.3613,
                "accurate_opp_half_passes": 11.4658,
                "crosses_total": 0.5498,
                "crosses_accurate": 0.0,
                "touches": 52.8617,
                "possession_lost": 9.987,
                "dispossessed": 0.6774,
                "duels_lost": 3.2014,
                "aerial_lost": 0.9068,
                "total_contest": 1.4848,
                "won_contest": 0.9498,
                "ball_recovery": 2.7916,
                "challenges_lost": 0.6111,
                "fouls": 0.471,
                "fouls_drawn": 0.6922,
                "blocks": 0.2572,
                "goals": 0.0344,
                "goal_rate": 0.0344,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0194,
                "expected_assists": 0.0088,
                "shots_on_target": 0.0672,
                "big_chances_created": 0.0,
                "xgot": 0.0335,
                "ball_carries": 10.8684,
                "total_progression": 11.5435,
                "progressive_carries": 0.5451,
                "key_pass": 0.145,
                "shots_off_target": 0.2386
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1531,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1301,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1106,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.094,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0799,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.0679,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0577,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.0491,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 74.0,
                    "is_starting": true,
                    "weight": 0.0417,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-04-21",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0355,
                    "rating": 0.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.1233,
                  "aerialWon": 0.5663,
                  "totalClearance_p90": 2.7421,
                  "totalTackle": 1.9022,
                  "totalPass": 21.7936
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.7093284130096436,
                    "model_output": 0.7093,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.1217
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0975
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0681
                        },
                        {
                          "name": "touches",
                          "contribution": -0.025
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0168
                        }
                      ],
                      "others": -0.0251,
                      "total": 0.7093,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.150921
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.122732
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.084082
                        },
                        {
                          "name": "touches",
                          "margin": -0.032755
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.022642
                        }
                      ],
                      "others_margin": -0.034802
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.9991201162338257,
                    "model_output": 1.9991,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1911
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.1007
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0808
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0724
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0584
                        }
                      ],
                      "others": 0.11,
                      "total": 1.9991,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.129211
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.061908
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.047045
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.04035
                        },
                        {
                          "name": "rating",
                          "margin": 0.03142
                        }
                      ],
                      "others_margin": 0.056587
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.2251571416854858,
                    "model_output": 1.2252,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1178
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0712
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0521
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0448
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0344
                        }
                      ],
                      "others": 0.1488,
                      "total": 1.2252,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.130358
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.071338
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.049082
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.042074
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.032439
                        }
                      ],
                      "others_margin": 0.129511
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.3612558841705322,
                    "model_output": 2.3613,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": -0.4564
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4034
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.3554
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.234
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.2129
                        }
                      ],
                      "others": -0.2151,
                      "total": 2.3613,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": -0.142697
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.127148
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.111129
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.080561
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.079388
                        }
                      ],
                      "others_margin": -0.087243
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.6837641596794128,
                    "model_output": 0.6838,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.4341
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1102
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0841
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0591
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0511
                        }
                      ],
                      "others": -0.1756,
                      "total": 0.6838,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.378539
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.110509
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.083181
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.062894
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.05777
                        }
                      ],
                      "others_margin": -0.228625
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3058256506919861,
                    "model_output": 0.3058,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1241
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.039
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0331
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0179
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0097
                        }
                      ],
                      "others": -0.0269,
                      "total": 0.3058,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.124142
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.038997
                        },
                        {
                          "name": "rating",
                          "margin": -0.033052
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.017912
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.009669
                        }
                      ],
                      "others_margin": -0.026935
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.621128559112549,
                    "model_output": 6.6211,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": -0.0499
                        },
                        {
                          "name": "rating",
                          "contribution": -0.025
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0196
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0155
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0149
                        }
                      ],
                      "others": -0.0495,
                      "total": 6.6211,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": -0.049856
                        },
                        {
                          "name": "rating",
                          "margin": -0.025016
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.019605
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015515
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.014869
                        }
                      ],
                      "others_margin": -0.049526
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 24,
                  "role_matches": 13,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0106, quality 0.710)",
              "stats": {
                "interceptions": 0.7168,
                "tackles": 2.0203,
                "tackles_won": 1.2381,
                "clearances": 2.3863,
                "aerial_won": 0.691,
                "total_shots": 0.3091,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.8555,
                "accurate_pass": 30.7375,
                "duels_won": 4.8597,
                "total_long_balls": 2.1673,
                "accurate_long_balls": 0.2842,
                "total_own_half_passes": 21.342,
                "accurate_own_half_passes": 19.1502,
                "total_opp_half_passes": 14.5135,
                "accurate_opp_half_passes": 11.5873,
                "crosses_total": 0.5556,
                "crosses_accurate": 0.0,
                "touches": 53.422,
                "possession_lost": 10.0929,
                "dispossessed": 0.6846,
                "duels_lost": 3.2353,
                "aerial_lost": 0.9164,
                "total_contest": 1.5005,
                "won_contest": 0.9599,
                "ball_recovery": 2.8212,
                "challenges_lost": 0.6176,
                "fouls": 0.476,
                "fouls_drawn": 0.6995,
                "blocks": 0.2599,
                "goals": 0.0348,
                "goal_rate": 0.0348,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0196,
                "expected_assists": 0.0089,
                "shots_on_target": 0.0679,
                "big_chances_created": 0.0,
                "xgot": 0.0339,
                "ball_carries": 10.9836,
                "total_progression": 11.6659,
                "progressive_carries": 0.5509,
                "key_pass": 0.1465,
                "shots_off_target": 0.2411
              },
              "params": {
                "market_value_eur": 29000000,
                "quality_factor": 0.71,
                "boost_factor": 1.0106,
                "reference_quality": 0.505,
                "history_matches": 24,
                "history_shrink": 0.1724,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.7168,
                "tackles": 2.0203,
                "tackles_won": 1.2381,
                "clearances": 2.3863,
                "aerial_won": 0.691,
                "total_shots": 0.3091,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.8555,
                "accurate_pass": 30.7375,
                "duels_won": 4.8597,
                "total_long_balls": 2.1673,
                "accurate_long_balls": 0.2842,
                "total_own_half_passes": 21.342,
                "accurate_own_half_passes": 19.1502,
                "total_opp_half_passes": 14.5135,
                "accurate_opp_half_passes": 11.5873,
                "crosses_total": 0.5556,
                "crosses_accurate": 0.0,
                "touches": 53.422,
                "possession_lost": 10.0929,
                "dispossessed": 0.6846,
                "duels_lost": 3.2353,
                "aerial_lost": 0.9164,
                "total_contest": 1.5005,
                "won_contest": 0.9599,
                "ball_recovery": 2.8212,
                "challenges_lost": 0.6176,
                "fouls": 0.476,
                "fouls_drawn": 0.6995,
                "blocks": 0.2599,
                "goals": 0.0348,
                "goal_rate": 0.0348,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0196,
                "expected_assists": 0.0089,
                "shots_on_target": 0.0679,
                "big_chances_created": 0.0,
                "xgot": 0.0339,
                "ball_carries": 10.9836,
                "total_progression": 11.6659,
                "progressive_carries": 0.5509,
                "key_pass": 0.1465,
                "shots_off_target": 0.2411
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.7168,
                "tackles": 2.0203,
                "tackles_won": 1.2381,
                "clearances": 2.3863,
                "aerial_won": 0.691,
                "total_shots": 0.3091,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.8555,
                "accurate_pass": 30.7375,
                "duels_won": 4.8597,
                "total_long_balls": 2.1673,
                "accurate_long_balls": 0.2842,
                "total_own_half_passes": 21.342,
                "accurate_own_half_passes": 19.1502,
                "total_opp_half_passes": 14.5135,
                "accurate_opp_half_passes": 11.5873,
                "crosses_total": 0.5556,
                "crosses_accurate": 0.0,
                "touches": 53.422,
                "possession_lost": 10.0929,
                "dispossessed": 0.6846,
                "duels_lost": 3.2353,
                "aerial_lost": 0.9164,
                "total_contest": 1.5005,
                "won_contest": 0.9599,
                "ball_recovery": 2.8212,
                "challenges_lost": 0.6176,
                "fouls": 0.476,
                "fouls_drawn": 0.6995,
                "blocks": 0.2599,
                "goals": 0.0348,
                "goal_rate": 0.0348,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0196,
                "expected_assists": 0.0089,
                "shots_on_target": 0.0679,
                "big_chances_created": 0.0,
                "xgot": 0.0339,
                "ball_carries": 10.9836,
                "total_progression": 11.6659,
                "progressive_carries": 0.5509,
                "key_pass": 0.1465,
                "shots_off_target": 0.2411,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Bryan Mbeumo",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.7168,
                "tackles": 2.0203,
                "tackles_won": 1.2381,
                "clearances": 2.3863,
                "aerial_won": 0.691,
                "total_shots": 0.3091,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.8555,
                "accurate_pass": 30.7375,
                "duels_won": 4.8597,
                "total_long_balls": 2.1673,
                "accurate_long_balls": 0.2842,
                "total_own_half_passes": 21.342,
                "accurate_own_half_passes": 19.1502,
                "total_opp_half_passes": 14.5135,
                "accurate_opp_half_passes": 11.5873,
                "crosses_total": 0.5556,
                "crosses_accurate": 0.0,
                "touches": 53.422,
                "possession_lost": 10.0929,
                "dispossessed": 0.6846,
                "duels_lost": 3.2353,
                "aerial_lost": 0.9164,
                "total_contest": 1.5005,
                "won_contest": 0.9599,
                "ball_recovery": 2.8212,
                "challenges_lost": 0.6176,
                "fouls": 0.476,
                "fouls_drawn": 0.6995,
                "blocks": 0.2599,
                "goal_rate": 0.0348,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0196,
                "expected_assists": 0.0089,
                "shots_on_target": 0.0679,
                "big_chances_created": 0.0,
                "xgot": 0.0339,
                "ball_carries": 10.9836,
                "total_progression": 11.6659,
                "progressive_carries": 0.5509,
                "key_pass": 0.1465,
                "shots_off_target": 0.2411,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "interceptions": 0.7168,
                "tackles": 2.0203,
                "tackles_won": 1.2381,
                "clearances": 2.3863,
                "aerial_won": 0.691,
                "total_shots": 0.3091,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.8555,
                "accurate_pass": 30.7375,
                "duels_won": 4.8597,
                "total_long_balls": 2.1673,
                "accurate_long_balls": 0.2842,
                "total_own_half_passes": 21.342,
                "accurate_own_half_passes": 19.1502,
                "total_opp_half_passes": 14.5135,
                "accurate_opp_half_passes": 11.5873,
                "crosses_total": 0.5556,
                "crosses_accurate": 0.0,
                "touches": 53.422,
                "possession_lost": 10.0929,
                "dispossessed": 0.6846,
                "duels_lost": 3.2353,
                "aerial_lost": 0.9164,
                "total_contest": 1.5005,
                "won_contest": 0.9599,
                "ball_recovery": 2.8212,
                "challenges_lost": 0.6176,
                "fouls": 0.476,
                "fouls_drawn": 0.6995,
                "blocks": 0.2599,
                "goal_rate": 0.0348,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0372,
                "expected_assists": 0.0169,
                "shots_on_target": 0.0679,
                "big_chances_created": 0.0,
                "xgot": 0.0643,
                "ball_carries": 10.9836,
                "total_progression": 11.6659,
                "progressive_carries": 0.5509,
                "key_pass": 0.1465,
                "shots_off_target": 0.2411,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.2184,
                "creation_factor": 0.8489
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0196,
                  "after": 0.0372
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0089,
                  "after": 0.0169
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 17 by projected rating, fifa_overall 75.0)",
              "stats": {
                "interceptions": 0.7168,
                "tackles": 2.0203,
                "tackles_won": 1.2381,
                "clearances": 2.3863,
                "aerial_won": 0.691,
                "total_shots": 0.3091,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.8555,
                "accurate_pass": 30.7375,
                "duels_won": 4.8597,
                "total_long_balls": 2.1673,
                "accurate_long_balls": 0.2842,
                "total_own_half_passes": 21.342,
                "accurate_own_half_passes": 19.1502,
                "total_opp_half_passes": 14.5135,
                "accurate_opp_half_passes": 11.5873,
                "crosses_total": 0.5556,
                "crosses_accurate": 0.0,
                "touches": 53.422,
                "possession_lost": 10.0929,
                "dispossessed": 0.6846,
                "duels_lost": 3.2353,
                "aerial_lost": 0.9164,
                "total_contest": 1.5005,
                "won_contest": 0.9599,
                "ball_recovery": 2.8212,
                "challenges_lost": 0.6176,
                "fouls": 0.476,
                "fouls_drawn": 0.6995,
                "blocks": 0.2599,
                "goal_rate": 0.0348,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0372,
                "expected_assists": 0.0169,
                "shots_on_target": 0.0679,
                "big_chances_created": 0.0,
                "xgot": 0.0643,
                "ball_carries": 10.9836,
                "total_progression": 11.6659,
                "progressive_carries": 0.5509,
                "key_pass": 0.1465,
                "shots_off_target": 0.2411,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.2184,
                "creation_factor": 0.8489,
                "fifa_overall": 75.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3448,
                "fifa_rank": 2182.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.7168,
                "tackles": 2.0203,
                "tackles_won": 1.2381,
                "clearances": 2.3863,
                "aerial_won": 0.691,
                "total_shots": 0.3091,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.8555,
                "accurate_pass": 30.7375,
                "duels_won": 4.8597,
                "total_long_balls": 2.1673,
                "accurate_long_balls": 0.2842,
                "total_own_half_passes": 21.342,
                "accurate_own_half_passes": 19.1502,
                "total_opp_half_passes": 14.5135,
                "accurate_opp_half_passes": 11.5873,
                "crosses_total": 0.5556,
                "crosses_accurate": 0.0,
                "touches": 53.422,
                "possession_lost": 10.0929,
                "dispossessed": 0.6846,
                "duels_lost": 3.2353,
                "aerial_lost": 0.9164,
                "total_contest": 1.5005,
                "won_contest": 0.9599,
                "ball_recovery": 2.8212,
                "challenges_lost": 0.6176,
                "fouls": 0.476,
                "fouls_drawn": 0.6995,
                "blocks": 0.2599,
                "goal_rate": 0.0348,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0372,
                "expected_assists": 0.0169,
                "shots_on_target": 0.0679,
                "big_chances_created": 0.0,
                "xgot": 0.0643,
                "ball_carries": 10.9836,
                "total_progression": 11.6659,
                "progressive_carries": 0.5509,
                "key_pass": 0.1465,
                "shots_off_target": 0.2411,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "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.0365,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.2184,
                "creation_factor": 0.8489,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0365,
                "goal_rate": 0.0348,
                "scorer_weight": 0.0453,
                "squad_weight_total": 1.766,
                "weight_share": 0.0257,
                "finishing_factor": 1.2184,
                "appearance_weight": 1.0,
                "weight_rank": 9,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.7168,
                "tackles": 2.0203,
                "tackles_won": 1.2381,
                "clearances": 2.3863,
                "aerial_won": 0.691,
                "total_shots": 0.3091,
                "rating": 6.6211,
                "minutes": 83.91,
                "total_pass": 35.8555,
                "accurate_pass": 30.7375,
                "duels_won": 4.8597,
                "total_long_balls": 2.1673,
                "accurate_long_balls": 0.2842,
                "total_own_half_passes": 21.342,
                "accurate_own_half_passes": 19.1502,
                "total_opp_half_passes": 14.5135,
                "accurate_opp_half_passes": 11.5873,
                "crosses_total": 0.5556,
                "crosses_accurate": 0.0,
                "touches": 53.422,
                "possession_lost": 10.0929,
                "dispossessed": 0.6846,
                "duels_lost": 3.2353,
                "aerial_lost": 0.9164,
                "total_contest": 1.5005,
                "won_contest": 0.9599,
                "ball_recovery": 2.8212,
                "challenges_lost": 0.6176,
                "fouls": 0.476,
                "fouls_drawn": 0.6995,
                "blocks": 0.2599,
                "goal_rate": 0.0348,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0372,
                "expected_assists": 0.0169,
                "shots_on_target": 0.0679,
                "big_chances_created": 0.0,
                "xgot": 0.0643,
                "ball_carries": 10.9836,
                "total_progression": 11.6659,
                "progressive_carries": 0.5509,
                "key_pass": 0.1465,
                "shots_off_target": 0.2411,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "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.0365,
                "projected_assists": 0,
                "assist_probability": 0.0168,
                "finishing_factor": 1.2184,
                "creation_factor": 0.8489,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0168,
                "assist_rate": 0.0,
                "provider_weight": 0.0143,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0105,
                "creation_factor": 0.8489,
                "appearance_weight": 1.0,
                "weight_rank": 12,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Danny Welbeck": {
          "player_id": 33902,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 18,
          "height": 185,
          "market_value": 3100000,
          "stats": {
            "expected_goals": 0.2799,
            "goal_rate": 0.1525,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0734,
            "key_pass": 1,
            "rating": 6.6478,
            "minutes": 75,
            "total_pass": 15,
            "accurate_pass": 12,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 7,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 24,
            "possession_lost": 5.3063,
            "dispossessed": 0.3841,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "assist_rate": 0.0791,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.424,
            "offsides": 0,
            "ball_carries": 4,
            "total_progression": 6,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.7224,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 2,
            "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": "Ayden Heaven, Leny Yoro",
            "opponent_faced": "Ayden Heaven, Leny Yoro",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.2441,
            "projected_assists": 0,
            "assist_probability": 0.0708,
            "finishing_factor": 1.0248,
            "creation_factor": 1.25,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 10,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 13,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0,
                "total_pass": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 71,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0761,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 12,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 12,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0587,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "key_pass": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Brighton & Hove Albion",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 59,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0079,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023954,
              "match_date": "2026-05-17",
              "home_team": "Leeds United",
              "away_team": "Brighton & Hove Albion",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Brighton & Hove Albion",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 65,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2127,
                "expected_assists": 0.011,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 17,
                "accurate_pass": 15,
                "tackles": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023935,
              "match_date": "2026-05-09",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Wolverhampton",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Brighton & Hove Albion",
              "opponent": "Wolverhampton",
              "stats": {
                "minutes": 76,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2558,
                "expected_assists": 0.008,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 15,
                "accurate_pass": 10,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023949,
              "match_date": "2026-05-02",
              "home_team": "Newcastle United",
              "away_team": "Brighton & Hove Albion",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Brighton & Hove Albion",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 80,
                "rating": 6.7,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1014,
                "expected_assists": 0.0477,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 11,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 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": 15,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6478,
            "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"
          ],
          "data_confidence": 0.75,
          "history_matches": 43,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 43,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9979,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "XGBoost regressor (F_service) evaluated 43 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.00, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.2047,
                "goals": 0.2115,
                "goal_rate": 0.2115,
                "shots_on_target": 0.5219,
                "total_shots": 1.2259,
                "expected_assists": 0.0388,
                "key_pass": 0.5466,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7532,
                "accurate_pass": 12.0177,
                "duels_won": 2.145,
                "total_long_balls": 0.1669,
                "accurate_long_balls": 0.0843,
                "total_opp_half_passes": 9.1927,
                "accurate_opp_half_passes": 7.4266,
                "crosses_total": 0.0483,
                "crosses_accurate": 0.0,
                "touches": 23.748,
                "possession_lost": 5.3175,
                "dispossessed": 0.3849,
                "duels_lost": 3.2972,
                "aerial_lost": 0.8977,
                "total_contest": 0.8368,
                "won_contest": 0.329,
                "ball_recovery": 1.7567,
                "challenges_lost": 0.4276,
                "fouls": 1.0975,
                "fouls_drawn": 0.3475,
                "assists": 0.0793,
                "assist_rate": 0.0793,
                "interceptions": 0.2249,
                "tackles_won": 0.5513,
                "tackles": 0.8387,
                "clearances": 1.1613,
                "blocks": 0.0,
                "big_chances_created": 0.1909,
                "big_chances_missed": 0.3017,
                "xgot": 0.3102,
                "offsides": 0.3258,
                "ball_carries": 4.0913,
                "total_progression": 6.4792,
                "progressive_carries": 0.4758,
                "shots_off_target": 0.704
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.1501,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.1276,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 13.0,
                    "is_starting": false,
                    "weight": 0.1085,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0784,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0666,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Manchester United",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Leeds United",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Wolverhampton",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Newcastle United",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.1023,
                  "accuratePass": 5.81,
                  "totalOppositionHalfPasses": 4.399,
                  "accurateOppositionHalfPasses": 3.7475,
                  "totalShots": 0.6039
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.2047176957130432,
                    "model_output": 0.2047,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0746
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0301
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0154
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0149
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0102
                        }
                      ],
                      "others": -0.026,
                      "total": 0.2047,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.322701
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.117863
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.062254
                        },
                        {
                          "name": "goals",
                          "margin": -0.059883
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": -0.043377
                        }
                      ],
                      "others_margin": -0.119997
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.2115003615617752,
                    "model_output": 0.2115,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0865
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0461
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0452
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0288
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0173
                        }
                      ],
                      "others": -0.0303,
                      "total": 0.2115,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.358649
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.149014
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.145863
                        },
                        {
                          "name": "goals",
                          "margin": -0.105605
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.069002
                        }
                      ],
                      "others_margin": -0.133662
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5218644142150879,
                    "model_output": 0.5219,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1735
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0651
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0287
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0287
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0244
                        }
                      ],
                      "others": -0.0943,
                      "total": 0.5219,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.282138
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.096844
                        },
                        {
                          "name": "goals",
                          "margin": -0.045905
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.045896
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": -0.038794
                        }
                      ],
                      "others_margin": -0.166067
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.225881576538086,
                    "model_output": 1.2259,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4157
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2052
                        },
                        {
                          "name": "shotOffTarget",
                          "contribution": -0.0636
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0547
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0534
                        }
                      ],
                      "others": -0.1931,
                      "total": 1.2259,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.415745
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.205218
                        },
                        {
                          "name": "shotOffTarget",
                          "margin": -0.063617
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.054743
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.053419
                        }
                      ],
                      "others_margin": -0.193018
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03881252557039261,
                    "model_output": 0.0388,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0173
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0082
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0068
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0058
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0048
                        }
                      ],
                      "others": -0.0172,
                      "total": 0.0388,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.237856
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.106111
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.097311
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.091447
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.081765
                        }
                      ],
                      "others_margin": -0.366161
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.5466229319572449,
                    "model_output": 0.5466,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.211
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0694
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0637
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0458
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0344
                        }
                      ],
                      "others": -0.1378,
                      "total": 0.5466,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.267936
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.080498
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.080056
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.061702
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.04902
                        }
                      ],
                      "others_margin": -0.224852
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.647846698760986,
                    "model_output": 6.6478,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0463
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0333
                        },
                        {
                          "name": "dispossessed",
                          "contribution": -0.0145
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0138
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0135
                        }
                      ],
                      "others": -0.0942,
                      "total": 6.6478,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.046281
                        },
                        {
                          "name": "rating",
                          "margin": -0.033299
                        },
                        {
                          "name": "dispossessed",
                          "margin": -0.014491
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.013788
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.013505
                        }
                      ],
                      "others_margin": -0.094195
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 43,
                  "role_matches": 27,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9979, quality 0.439)",
              "stats": {
                "expected_goals": 0.2043,
                "goals": 0.2111,
                "goal_rate": 0.2111,
                "shots_on_target": 0.5208,
                "total_shots": 1.2233,
                "expected_assists": 0.0387,
                "key_pass": 0.5455,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7222,
                "accurate_pass": 11.9925,
                "duels_won": 2.1405,
                "total_long_balls": 0.1665,
                "accurate_long_balls": 0.0841,
                "total_opp_half_passes": 9.1734,
                "accurate_opp_half_passes": 7.411,
                "crosses_total": 0.0482,
                "crosses_accurate": 0.0,
                "touches": 23.6981,
                "possession_lost": 5.3063,
                "dispossessed": 0.3841,
                "duels_lost": 3.2903,
                "aerial_lost": 0.8958,
                "total_contest": 0.835,
                "won_contest": 0.3283,
                "ball_recovery": 1.753,
                "challenges_lost": 0.4267,
                "fouls": 1.0952,
                "fouls_drawn": 0.3468,
                "assists": 0.0791,
                "assist_rate": 0.0791,
                "interceptions": 0.2244,
                "tackles_won": 0.5501,
                "tackles": 0.8369,
                "clearances": 1.1589,
                "blocks": 0.0,
                "big_chances_created": 0.1905,
                "big_chances_missed": 0.3011,
                "xgot": 0.3095,
                "offsides": 0.3251,
                "ball_carries": 4.0827,
                "total_progression": 6.4656,
                "progressive_carries": 0.4748,
                "shots_off_target": 0.7025
              },
              "params": {
                "market_value_eur": 3100000,
                "quality_factor": 0.4387,
                "boost_factor": 0.9979,
                "reference_quality": 0.505,
                "history_matches": 43,
                "history_shrink": 0.1042,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.2043,
                "goals": 0.2111,
                "goal_rate": 0.2111,
                "shots_on_target": 0.5208,
                "total_shots": 1.2233,
                "expected_assists": 0.0387,
                "key_pass": 0.5455,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7222,
                "accurate_pass": 11.9925,
                "duels_won": 2.1405,
                "total_long_balls": 0.1665,
                "accurate_long_balls": 0.0841,
                "total_opp_half_passes": 9.1734,
                "accurate_opp_half_passes": 7.411,
                "crosses_total": 0.0482,
                "crosses_accurate": 0.0,
                "touches": 23.6981,
                "possession_lost": 5.3063,
                "dispossessed": 0.3841,
                "duels_lost": 3.2903,
                "aerial_lost": 0.8958,
                "total_contest": 0.835,
                "won_contest": 0.3283,
                "ball_recovery": 1.753,
                "challenges_lost": 0.4267,
                "fouls": 1.0952,
                "fouls_drawn": 0.3468,
                "assists": 0.0791,
                "assist_rate": 0.0791,
                "interceptions": 0.2244,
                "tackles_won": 0.5501,
                "tackles": 0.8369,
                "clearances": 1.1589,
                "blocks": 0.0,
                "big_chances_created": 0.1905,
                "big_chances_missed": 0.3011,
                "xgot": 0.3095,
                "offsides": 0.3251,
                "ball_carries": 4.0827,
                "total_progression": 6.4656,
                "progressive_carries": 0.4748,
                "shots_off_target": 0.7025
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1476,
                "goals": 0.1525,
                "goal_rate": 0.1525,
                "shots_on_target": 0.3762,
                "total_shots": 0.8837,
                "expected_assists": 0.0387,
                "key_pass": 0.5455,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7222,
                "accurate_pass": 11.9925,
                "duels_won": 2.1405,
                "total_long_balls": 0.1665,
                "accurate_long_balls": 0.0841,
                "total_opp_half_passes": 9.1734,
                "accurate_opp_half_passes": 7.411,
                "crosses_total": 0.0482,
                "crosses_accurate": 0.0,
                "touches": 23.6981,
                "possession_lost": 5.3063,
                "dispossessed": 0.3841,
                "duels_lost": 3.2903,
                "aerial_lost": 0.8958,
                "total_contest": 0.835,
                "won_contest": 0.3283,
                "ball_recovery": 1.753,
                "challenges_lost": 0.4267,
                "fouls": 1.0952,
                "fouls_drawn": 0.3468,
                "assists": 0.0791,
                "assist_rate": 0.0791,
                "interceptions": 0.2244,
                "tackles_won": 0.5501,
                "tackles": 0.8369,
                "clearances": 1.1589,
                "blocks": 0.0,
                "big_chances_created": 0.1905,
                "big_chances_missed": 0.2175,
                "xgot": 0.2236,
                "offsides": 0.3251,
                "ball_carries": 4.0827,
                "total_progression": 6.4656,
                "progressive_carries": 0.4748,
                "shots_off_target": 0.5075,
                "duel_xg_multiplier": 0.7224,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.8,
                "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": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Ayden Heaven, Leny Yoro",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "HIGH",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.7224,
                  "skill_edge": -0.1709,
                  "height_edge": -0.018,
                  "attacker_skill": 0.4387,
                  "defender_skill": 0.8184,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Ayden Heaven",
                      "market_value": 32000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.7941
                    },
                    {
                      "player": "Leny Yoro",
                      "market_value": 42000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.8427
                    }
                  ],
                  "xg_override": 0.1476
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.2233,
                  "after": 0.8837
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.7025,
                  "after": 0.5075
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5208,
                  "after": 0.3762
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.3095,
                  "after": 0.2236
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.3011,
                  "after": 0.2175
                },
                {
                  "stat": "goals",
                  "before": 0.2111,
                  "after": 0.1525
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.2043,
                  "after": 0.1476
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1476,
                "goal_rate": 0.1525,
                "goals": 0,
                "shots_on_target": 0.3762,
                "total_shots": 0.8837,
                "expected_assists": 0.0387,
                "key_pass": 0.5455,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7222,
                "accurate_pass": 11.9925,
                "duels_won": 2.1405,
                "total_long_balls": 0.1665,
                "accurate_long_balls": 0.0841,
                "total_opp_half_passes": 9.1734,
                "accurate_opp_half_passes": 7.411,
                "crosses_total": 0.0482,
                "crosses_accurate": 0.0,
                "touches": 23.6981,
                "possession_lost": 5.3063,
                "dispossessed": 0.3841,
                "duels_lost": 3.2903,
                "aerial_lost": 0.8958,
                "total_contest": 0.835,
                "won_contest": 0.3283,
                "ball_recovery": 1.753,
                "challenges_lost": 0.4267,
                "fouls": 1.0952,
                "fouls_drawn": 0.3468,
                "assist_rate": 0.0791,
                "assists": 0,
                "interceptions": 0.2244,
                "tackles_won": 0.5501,
                "tackles": 0.8369,
                "clearances": 1.1589,
                "blocks": 0.0,
                "big_chances_created": 0.1905,
                "big_chances_missed": 0.2175,
                "xgot": 0.2236,
                "offsides": 0.3251,
                "ball_carries": 4.0827,
                "total_progression": 6.4656,
                "progressive_carries": 0.4748,
                "shots_off_target": 0.5075,
                "duel_xg_multiplier": 0.7224,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.8,
                "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": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "expected_goals": 0.2799,
                "goal_rate": 0.1525,
                "goals": 0,
                "shots_on_target": 0.3762,
                "total_shots": 0.8837,
                "expected_assists": 0.0734,
                "key_pass": 0.5455,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7222,
                "accurate_pass": 11.9925,
                "duels_won": 2.1405,
                "total_long_balls": 0.1665,
                "accurate_long_balls": 0.0841,
                "total_opp_half_passes": 9.1734,
                "accurate_opp_half_passes": 7.411,
                "crosses_total": 0.0482,
                "crosses_accurate": 0.0,
                "touches": 23.6981,
                "possession_lost": 5.3063,
                "dispossessed": 0.3841,
                "duels_lost": 3.2903,
                "aerial_lost": 0.8958,
                "total_contest": 0.835,
                "won_contest": 0.3283,
                "ball_recovery": 1.753,
                "challenges_lost": 0.4267,
                "fouls": 1.0952,
                "fouls_drawn": 0.3468,
                "assist_rate": 0.0791,
                "assists": 0,
                "interceptions": 0.2244,
                "tackles_won": 0.5501,
                "tackles": 0.8369,
                "clearances": 1.1589,
                "blocks": 0.0,
                "big_chances_created": 0.1905,
                "big_chances_missed": 0.2175,
                "xgot": 0.424,
                "offsides": 0.3251,
                "ball_carries": 4.0827,
                "total_progression": 6.4656,
                "progressive_carries": 0.4748,
                "shots_off_target": 0.5075,
                "duel_xg_multiplier": 0.7224,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.8,
                "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": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0248,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1476,
                  "after": 0.2799
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0387,
                  "after": 0.0734
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 80.0)",
              "stats": {
                "expected_goals": 0.2799,
                "goal_rate": 0.1525,
                "goals": 0,
                "shots_on_target": 0.3762,
                "total_shots": 0.8837,
                "expected_assists": 0.0734,
                "key_pass": 0.5455,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7222,
                "accurate_pass": 11.9925,
                "duels_won": 2.1405,
                "total_long_balls": 0.1665,
                "accurate_long_balls": 0.0841,
                "total_opp_half_passes": 9.1734,
                "accurate_opp_half_passes": 7.411,
                "crosses_total": 0.0482,
                "crosses_accurate": 0.0,
                "touches": 23.6981,
                "possession_lost": 5.3063,
                "dispossessed": 0.3841,
                "duels_lost": 3.2903,
                "aerial_lost": 0.8958,
                "total_contest": 0.835,
                "won_contest": 0.3283,
                "ball_recovery": 1.753,
                "challenges_lost": 0.4267,
                "fouls": 1.0952,
                "fouls_drawn": 0.3468,
                "assist_rate": 0.0791,
                "assists": 0,
                "interceptions": 0.2244,
                "tackles_won": 0.5501,
                "tackles": 0.8369,
                "clearances": 1.1589,
                "blocks": 0.0,
                "big_chances_created": 0.1905,
                "big_chances_missed": 0.2175,
                "xgot": 0.424,
                "offsides": 0.3251,
                "ball_carries": 4.0827,
                "total_progression": 6.4656,
                "progressive_carries": 0.4748,
                "shots_off_target": 0.5075,
                "duel_xg_multiplier": 0.7224,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.8,
                "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": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0248,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1703,
                "fifa_rank": 662.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.2799,
                "goal_rate": 0.1525,
                "goals": 0,
                "shots_on_target": 0.3762,
                "total_shots": 0.8837,
                "expected_assists": 0.0734,
                "key_pass": 0.5455,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7222,
                "accurate_pass": 11.9925,
                "duels_won": 2.1405,
                "total_long_balls": 0.1665,
                "accurate_long_balls": 0.0841,
                "total_opp_half_passes": 9.1734,
                "accurate_opp_half_passes": 7.411,
                "crosses_total": 0.0482,
                "crosses_accurate": 0.0,
                "touches": 23.6981,
                "possession_lost": 5.3063,
                "dispossessed": 0.3841,
                "duels_lost": 3.2903,
                "aerial_lost": 0.8958,
                "total_contest": 0.835,
                "won_contest": 0.3283,
                "ball_recovery": 1.753,
                "challenges_lost": 0.4267,
                "fouls": 1.0952,
                "fouls_drawn": 0.3468,
                "assist_rate": 0.0791,
                "assists": 0,
                "interceptions": 0.2244,
                "tackles_won": 0.5501,
                "tackles": 0.8369,
                "clearances": 1.1589,
                "blocks": 0.0,
                "big_chances_created": 0.1905,
                "big_chances_missed": 0.2175,
                "xgot": 0.424,
                "offsides": 0.3251,
                "ball_carries": 4.0827,
                "total_progression": 6.4656,
                "progressive_carries": 0.4748,
                "shots_off_target": 0.5075,
                "duel_xg_multiplier": 0.7224,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.8,
                "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": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.2441,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0248,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.2441,
                "goal_rate": 0.1525,
                "scorer_weight": 0.2868,
                "squad_weight_total": 1.766,
                "weight_share": 0.1624,
                "finishing_factor": 1.0248,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.2799,
                "goal_rate": 0.1525,
                "goals": 0,
                "shots_on_target": 0.3762,
                "total_shots": 0.8837,
                "expected_assists": 0.0734,
                "key_pass": 0.5455,
                "rating": 6.6478,
                "minutes": 74.92,
                "total_pass": 14.7222,
                "accurate_pass": 11.9925,
                "duels_won": 2.1405,
                "total_long_balls": 0.1665,
                "accurate_long_balls": 0.0841,
                "total_opp_half_passes": 9.1734,
                "accurate_opp_half_passes": 7.411,
                "crosses_total": 0.0482,
                "crosses_accurate": 0.0,
                "touches": 23.6981,
                "possession_lost": 5.3063,
                "dispossessed": 0.3841,
                "duels_lost": 3.2903,
                "aerial_lost": 0.8958,
                "total_contest": 0.835,
                "won_contest": 0.3283,
                "ball_recovery": 1.753,
                "challenges_lost": 0.4267,
                "fouls": 1.0952,
                "fouls_drawn": 0.3468,
                "assist_rate": 0.0791,
                "assists": 0,
                "interceptions": 0.2244,
                "tackles_won": 0.5501,
                "tackles": 0.8369,
                "clearances": 1.1589,
                "blocks": 0.0,
                "big_chances_created": 0.1905,
                "big_chances_missed": 0.2175,
                "xgot": 0.424,
                "offsides": 0.3251,
                "ball_carries": 4.0827,
                "total_progression": 6.4656,
                "progressive_carries": 0.4748,
                "shots_off_target": 0.5075,
                "duel_xg_multiplier": 0.7224,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.8,
                "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": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.2441,
                "projected_assists": 0,
                "assist_probability": 0.0708,
                "finishing_factor": 1.0248,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0708,
                "assist_rate": 0.0791,
                "provider_weight": 0.0918,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0674,
                "creation_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Cole Palmer": {
          "player_id": 982780,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 10,
          "height": 185,
          "market_value": 101000000,
          "stats": {
            "key_pass": 2,
            "expected_assists": 0.2925,
            "assist_rate": 0.1865,
            "assists": 1,
            "expected_goals": 0.399,
            "goal_rate": 0.255,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 3,
            "rating": 7.0868,
            "minutes": 87,
            "total_pass": 32,
            "accurate_pass": 27,
            "duels_won": 4,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 10,
            "accurate_own_half_passes": 9,
            "total_opp_half_passes": 22,
            "accurate_opp_half_passes": 18,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 50,
            "possession_lost": 12.2483,
            "dispossessed": 1.4723,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 3,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.3294,
            "ball_carries": 19,
            "total_progression": 97,
            "progressive_carries": 3,
            "shots_off_target": 2,
            "duel_xg_multiplier": 1.0805,
            "dribbles_attempted": 4,
            "dribbles_successful": 1.9,
            "crosses_attempted": 2.7,
            "duel_win_rate": 0.535,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Diogo Dalot",
            "opponent_faced": "Diogo Dalot",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 1,
            "goal_probability": 0.329,
            "projected_assists": 1,
            "assist_probability": 0.2536,
            "finishing_factor": 1.1713,
            "creation_factor": 1.1582,
            "fifa_overall": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 80,
                "rating": 6.1,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0572,
                "expected_assists": 0.167,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 19,
                "accurate_pass": 15,
                "key_pass": 2,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1329,
                "expected_assists": 0.0585,
                "total_shots": 6,
                "shots_on_target": 1,
                "shots_off_target": 3,
                "total_pass": 36,
                "accurate_pass": 31,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 88,
                "rating": 6.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.0684,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 24,
                "key_pass": 2,
                "tackles": 2,
                "interceptions": 1,
                "duels_won": 6,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1279,
                "expected_assists": 0.1806,
                "total_shots": 2,
                "total_pass": 30,
                "accurate_pass": 25,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 1,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1323,
                "expected_assists": 0.2532,
                "total_shots": 3,
                "shots_off_target": 3,
                "total_pass": 35,
                "accurate_pass": 28,
                "key_pass": 3,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 1.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 7.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2071,
                "expected_assists": 0.025,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 33,
                "accurate_pass": 30,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 89,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2176,
                "expected_assists": 0.0702,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 24,
                "accurate_pass": 22,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 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": 1,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0868,
            "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": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.769,
          "history_matches": 34,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 34,
            "data_confidence": 0.769,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0149,
            "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": "XGBoost regressor (M_service) evaluated 34 historical appearances across 8 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.13, gls/90: 1.0526315789473684, ast/90: 0.5263157894736842)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.6839,
                "expected_assists": 0.1519,
                "assists": 0.1804,
                "assist_rate": 0.1804,
                "expected_goals": 0.1918,
                "goals": 0.2243,
                "goal_rate": 0.2243,
                "shots_on_target": 0.7351,
                "total_shots": 2.344,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 31.6751,
                "accurate_pass": 26.585,
                "duels_won": 4.1466,
                "total_long_balls": 2.0633,
                "accurate_long_balls": 1.0013,
                "total_own_half_passes": 9.6751,
                "accurate_own_half_passes": 8.7557,
                "total_opp_half_passes": 22.0,
                "accurate_opp_half_passes": 17.8292,
                "crosses_total": 1.2439,
                "crosses_accurate": 0.3101,
                "touches": 48.8747,
                "possession_lost": 12.0685,
                "dispossessed": 1.4507,
                "duels_lost": 5.157,
                "aerial_won": 0.2077,
                "aerial_lost": 0.1211,
                "interceptions": 0.2882,
                "tackles_won": 0.3686,
                "tackles": 1.0977,
                "clearances": 0.1604,
                "total_contest": 3.2993,
                "won_contest": 1.308,
                "challenges_lost": 0.462,
                "fouls": 1.1355,
                "fouls_drawn": 1.5331,
                "blocks": 0.0926,
                "big_chances_created": 0.5633,
                "big_chances_missed": 0.1463,
                "xgot": 0.1584,
                "ball_carries": 18.7704,
                "total_progression": 95.2826,
                "progressive_carries": 3.2825,
                "shots_off_target": 1.6089
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.1506,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.128,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.1088,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0925,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0668,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 9.0
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.0349,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 2.9007,
                  "creative_index": 0.7887,
                  "expectedGoals": 0.2017,
                  "expectedAssists": 0.1257,
                  "totalOppositionHalfPasses": 21.981
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.6839327812194824,
                    "model_output": 1.6839,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "creative_index",
                          "contribution": 0.155
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1403
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0951
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0742
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0543
                        }
                      ],
                      "others": 0.2747,
                      "total": 1.6839,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "creative_index",
                          "margin": 0.16048
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.125952
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.077149
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.05629
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.03929
                        }
                      ],
                      "others_margin": 0.178197
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.15193194150924683,
                    "model_output": 0.1519,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0096
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0088
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0055
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0056
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0058
                        }
                      ],
                      "others": 0.0317,
                      "total": 0.1519,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.107017
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.089194
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.051949
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.049925
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.049774
                        }
                      ],
                      "others_margin": 0.233597
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.18037115037441254,
                    "model_output": 0.1804,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "creative_index",
                          "contribution": 0.0101
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0112
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0103
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0083
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0064
                        }
                      ],
                      "others": 0.0491,
                      "total": 0.1804,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "creative_index",
                          "margin": 0.112018
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.111296
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.092234
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.068808
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.049908
                        }
                      ],
                      "others_margin": 0.317833
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.1918194591999054,
                    "model_output": 0.1918,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0315
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0269
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0177
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0104
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0095
                        }
                      ],
                      "others": 0.0044,
                      "total": 0.1918,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": 0.296358
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.197613
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.111675
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.060143
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.051866
                        }
                      ],
                      "others_margin": 0.023324
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.22430501878261566,
                    "model_output": 0.2243,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0497
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.026
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0215
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0183
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0132
                        }
                      ],
                      "others": 0.0006,
                      "total": 0.2243,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.420673
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.165402
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.118428
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.090775
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.060748
                        }
                      ],
                      "others_margin": 0.003256
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.7350907921791077,
                    "model_output": 0.7351,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.1112
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0699
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0728
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0392
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0214
                        }
                      ],
                      "others": 0.1023,
                      "total": 0.7351,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.299577
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.150776
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.136012
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.066295
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.034428
                        }
                      ],
                      "others_margin": 0.149922
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 2.344006299972534,
                    "model_output": 2.344,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.7534
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1781
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0826
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0707
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0631
                        }
                      ],
                      "others": 0.212,
                      "total": 2.344,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.753441
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.178101
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.08258
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.070747
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.063082
                        }
                      ],
                      "others_margin": 0.211948
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.086804389953613,
                    "model_output": 7.0868,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.059
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0424
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0367
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0157
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.015
                        }
                      ],
                      "others": 0.0928,
                      "total": 7.0868,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.058976
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.042413
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.036707
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.015662
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.01495
                        }
                      ],
                      "others_margin": 0.092801
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 34,
                  "role_matches": 32,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0149, quality 0.894)",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.1542,
                "assists": 0.1831,
                "assist_rate": 0.1831,
                "expected_goals": 0.1947,
                "goals": 0.2276,
                "goal_rate": 0.2276,
                "shots_on_target": 0.746,
                "total_shots": 2.3789,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2624,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 0.2108,
                "aerial_lost": 0.1229,
                "interceptions": 0.2925,
                "tackles_won": 0.3741,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1524,
                "fouls_drawn": 1.5559,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1485,
                "xgot": 0.1608,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.6329
              },
              "params": {
                "market_value_eur": 101000000,
                "quality_factor": 0.8936,
                "boost_factor": 1.0149,
                "reference_quality": 0.505,
                "history_matches": 34,
                "history_shrink": 0.1282,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0106)",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.1542,
                "assists": 0.1865,
                "assist_rate": 0.1865,
                "expected_goals": 0.1947,
                "goals": 0.236,
                "goal_rate": 0.236,
                "shots_on_target": 0.7542,
                "total_shots": 2.4019,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2652,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 0.2108,
                "aerial_lost": 0.1229,
                "interceptions": 0.2948,
                "tackles_won": 0.3755,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1456,
                "fouls_drawn": 1.5556,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1485,
                "xgot": 0.1608,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.6329
              },
              "params": {
                "blend_weight": 0.0106,
                "history_matches": 34,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9677,
                "prior_reliability": 0.1267,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 2.3789,
                  "after": 2.4019
                },
                {
                  "stat": "goals",
                  "before": 0.2276,
                  "after": 0.236
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.746,
                  "after": 0.7542
                },
                {
                  "stat": "fouls",
                  "before": 1.1524,
                  "after": 1.1456
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.1542,
                "assists": 0.1865,
                "assist_rate": 0.1865,
                "expected_goals": 0.1947,
                "goals": 0.236,
                "goal_rate": 0.236,
                "shots_on_target": 0.7542,
                "total_shots": 2.4019,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2652,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 0.2108,
                "aerial_lost": 0.1229,
                "interceptions": 0.2948,
                "tackles_won": 0.3755,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1456,
                "fouls_drawn": 1.5556,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1485,
                "xgot": 0.1608,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.6329
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.1542,
                "assists": 0.1865,
                "assist_rate": 0.1865,
                "expected_goals": 0.2104,
                "goals": 0.255,
                "goal_rate": 0.255,
                "shots_on_target": 0.8149,
                "total_shots": 2.5953,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2652,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 1.2,
                "aerial_lost": 0.1229,
                "interceptions": 0.2948,
                "tackles_won": 0.3755,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1456,
                "fouls_drawn": 1.5556,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1605,
                "xgot": 0.1737,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.7643,
                "duel_xg_multiplier": 1.0805,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.535,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Diogo Dalot",
                "opponent_faced": "Diogo Dalot",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Diogo Dalot",
                  "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                  "duel_win_rate": 0.535,
                  "pressing_faced": "MEDIUM",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 1.0805,
                  "skill_edge": 0.0508,
                  "height_edge": 0.004,
                  "attacker_skill": 0.8936,
                  "defender_skill": 0.7808,
                  "attacker_role": "LW",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Diogo Dalot",
                      "market_value": 28000000,
                      "role": "RB",
                      "price_index": 0.7,
                      "adjusted_quality": 0.7808
                    }
                  ],
                  "xg_override": 0.2104
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.2108,
                  "after": 1.2
                },
                {
                  "stat": "totalShots",
                  "before": 2.4019,
                  "after": 2.5953
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.6329,
                  "after": 1.7643
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7542,
                  "after": 0.8149
                },
                {
                  "stat": "goals",
                  "before": 0.236,
                  "after": 0.255
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1947,
                  "after": 0.2104
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.1608,
                  "after": 0.1737
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.1485,
                  "after": 0.1605
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.1542,
                "assist_rate": 0.1865,
                "assists": 0,
                "expected_goals": 0.2104,
                "goal_rate": 0.255,
                "goals": 0,
                "shots_on_target": 0.8149,
                "total_shots": 2.5953,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2652,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 1.2,
                "aerial_lost": 0.1229,
                "interceptions": 0.2948,
                "tackles_won": 0.3755,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1456,
                "fouls_drawn": 1.5556,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1605,
                "xgot": 0.1737,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.7643,
                "duel_xg_multiplier": 1.0805,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.535,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Diogo Dalot",
                "opponent_faced": "Diogo Dalot",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.2925,
                "assist_rate": 0.1865,
                "assists": 0,
                "expected_goals": 0.399,
                "goal_rate": 0.255,
                "goals": 0,
                "shots_on_target": 0.8149,
                "total_shots": 2.5953,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2652,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 1.2,
                "aerial_lost": 0.1229,
                "interceptions": 0.2948,
                "tackles_won": 0.3755,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1456,
                "fouls_drawn": 1.5556,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1605,
                "xgot": 0.3294,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.7643,
                "duel_xg_multiplier": 1.0805,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.535,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Diogo Dalot",
                "opponent_faced": "Diogo Dalot",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1713,
                "creation_factor": 1.1582
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.2104,
                  "after": 0.399
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1542,
                  "after": 0.2925
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 1 by projected rating, fifa_overall 85.0)",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.2925,
                "assist_rate": 0.1865,
                "assists": 0,
                "expected_goals": 0.399,
                "goal_rate": 0.255,
                "goals": 0,
                "shots_on_target": 0.8149,
                "total_shots": 2.5953,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2652,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 1.2,
                "aerial_lost": 0.1229,
                "interceptions": 0.2948,
                "tackles_won": 0.3755,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1456,
                "fouls_drawn": 1.5556,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1605,
                "xgot": 0.3294,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.7643,
                "duel_xg_multiplier": 1.0805,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.535,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Diogo Dalot",
                "opponent_faced": "Diogo Dalot",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1713,
                "creation_factor": 1.1582,
                "fifa_overall": 85.0
              },
              "params": {
                "match_squad_rank": 1,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 69,
                "fifa_rank": 145.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.2925,
                "assist_rate": 0.1865,
                "assists": 0,
                "expected_goals": 0.399,
                "goal_rate": 0.255,
                "goals": 1,
                "shots_on_target": 0.8149,
                "total_shots": 2.5953,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2652,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 1.2,
                "aerial_lost": 0.1229,
                "interceptions": 0.2948,
                "tackles_won": 0.3755,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1456,
                "fouls_drawn": 1.5556,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1605,
                "xgot": 0.3294,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.7643,
                "duel_xg_multiplier": 1.0805,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.535,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Diogo Dalot",
                "opponent_faced": "Diogo Dalot",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 1,
                "goal_probability": 0.329,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1713,
                "creation_factor": 1.1582,
                "fifa_overall": 85.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 1,
                "goal_probability": 0.329,
                "goal_rate": 0.255,
                "scorer_weight": 0.4673,
                "squad_weight_total": 1.766,
                "weight_share": 0.2646,
                "finishing_factor": 1.1713,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.709,
                "expected_assists": 0.2925,
                "assist_rate": 0.1865,
                "assists": 1,
                "expected_goals": 0.399,
                "goal_rate": 0.255,
                "goals": 1,
                "shots_on_target": 0.8149,
                "total_shots": 2.5953,
                "rating": 7.0868,
                "minutes": 87.09,
                "total_pass": 32.1471,
                "accurate_pass": 26.9811,
                "duels_won": 4.2084,
                "total_long_balls": 2.094,
                "accurate_long_balls": 1.0162,
                "total_own_half_passes": 9.8193,
                "accurate_own_half_passes": 8.8862,
                "total_opp_half_passes": 22.3278,
                "accurate_opp_half_passes": 18.0949,
                "crosses_total": 1.2652,
                "crosses_accurate": 0.3147,
                "touches": 49.6029,
                "possession_lost": 12.2483,
                "dispossessed": 1.4723,
                "duels_lost": 5.2338,
                "aerial_won": 1.2,
                "aerial_lost": 0.1229,
                "interceptions": 0.2948,
                "tackles_won": 0.3755,
                "tackles": 1.1141,
                "clearances": 0.1628,
                "total_contest": 3.3485,
                "won_contest": 1.3275,
                "challenges_lost": 0.4689,
                "fouls": 1.1456,
                "fouls_drawn": 1.5556,
                "blocks": 0.094,
                "big_chances_created": 0.5717,
                "big_chances_missed": 0.1605,
                "xgot": 0.3294,
                "ball_carries": 19.0501,
                "total_progression": 96.7023,
                "progressive_carries": 3.3314,
                "shots_off_target": 1.7643,
                "duel_xg_multiplier": 1.0805,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.535,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Diogo Dalot",
                "opponent_faced": "Diogo Dalot",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 1,
                "goal_probability": 0.329,
                "projected_assists": 1,
                "assist_probability": 0.2536,
                "finishing_factor": 1.1713,
                "creation_factor": 1.1582,
                "fifa_overall": 85.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 1,
                "assist_probability": 0.2536,
                "assist_rate": 0.1865,
                "provider_weight": 0.3388,
                "squad_weight_total": 1.3609,
                "weight_share": 0.2489,
                "creation_factor": 1.1582,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Geovany Quenda": {
          "player_id": 1403165,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 47,
          "height": 172,
          "market_value": 45000000,
          "stats": {
            "expected_goals": 0.2892,
            "goal_rate": 0.0959,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0736,
            "key_pass": 1,
            "rating": 6.6752,
            "minutes": 77,
            "total_pass": 7,
            "accurate_pass": 6,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 14,
            "possession_lost": 4.084,
            "dispossessed": 0.6589,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 3,
            "total_progression": 10,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9027,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "HIGH",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Ayden Heaven, Leny Yoro",
            "opponent_faced": "Ayden Heaven, Leny Yoro",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.2511,
            "projected_assists": 0,
            "assist_probability": 0.071,
            "finishing_factor": 0.8,
            "creation_factor": 0.8,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 72,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.002,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 12,
                "accurate_pass": 10,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 4,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 19,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0288,
                "expected_assists": 0.0071,
                "total_shots": 1,
                "total_pass": 11,
                "accurate_pass": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 8,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 2,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2957,
            "combined_rank_score": 983.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 163.0,
            "sofascore_rating": 7.2833,
            "sofascore_appearances": 6.0,
            "fifa_rank": 1804.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6752,
            "source_file": "data/player_rankings.csv",
            "player_name": "Geovany Quenda",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Odsonne Édouard",
                  "ranking": 2952
                },
                {
                  "player_name": "Ibrokhim Ganikhonov",
                  "ranking": 2953
                },
                {
                  "player_name": "Gabriel Capicchioni",
                  "ranking": 2954
                },
                {
                  "player_name": "Milan Roganović",
                  "ranking": 2955
                },
                {
                  "player_name": "Julian Weigl",
                  "ranking": 2956
                }
              ],
              "lower": [
                {
                  "player_name": "Oleg Reabciuk",
                  "ranking": 2958
                },
                {
                  "player_name": "Aschraf El Mahdioui",
                  "ranking": 2959
                },
                {
                  "player_name": "Ethan Jolley",
                  "ranking": 2960
                },
                {
                  "player_name": "Malang Sarr",
                  "ranking": 2961
                },
                {
                  "player_name": "Giacomo Benvenuti",
                  "ranking": 2962
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.501,
          "history_matches": 4,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 4,
            "data_confidence": 0.501,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0499,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 9.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "XGBoost regressor (F_service) evaluated 4 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.01, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1608,
                "goals": 0.1014,
                "goal_rate": 0.1014,
                "shots_on_target": 0.4694,
                "total_shots": 1.3164,
                "expected_assists": 0.0369,
                "key_pass": 0.5725,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.0306,
                "accurate_pass": 5.7908,
                "duels_won": 1.2552,
                "total_long_balls": 0.6276,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.1878,
                "accurate_opp_half_passes": 2.948,
                "crosses_total": 0.7673,
                "crosses_accurate": 0.0,
                "touches": 13.4311,
                "possession_lost": 3.8899,
                "dispossessed": 0.6276,
                "duels_lost": 2.8243,
                "aerial_lost": 0.9414,
                "total_contest": 0.3138,
                "won_contest": 0.0,
                "ball_recovery": 1.2552,
                "challenges_lost": 0.6276,
                "fouls": 0.3138,
                "fouls_drawn": 0.6276,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.6276,
                "tackles": 0.6276,
                "clearances": 0.1927,
                "blocks": 0.3138,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.1927,
                "ball_carries": 3.0165,
                "total_progression": 9.5609,
                "progressive_carries": 0.7673,
                "shots_off_target": 0.847
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.2667,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.2267,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.1927,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.0065,
                  "accuratePass": 5.7908,
                  "totalOppositionHalfPasses": 4.1878,
                  "accurateOppositionHalfPasses": 2.948,
                  "totalShots": 0.2267
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.16083195805549622,
                    "model_output": 0.1608,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0622
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0408
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0247
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0146
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0099
                        }
                      ],
                      "others": -0.0271,
                      "total": 0.1608,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.275545
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.172146
                        },
                        {
                          "name": "goals",
                          "margin": -0.120599
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.078642
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": 0.054325
                        }
                      ],
                      "others_margin": -0.15592
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.10139262676239014,
                    "model_output": 0.1014,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.065
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0415
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.033
                        },
                        {
                          "name": "goals",
                          "contribution": -0.021
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0169
                        }
                      ],
                      "others": -0.0517,
                      "total": 0.1014,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.280946
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.169906
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.159523
                        },
                        {
                          "name": "goals",
                          "margin": -0.11646
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.104956
                        }
                      ],
                      "others_margin": -0.411796
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.4694165885448456,
                    "model_output": 0.4694,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1505
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0684
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0582
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0359
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0241
                        }
                      ],
                      "others": -0.0267,
                      "total": 0.4694,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.249066
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.105575
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.099481
                        },
                        {
                          "name": "goals",
                          "margin": -0.066738
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.047507
                        }
                      ],
                      "others_margin": -0.055257
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.3164114952087402,
                    "model_output": 1.3164,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4139
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1949
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0558
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0459
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0458
                        }
                      ],
                      "others": -0.1353,
                      "total": 1.3164,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.413853
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.19487
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.055817
                        },
                        {
                          "name": "goals",
                          "margin": -0.045878
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": -0.045776
                        }
                      ],
                      "others_margin": -0.135252
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03694547340273857,
                    "model_output": 0.0369,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0175
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0134
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0073
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0059
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0036
                        }
                      ],
                      "others": -0.0065,
                      "total": 0.0369,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.317174
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.252068
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.129519
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.117826
                        },
                        {
                          "name": "rating",
                          "margin": -0.078807
                        }
                      ],
                      "others_margin": -0.162981
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.572487473487854,
                    "model_output": 0.5725,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2245
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0855
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0636
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0518
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0463
                        }
                      ],
                      "others": -0.0915,
                      "total": 0.5725,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.282841
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.098562
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.080152
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.070435
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.067364
                        }
                      ],
                      "others_margin": -0.148289
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.675240516662598,
                    "model_output": 6.6752,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0425
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0285
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.02
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0129
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0119
                        }
                      ],
                      "others": -0.0648,
                      "total": 6.6752,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.04247
                        },
                        {
                          "name": "rating",
                          "margin": -0.02854
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.02
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.012944
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.011926
                        }
                      ],
                      "others_margin": -0.064664
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 4,
                  "role_matches": 1,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0499, quality 0.805)",
              "stats": {
                "expected_goals": 0.1689,
                "goals": 0.1065,
                "goal_rate": 0.1065,
                "shots_on_target": 0.4928,
                "total_shots": 1.3821,
                "expected_assists": 0.0388,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8056,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3295,
                "fouls_drawn": 0.6589,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.6589,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2023,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8893
              },
              "params": {
                "market_value_eur": 45000000,
                "quality_factor": 0.8047,
                "boost_factor": 1.0499,
                "reference_quality": 0.505,
                "history_matches": 4,
                "history_shrink": 0.5556,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0024)",
              "stats": {
                "expected_goals": 0.1689,
                "goals": 0.1062,
                "goal_rate": 0.1062,
                "shots_on_target": 0.4916,
                "total_shots": 1.3788,
                "expected_assists": 0.0388,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8037,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3287,
                "fouls_drawn": 0.6573,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.6573,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2226,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8893
              },
              "params": {
                "blend_weight": 0.0024,
                "history_matches": 4,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8592,
                "prior_reliability": 0.0067,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "totalOffside",
                  "before": 0.2023,
                  "after": 0.2226
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1689,
                "goals": 0.1062,
                "goal_rate": 0.1062,
                "shots_on_target": 0.4916,
                "total_shots": 1.3809,
                "expected_assists": 0.0388,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8037,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3287,
                "fouls_drawn": 0.6573,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.6573,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2226,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8893
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1525,
                "goals": 0.0959,
                "goal_rate": 0.0959,
                "shots_on_target": 0.4438,
                "total_shots": 1.2466,
                "expected_assists": 0.0388,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8037,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3287,
                "fouls_drawn": 0.6573,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.6573,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2226,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8028,
                "duel_xg_multiplier": 0.9027,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Ayden Heaven, Leny Yoro",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "HIGH",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.9027,
                  "skill_edge": -0.0062,
                  "height_edge": -0.06,
                  "attacker_skill": 0.8047,
                  "defender_skill": 0.8184,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Ayden Heaven",
                      "market_value": 32000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.7941
                    },
                    {
                      "player": "Leny Yoro",
                      "market_value": 42000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.8427
                    }
                  ],
                  "xg_override": 0.1525
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.3809,
                  "after": 1.2466
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.8893,
                  "after": 0.8028
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.4916,
                  "after": 0.4438
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1689,
                  "after": 0.1525
                },
                {
                  "stat": "goals",
                  "before": 0.1062,
                  "after": 0.0959
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1525,
                "goal_rate": 0.0959,
                "goals": 0,
                "shots_on_target": 0.4438,
                "total_shots": 1.2466,
                "expected_assists": 0.0388,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8037,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3287,
                "fouls_drawn": 0.6573,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.6573,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2226,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8028,
                "duel_xg_multiplier": 0.9027,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "expected_goals": 0.2892,
                "goal_rate": 0.0959,
                "goals": 0,
                "shots_on_target": 0.4438,
                "total_shots": 1.2466,
                "expected_assists": 0.0736,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8037,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3287,
                "fouls_drawn": 0.6573,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.6573,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2226,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8028,
                "duel_xg_multiplier": 0.9027,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1525,
                  "after": 0.2892
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0388,
                  "after": 0.0736
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 14 by projected rating, fifa_overall 76.0)",
              "stats": {
                "expected_goals": 0.2892,
                "goal_rate": 0.0959,
                "goals": 0,
                "shots_on_target": 0.4438,
                "total_shots": 1.2466,
                "expected_assists": 0.0736,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8037,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3287,
                "fouls_drawn": 0.6573,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.6573,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2226,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8028,
                "duel_xg_multiplier": 0.9027,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 76.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2957,
                "fifa_rank": 1804.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 76.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.2892,
                "goal_rate": 0.0959,
                "goals": 0,
                "shots_on_target": 0.4438,
                "total_shots": 1.2466,
                "expected_assists": 0.0736,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8037,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3287,
                "fouls_drawn": 0.6573,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.6573,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2226,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8028,
                "duel_xg_multiplier": 0.9027,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.2511,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.2511,
                "goal_rate": 0.0959,
                "scorer_weight": 0.2314,
                "squad_weight_total": 1.766,
                "weight_share": 0.131,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.2892,
                "goal_rate": 0.0959,
                "goals": 0,
                "shots_on_target": 0.4438,
                "total_shots": 1.2466,
                "expected_assists": 0.0736,
                "key_pass": 0.6011,
                "rating": 6.6752,
                "minutes": 77.33,
                "total_pass": 7.3814,
                "accurate_pass": 6.0798,
                "duels_won": 1.3178,
                "total_long_balls": 0.6589,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.3968,
                "accurate_opp_half_passes": 3.0951,
                "crosses_total": 0.8037,
                "crosses_accurate": 0.0,
                "touches": 14.1013,
                "possession_lost": 4.084,
                "dispossessed": 0.6589,
                "duels_lost": 2.9652,
                "aerial_lost": 0.9884,
                "total_contest": 0.3295,
                "won_contest": 0.0,
                "ball_recovery": 1.3178,
                "challenges_lost": 0.6589,
                "fouls": 0.3287,
                "fouls_drawn": 0.6573,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.6573,
                "tackles": 0.6589,
                "clearances": 0.2023,
                "blocks": 0.3295,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2226,
                "ball_carries": 3.167,
                "total_progression": 10.038,
                "progressive_carries": 0.8056,
                "shots_off_target": 0.8028,
                "duel_xg_multiplier": 0.9027,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.2511,
                "projected_assists": 0,
                "assist_probability": 0.071,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 76.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.071,
                "assist_rate": 0.0,
                "provider_weight": 0.0589,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0433,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 8,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Moisés Caicedo": {
          "player_id": 987650,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 25,
          "height": 178,
          "market_value": 104000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.076,
            "assist_rate": 0.0549,
            "assists": 0,
            "expected_goals": 0.0677,
            "goal_rate": 0.0418,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.9538,
            "minutes": 86,
            "total_pass": 61,
            "accurate_pass": 55,
            "duels_won": 5,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 32,
            "accurate_own_half_passes": 30,
            "total_opp_half_passes": 29,
            "accurate_opp_half_passes": 25,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 74,
            "possession_lost": 7.6665,
            "dispossessed": 0.4682,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 2,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 2,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0047,
            "ball_carries": 17,
            "total_progression": 43,
            "progressive_carries": 1,
            "shots_off_target": 0,
            "duel_xg_multiplier": 1.0085,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.426,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Carlos Baleba",
            "opponent_faced": "Carlos Baleba",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0655,
            "projected_assists": 0,
            "assist_probability": 0.0732,
            "finishing_factor": 1.0712,
            "creation_factor": 1.1643,
            "fifa_overall": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0121,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 33,
                "accurate_pass": 26,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 4,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 89,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0406,
                "expected_assists": 0.0163,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 63,
                "accurate_pass": 58,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 72,
                "rating": 8.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0145,
                "expected_assists": 0.005,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 55,
                "accurate_pass": 53,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 2,
                "clearances": 3,
                "duels_won": 7,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 85,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0433,
                "expected_assists": 0.049,
                "total_shots": 1,
                "total_pass": 57,
                "accurate_pass": 50,
                "key_pass": 1,
                "interceptions": 2,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0108,
                "total_shots": 0,
                "total_pass": 56,
                "accurate_pass": 50,
                "key_pass": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024024,
              "match_date": "2026-05-09",
              "home_team": "Liverpool FC",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.2121,
                "total_shots": 0,
                "total_pass": 64,
                "accurate_pass": 57,
                "key_pass": 3,
                "tackles": 4,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 10,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023925,
              "match_date": "2026-05-04",
              "home_team": "Chelsea",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0345,
                "total_shots": 0,
                "total_pass": 87,
                "accurate_pass": 82,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024001,
              "match_date": "2026-04-21",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0221,
                "expected_assists": 0.0107,
                "total_shots": 1,
                "total_pass": 70,
                "accurate_pass": 63,
                "tackles": 1,
                "clearances": 4,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.057,
                "expected_assists": 0.0183,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 85,
                "accurate_pass": 79,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 3,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 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": 6,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9538,
            "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.752,
          "history_matches": 37,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 37,
            "data_confidence": 0.752,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0139,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 14.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "XGBoost regressor (M_service) evaluated 37 historical appearances across 8 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.01, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.531,
                "expected_assists": 0.0396,
                "assists": 0.0543,
                "assist_rate": 0.0543,
                "expected_goals": 0.0349,
                "goals": 0.0409,
                "goal_rate": 0.0409,
                "shots_on_target": 0.128,
                "total_shots": 0.5248,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 59.7426,
                "accurate_pass": 54.2004,
                "duels_won": 5.1152,
                "total_long_balls": 3.1349,
                "accurate_long_balls": 1.933,
                "total_own_half_passes": 31.4811,
                "accurate_own_half_passes": 29.7921,
                "total_opp_half_passes": 28.2615,
                "accurate_opp_half_passes": 24.4083,
                "crosses_total": 0.2292,
                "crosses_accurate": 0.0059,
                "touches": 73.3579,
                "possession_lost": 7.5614,
                "dispossessed": 0.4618,
                "duels_lost": 3.8419,
                "aerial_won": 0.5412,
                "aerial_lost": 0.6362,
                "interceptions": 1.7124,
                "tackles_won": 1.1066,
                "tackles": 2.0323,
                "clearances": 1.0663,
                "total_contest": 0.9154,
                "won_contest": 0.4546,
                "challenges_lost": 0.6223,
                "fouls": 1.7686,
                "fouls_drawn": 2.087,
                "blocks": 0.3321,
                "big_chances_created": 0.0933,
                "big_chances_missed": 0.0061,
                "xgot": 0.0025,
                "ball_carries": 16.702,
                "total_progression": 42.764,
                "progressive_carries": 0.5706,
                "shots_off_target": 0.3968
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1504,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1278,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1086,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.0923,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.0785,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-04-21",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Manchester United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.5926,
                  "creative_index": 0.2357,
                  "expectedGoals": 0.0214,
                  "expectedAssists": 0.0396,
                  "totalOppositionHalfPasses": 25.2409
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.531010091304779,
                    "model_output": 0.531,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.1009
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0945
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0735
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0649
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0579
                        }
                      ],
                      "others": -0.1566,
                      "total": 0.531,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.12026
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.113101
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.086789
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.083478
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.080834
                        }
                      ],
                      "others_margin": -0.258487
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0395515002310276,
                    "model_output": 0.0396,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0156
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0124
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0093
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0082
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0028
                        }
                      ],
                      "others": -0.0156,
                      "total": 0.0396,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.202757
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.197303
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.150684
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.132356
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.050137
                        }
                      ],
                      "others_margin": -0.332504
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.05428953468799591,
                    "model_output": 0.0543,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0126
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0071
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0061
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0056
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0035
                        }
                      ],
                      "others": -0.01,
                      "total": 0.0543,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.159967
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.093487
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.080035
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.079844
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.053625
                        }
                      ],
                      "others_margin": -0.168603
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.03492049127817154,
                    "model_output": 0.0349,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0302
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0086
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0076
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0075
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0052
                        }
                      ],
                      "others": -0.0126,
                      "total": 0.0349,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.401243
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.152264
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.134653
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.133448
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.105061
                        }
                      ],
                      "others_margin": -0.305141
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.04085347428917885,
                    "model_output": 0.0409,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0186
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0139
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0108
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0054
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0045
                        }
                      ],
                      "others": -0.0117,
                      "total": 0.0409,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.217308
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.200247
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.189244
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.099165
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.081119
                        }
                      ],
                      "others_margin": -0.25498
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.1279885470867157,
                    "model_output": 0.128,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0761
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.044
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0312
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0219
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0192
                        }
                      ],
                      "others": -0.0417,
                      "total": 0.128,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.273075
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.200524
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.171477
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.123273
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.107203
                        }
                      ],
                      "others_margin": -0.282036
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5247412323951721,
                    "model_output": 0.5247,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.2312
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1156
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0553
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0421
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0375
                        }
                      ],
                      "others": -0.2089,
                      "total": 0.5247,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.23122
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.115622
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.055332
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.042123
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.037478
                        }
                      ],
                      "others_margin": -0.208837
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.953841209411621,
                    "model_output": 6.9538,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0827
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0345
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0175
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0147
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": 0.0134
                        }
                      ],
                      "others": -0.0642,
                      "total": 6.9538,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.082724
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.034468
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.017529
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.014679
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": 0.013443
                        }
                      ],
                      "others_margin": -0.064197
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 37,
                  "role_matches": 35,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0139, quality 0.895)",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.0401,
                "assists": 0.055,
                "assist_rate": 0.055,
                "expected_goals": 0.0354,
                "goals": 0.0414,
                "goal_rate": 0.0414,
                "shots_on_target": 0.1298,
                "total_shots": 0.5321,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2324,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 0.5487,
                "aerial_lost": 0.645,
                "interceptions": 1.7362,
                "tackles_won": 1.122,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7932,
                "fouls_drawn": 2.116,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0062,
                "xgot": 0.0025,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4023
              },
              "params": {
                "market_value_eur": 104000000,
                "quality_factor": 0.8945,
                "boost_factor": 1.0139,
                "reference_quality": 0.505,
                "history_matches": 37,
                "history_shrink": 0.119,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0010)",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.0401,
                "assists": 0.0549,
                "assist_rate": 0.0549,
                "expected_goals": 0.0354,
                "goals": 0.0414,
                "goal_rate": 0.0414,
                "shots_on_target": 0.1297,
                "total_shots": 0.5316,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2322,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 0.5487,
                "aerial_lost": 0.645,
                "interceptions": 1.7344,
                "tackles_won": 1.1208,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7914,
                "fouls_drawn": 2.1138,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0062,
                "xgot": 0.0025,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4023
              },
              "params": {
                "blend_weight": 0.001,
                "history_matches": 37,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9533,
                "prior_reliability": 0.0133,
                "competition": "Premier League",
                "squad": "Chelsea"
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.0401,
                "assists": 0.0549,
                "assist_rate": 0.0549,
                "expected_goals": 0.0354,
                "goals": 0.0414,
                "goal_rate": 0.0414,
                "shots_on_target": 0.1297,
                "total_shots": 0.532,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2322,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 0.5487,
                "aerial_lost": 0.645,
                "interceptions": 1.7344,
                "tackles_won": 1.1208,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7914,
                "fouls_drawn": 2.1138,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0062,
                "xgot": 0.0025,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4023
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.0401,
                "assists": 0.0549,
                "assist_rate": 0.0549,
                "expected_goals": 0.0357,
                "goals": 0.0418,
                "goal_rate": 0.0418,
                "shots_on_target": 0.1308,
                "total_shots": 0.5365,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2322,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 1.0,
                "aerial_lost": 0.645,
                "interceptions": 1.7344,
                "tackles_won": 1.1208,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7914,
                "fouls_drawn": 2.1138,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0063,
                "xgot": 0.0025,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4057,
                "duel_xg_multiplier": 1.0085,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.426,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Carlos Baleba",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.426,
                  "pressing_faced": "ULTRA_HIGH",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 1.0085,
                  "skill_edge": 0.0098,
                  "height_edge": -0.004,
                  "attacker_skill": 0.8978,
                  "defender_skill": 0.876,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Carlos Baleba",
                      "market_value": 63000000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.876
                    }
                  ],
                  "xg_override": 0.0357
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.5487,
                  "after": 1.0
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.0401,
                "assist_rate": 0.0549,
                "assists": 0,
                "expected_goals": 0.0357,
                "goal_rate": 0.0418,
                "goals": 0,
                "shots_on_target": 0.1308,
                "total_shots": 0.5365,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2322,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 1.0,
                "aerial_lost": 0.645,
                "interceptions": 1.7344,
                "tackles_won": 1.1208,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7914,
                "fouls_drawn": 2.1138,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0063,
                "xgot": 0.0025,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4057,
                "duel_xg_multiplier": 1.0085,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.426,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.076,
                "assist_rate": 0.0549,
                "assists": 0,
                "expected_goals": 0.0677,
                "goal_rate": 0.0418,
                "goals": 0,
                "shots_on_target": 0.1308,
                "total_shots": 0.5365,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2322,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 1.0,
                "aerial_lost": 0.645,
                "interceptions": 1.7344,
                "tackles_won": 1.1208,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7914,
                "fouls_drawn": 2.1138,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0063,
                "xgot": 0.0047,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4057,
                "duel_xg_multiplier": 1.0085,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.426,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0712,
                "creation_factor": 1.1643
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0357,
                  "after": 0.0677
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0401,
                  "after": 0.076
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 6 by projected rating, fifa_overall 86.0)",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.076,
                "assist_rate": 0.0549,
                "assists": 0,
                "expected_goals": 0.0677,
                "goal_rate": 0.0418,
                "goals": 0,
                "shots_on_target": 0.1308,
                "total_shots": 0.5365,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2322,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 1.0,
                "aerial_lost": 0.645,
                "interceptions": 1.7344,
                "tackles_won": 1.1208,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7914,
                "fouls_drawn": 2.1138,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0063,
                "xgot": 0.0047,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4057,
                "duel_xg_multiplier": 1.0085,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.426,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0712,
                "creation_factor": 1.1643,
                "fifa_overall": 86.0
              },
              "params": {
                "match_squad_rank": 6,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 98,
                "fifa_rank": 82.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 86.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.076,
                "assist_rate": 0.0549,
                "assists": 0,
                "expected_goals": 0.0677,
                "goal_rate": 0.0418,
                "goals": 0,
                "shots_on_target": 0.1308,
                "total_shots": 0.5365,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2322,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 1.0,
                "aerial_lost": 0.645,
                "interceptions": 1.7344,
                "tackles_won": 1.1208,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7914,
                "fouls_drawn": 2.1138,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0063,
                "xgot": 0.0047,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4057,
                "duel_xg_multiplier": 1.0085,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.426,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0655,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0712,
                "creation_factor": 1.1643,
                "fifa_overall": 86.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0655,
                "goal_rate": 0.0418,
                "scorer_weight": 0.0725,
                "squad_weight_total": 1.766,
                "weight_share": 0.0411,
                "finishing_factor": 1.0712,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.5384,
                "expected_assists": 0.076,
                "assist_rate": 0.0549,
                "assists": 0,
                "expected_goals": 0.0677,
                "goal_rate": 0.0418,
                "goals": 0,
                "shots_on_target": 0.1308,
                "total_shots": 0.5365,
                "rating": 6.9538,
                "minutes": 85.8,
                "total_pass": 60.573,
                "accurate_pass": 54.9538,
                "duels_won": 5.1863,
                "total_long_balls": 3.1785,
                "accurate_long_balls": 1.9599,
                "total_own_half_passes": 31.9187,
                "accurate_own_half_passes": 30.2062,
                "total_opp_half_passes": 28.6543,
                "accurate_opp_half_passes": 24.7476,
                "crosses_total": 0.2322,
                "crosses_accurate": 0.006,
                "touches": 74.3776,
                "possession_lost": 7.6665,
                "dispossessed": 0.4682,
                "duels_lost": 3.8953,
                "aerial_won": 1.0,
                "aerial_lost": 0.645,
                "interceptions": 1.7344,
                "tackles_won": 1.1208,
                "tackles": 2.0605,
                "clearances": 1.0811,
                "total_contest": 0.9281,
                "won_contest": 0.4609,
                "challenges_lost": 0.6309,
                "fouls": 1.7914,
                "fouls_drawn": 2.1138,
                "blocks": 0.3367,
                "big_chances_created": 0.0946,
                "big_chances_missed": 0.0063,
                "xgot": 0.0047,
                "ball_carries": 16.9342,
                "total_progression": 43.3584,
                "progressive_carries": 0.5785,
                "shots_off_target": 0.4057,
                "duel_xg_multiplier": 1.0085,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.426,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0655,
                "projected_assists": 0,
                "assist_probability": 0.0732,
                "finishing_factor": 1.0712,
                "creation_factor": 1.1643,
                "fifa_overall": 86.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0732,
                "assist_rate": 0.0549,
                "provider_weight": 0.0885,
                "squad_weight_total": 1.3609,
                "weight_share": 0.065,
                "creation_factor": 1.1643,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Jordan Henderson": {
          "player_id": 42694,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 14,
          "height": 183,
          "market_value": 1300000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.239,
            "assist_rate": 0.0997,
            "assists": 0,
            "expected_goals": 0.1083,
            "goal_rate": 0.0729,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 7.0063,
            "minutes": 83,
            "total_pass": 50,
            "accurate_pass": 41,
            "duels_won": 2,
            "total_long_balls": 6,
            "accurate_long_balls": 2,
            "total_own_half_passes": 23,
            "accurate_own_half_passes": 21,
            "total_opp_half_passes": 27,
            "accurate_opp_half_passes": 20,
            "crosses_total": 3,
            "crosses_accurate": 1,
            "touches": 61,
            "possession_lost": 13.1575,
            "dispossessed": 0.2069,
            "duels_lost": 2,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 2,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1073,
            "ball_carries": 11,
            "total_progression": 17,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "duel_xg_multiplier": 0.7334,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.239,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Carlos Baleba",
            "opponent_faced": "Carlos Baleba",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1026,
            "projected_assists": 0,
            "assist_probability": 0.2126,
            "finishing_factor": 1.1475,
            "creation_factor": 0.8506,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1109,
                "expected_assists": 0.0474,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 27,
                "accurate_pass": 17,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2297,
                "expected_assists": 0.3323,
                "total_shots": 2,
                "total_pass": 68,
                "accurate_pass": 61,
                "key_pass": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 9.4,
                "goal_rate": 2.0,
                "goals": 2,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1434,
                "expected_assists": 0.0539,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 63,
                "accurate_pass": 53,
                "key_pass": 2,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.081,
                "total_shots": 0,
                "total_pass": 76,
                "accurate_pass": 68,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023962,
              "match_date": "2026-05-24",
              "home_team": "Liverpool FC",
              "away_team": "Brentford",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Brentford",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 60,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0201,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 30,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023953,
              "match_date": "2026-05-17",
              "home_team": "Brentford",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Brentford",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 27,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0348,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 22,
                "key_pass": 1,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023946,
              "match_date": "2026-05-09",
              "home_team": "Manchester City",
              "away_team": "Brentford",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Brentford",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 11,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0055,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024018,
              "match_date": "2026-03-21",
              "home_team": "Leeds United",
              "away_team": "Brentford",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Brentford",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 54,
                "accurate_pass": 33,
                "tackles": 2,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15408501,
              "match_date": "2026-03-16",
              "home_team": "Brentford",
              "away_team": "Wolverhampton",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Brentford",
              "opponent": "Wolverhampton",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1607,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 36,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023980,
              "match_date": "2026-03-03",
              "home_team": "Bournemouth",
              "away_team": "Brentford",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Brentford",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 62,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0064,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 39,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2268,
            "combined_rank_score": 829.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 577.0,
            "sofascore_rating": 6.8031,
            "sofascore_appearances": 32.0,
            "fifa_rank": 1082.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0063,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jordan Henderson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Chimy Ávila",
                  "ranking": 2263
                },
                {
                  "player_name": "Andrés Martín",
                  "ranking": 2264
                },
                {
                  "player_name": "Brais Méndez",
                  "ranking": 2265
                },
                {
                  "player_name": "Bafodé Diakité",
                  "ranking": 2266
                },
                {
                  "player_name": "Kwasi Sibo",
                  "ranking": 2267
                }
              ],
              "lower": [
                {
                  "player_name": "Andoni Gorosabel",
                  "ranking": 2269
                },
                {
                  "player_name": "Jeong-Yeon Wu",
                  "ranking": 2270
                },
                {
                  "player_name": "Leo Román",
                  "ranking": 2271
                },
                {
                  "player_name": "Mathías Olivera",
                  "ranking": 2272
                },
                {
                  "player_name": "Luis Suárez",
                  "ranking": 2273
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 36,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 36,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9975,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 36 historical appearances across 8 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.2519,
                "expected_assists": 0.1263,
                "assists": 0.0999,
                "assist_rate": 0.0999,
                "expected_goals": 0.0781,
                "goals": 0.0996,
                "goal_rate": 0.0996,
                "shots_on_target": 0.3453,
                "total_shots": 0.9705,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.4805,
                "accurate_pass": 40.6231,
                "duels_won": 2.1222,
                "total_long_balls": 5.8476,
                "accurate_long_balls": 1.95,
                "total_own_half_passes": 23.1237,
                "accurate_own_half_passes": 20.9172,
                "total_opp_half_passes": 27.3568,
                "accurate_opp_half_passes": 19.7059,
                "crosses_total": 2.886,
                "crosses_accurate": 0.7,
                "touches": 61.3932,
                "possession_lost": 13.1905,
                "dispossessed": 0.2074,
                "duels_lost": 1.8883,
                "aerial_won": 0.6975,
                "aerial_lost": 0.5929,
                "interceptions": 0.3771,
                "tackles_won": 0.4205,
                "tackles": 1.0553,
                "clearances": 1.5715,
                "total_contest": 0.2957,
                "won_contest": 0.1286,
                "challenges_lost": 0.5763,
                "fouls": 0.3446,
                "fouls_drawn": 0.259,
                "blocks": 0.4933,
                "big_chances_created": 0.1855,
                "big_chances_missed": 0.0,
                "xgot": 0.0774,
                "ball_carries": 10.5681,
                "total_progression": 17.399,
                "progressive_carries": 0.4407,
                "shots_off_target": 0.6252
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1504,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1279,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1087,
                    "rating": 9.4
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0924,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Liverpool FC",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.0785,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Crystal Palace",
                    "minutes": 27.0,
                    "is_starting": false,
                    "weight": 0.0667,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Manchester City",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.0567,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-03-21",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-03-16",
                    "opponent": "Wolverhampton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-03-03",
                    "opponent": "Bournemouth",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.7511,
                  "creative_index": 0.4453,
                  "expectedGoals": 0.0633,
                  "expectedAssists": 0.0863,
                  "totalOppositionHalfPasses": 23.6574
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.2518876791000366,
                    "model_output": 1.2519,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1488
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0958
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0629
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.046
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0455
                        }
                      ],
                      "others": -0.0374,
                      "total": 1.2519,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.154544
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.088205
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.053908
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": 0.037712
                        },
                        {
                          "name": "wonTackle",
                          "margin": 0.035895
                        }
                      ],
                      "others_margin": -0.029385
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.12630613148212433,
                    "model_output": 0.1263,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": 0.0134
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0128
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0087
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0063
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0057
                        }
                      ],
                      "others": 0.0059,
                      "total": 0.1263,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": 0.14644
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.122463
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.07513
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.050895
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.046409
                        }
                      ],
                      "others_margin": 0.048214
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.09991025179624557,
                    "model_output": 0.0999,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0078
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0083
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0072
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0064
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0041
                        }
                      ],
                      "others": 0.0021,
                      "total": 0.0999,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.087453
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.085329
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.06874
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.060859
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.041517
                        }
                      ],
                      "others_margin": 0.022207
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.07814420759677887,
                    "model_output": 0.0781,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0126
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0101
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0065
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0051
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0031
                        }
                      ],
                      "others": -0.0073,
                      "total": 0.0781,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.128903
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.101989
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.072236
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.059824
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.03663
                        }
                      ],
                      "others_margin": -0.088507
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.09960085153579712,
                    "model_output": 0.0996,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0142
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0137
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0083
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0082
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": 0.003
                        }
                      ],
                      "others": 0.0012,
                      "total": 0.0996,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.138967
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.134138
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.090659
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.089534
                        },
                        {
                          "name": "duelWon_p90",
                          "margin": 0.030768
                        }
                      ],
                      "others_margin": 0.012974
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.3452785611152649,
                    "model_output": 0.3453,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0461
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.02
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0189
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0105
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0091
                        }
                      ],
                      "others": -0.0188,
                      "total": 0.3453,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.135304
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.053547
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.050482
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.029119
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.025412
                        }
                      ],
                      "others_margin": -0.053293
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9704363942146301,
                    "model_output": 0.9704,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.147
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0816
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0432
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0355
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0305
                        }
                      ],
                      "others": -0.1019,
                      "total": 0.9704,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.147009
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.081639
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.043232
                        },
                        {
                          "name": "wonTackle",
                          "margin": 0.035521
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.030529
                        }
                      ],
                      "others_margin": -0.101861
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.0062994956970215,
                    "model_output": 7.0063,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.068
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0606
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0304
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0112
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.011
                        }
                      ],
                      "others": -0.0301,
                      "total": 7.0063,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.068047
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.060603
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.030363
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.011192
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.011026
                        }
                      ],
                      "others_margin": -0.030127
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 36,
                  "role_matches": 26,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9975, quality 0.437)",
              "stats": {
                "key_pass": 1.2488,
                "expected_assists": 0.126,
                "assists": 0.0997,
                "assist_rate": 0.0997,
                "expected_goals": 0.0779,
                "goals": 0.0994,
                "goal_rate": 0.0994,
                "shots_on_target": 0.3444,
                "total_shots": 0.9681,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.3543,
                "accurate_pass": 40.5215,
                "duels_won": 2.1169,
                "total_long_balls": 5.833,
                "accurate_long_balls": 1.9451,
                "total_own_half_passes": 23.0659,
                "accurate_own_half_passes": 20.8649,
                "total_opp_half_passes": 27.2884,
                "accurate_opp_half_passes": 19.6566,
                "crosses_total": 2.8788,
                "crosses_accurate": 0.6983,
                "touches": 61.2397,
                "possession_lost": 13.1575,
                "dispossessed": 0.2069,
                "duels_lost": 1.8836,
                "aerial_won": 0.6958,
                "aerial_lost": 0.5914,
                "interceptions": 0.3762,
                "tackles_won": 0.4194,
                "tackles": 1.0527,
                "clearances": 1.5676,
                "total_contest": 0.295,
                "won_contest": 0.1283,
                "challenges_lost": 0.5749,
                "fouls": 0.3437,
                "fouls_drawn": 0.2584,
                "blocks": 0.4921,
                "big_chances_created": 0.185,
                "big_chances_missed": 0.0,
                "xgot": 0.0772,
                "ball_carries": 10.5417,
                "total_progression": 17.3555,
                "progressive_carries": 0.4396,
                "shots_off_target": 0.6236
              },
              "params": {
                "market_value_eur": 1300000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9975,
                "reference_quality": 0.505,
                "history_matches": 36,
                "history_shrink": 0.122,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.2488,
                "expected_assists": 0.126,
                "assists": 0.0997,
                "assist_rate": 0.0997,
                "expected_goals": 0.0779,
                "goals": 0.0994,
                "goal_rate": 0.0994,
                "shots_on_target": 0.3444,
                "total_shots": 0.9681,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.3543,
                "accurate_pass": 40.5215,
                "duels_won": 2.1169,
                "total_long_balls": 5.833,
                "accurate_long_balls": 1.9451,
                "total_own_half_passes": 23.0659,
                "accurate_own_half_passes": 20.8649,
                "total_opp_half_passes": 27.2884,
                "accurate_opp_half_passes": 19.6566,
                "crosses_total": 2.8788,
                "crosses_accurate": 0.6983,
                "touches": 61.2397,
                "possession_lost": 13.1575,
                "dispossessed": 0.2069,
                "duels_lost": 1.8836,
                "aerial_won": 0.6958,
                "aerial_lost": 0.5914,
                "interceptions": 0.3762,
                "tackles_won": 0.4194,
                "tackles": 1.0527,
                "clearances": 1.5676,
                "total_contest": 0.295,
                "won_contest": 0.1283,
                "challenges_lost": 0.5749,
                "fouls": 0.3437,
                "fouls_drawn": 0.2584,
                "blocks": 0.4921,
                "big_chances_created": 0.185,
                "big_chances_missed": 0.0,
                "xgot": 0.0772,
                "ball_carries": 10.5417,
                "total_progression": 17.3555,
                "progressive_carries": 0.4396,
                "shots_off_target": 0.6236
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.2488,
                "expected_assists": 0.126,
                "assists": 0.0997,
                "assist_rate": 0.0997,
                "expected_goals": 0.0571,
                "goals": 0.0729,
                "goal_rate": 0.0729,
                "shots_on_target": 0.2526,
                "total_shots": 0.71,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.3543,
                "accurate_pass": 40.5215,
                "duels_won": 2.1169,
                "total_long_balls": 5.833,
                "accurate_long_balls": 1.9451,
                "total_own_half_passes": 23.0659,
                "accurate_own_half_passes": 20.8649,
                "total_opp_half_passes": 27.2884,
                "accurate_opp_half_passes": 19.6566,
                "crosses_total": 2.8788,
                "crosses_accurate": 0.6983,
                "touches": 61.2397,
                "possession_lost": 13.1575,
                "dispossessed": 0.2069,
                "duels_lost": 1.8836,
                "aerial_won": 1.1,
                "aerial_lost": 0.5914,
                "interceptions": 0.3762,
                "tackles_won": 0.4194,
                "tackles": 1.0527,
                "clearances": 1.5676,
                "total_contest": 0.295,
                "won_contest": 0.1283,
                "challenges_lost": 0.5749,
                "fouls": 0.3437,
                "fouls_drawn": 0.2584,
                "blocks": 0.4921,
                "big_chances_created": 0.185,
                "big_chances_missed": 0.0,
                "xgot": 0.0566,
                "ball_carries": 10.5417,
                "total_progression": 17.3555,
                "progressive_carries": 0.4396,
                "shots_off_target": 0.4573,
                "duel_xg_multiplier": 0.7334,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Carlos Baleba",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.239,
                  "pressing_faced": "ULTRA_HIGH",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.7334,
                  "skill_edge": -0.1974,
                  "height_edge": 0.016,
                  "attacker_skill": 0.4374,
                  "defender_skill": 0.876,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Carlos Baleba",
                      "market_value": 63000000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.876
                    }
                  ],
                  "xg_override": 0.0571
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.6958,
                  "after": 1.1
                },
                {
                  "stat": "totalShots",
                  "before": 0.9681,
                  "after": 0.71
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.6236,
                  "after": 0.4573
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.3444,
                  "after": 0.2526
                },
                {
                  "stat": "goals",
                  "before": 0.0994,
                  "after": 0.0729
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0779,
                  "after": 0.0571
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.0772,
                  "after": 0.0566
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 1.2488,
                "expected_assists": 0.126,
                "assist_rate": 0.0997,
                "assists": 0,
                "expected_goals": 0.0571,
                "goal_rate": 0.0729,
                "goals": 0,
                "shots_on_target": 0.2526,
                "total_shots": 0.71,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.3543,
                "accurate_pass": 40.5215,
                "duels_won": 2.1169,
                "total_long_balls": 5.833,
                "accurate_long_balls": 1.9451,
                "total_own_half_passes": 23.0659,
                "accurate_own_half_passes": 20.8649,
                "total_opp_half_passes": 27.2884,
                "accurate_opp_half_passes": 19.6566,
                "crosses_total": 2.8788,
                "crosses_accurate": 0.6983,
                "touches": 61.2397,
                "possession_lost": 13.1575,
                "dispossessed": 0.2069,
                "duels_lost": 1.8836,
                "aerial_won": 1.1,
                "aerial_lost": 0.5914,
                "interceptions": 0.3762,
                "tackles_won": 0.4194,
                "tackles": 1.0527,
                "clearances": 1.5676,
                "total_contest": 0.295,
                "won_contest": 0.1283,
                "challenges_lost": 0.5749,
                "fouls": 0.3437,
                "fouls_drawn": 0.2584,
                "blocks": 0.4921,
                "big_chances_created": 0.185,
                "big_chances_missed": 0.0,
                "xgot": 0.0566,
                "ball_carries": 10.5417,
                "total_progression": 17.3555,
                "progressive_carries": 0.4396,
                "shots_off_target": 0.4573,
                "duel_xg_multiplier": 0.7334,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "key_pass": 1.2488,
                "expected_assists": 0.239,
                "assist_rate": 0.0997,
                "assists": 0,
                "expected_goals": 0.1083,
                "goal_rate": 0.0729,
                "goals": 0,
                "shots_on_target": 0.2526,
                "total_shots": 0.71,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.3543,
                "accurate_pass": 40.5215,
                "duels_won": 2.1169,
                "total_long_balls": 5.833,
                "accurate_long_balls": 1.9451,
                "total_own_half_passes": 23.0659,
                "accurate_own_half_passes": 20.8649,
                "total_opp_half_passes": 27.2884,
                "accurate_opp_half_passes": 19.6566,
                "crosses_total": 2.8788,
                "crosses_accurate": 0.6983,
                "touches": 61.2397,
                "possession_lost": 13.1575,
                "dispossessed": 0.2069,
                "duels_lost": 1.8836,
                "aerial_won": 1.1,
                "aerial_lost": 0.5914,
                "interceptions": 0.3762,
                "tackles_won": 0.4194,
                "tackles": 1.0527,
                "clearances": 1.5676,
                "total_contest": 0.295,
                "won_contest": 0.1283,
                "challenges_lost": 0.5749,
                "fouls": 0.3437,
                "fouls_drawn": 0.2584,
                "blocks": 0.4921,
                "big_chances_created": 0.185,
                "big_chances_missed": 0.0,
                "xgot": 0.1073,
                "ball_carries": 10.5417,
                "total_progression": 17.3555,
                "progressive_carries": 0.4396,
                "shots_off_target": 0.4573,
                "duel_xg_multiplier": 0.7334,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1475,
                "creation_factor": 0.8506
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0571,
                  "after": 0.1083
                },
                {
                  "stat": "expected_assists",
                  "before": 0.126,
                  "after": 0.239
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 3 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 1.2488,
                "expected_assists": 0.239,
                "assist_rate": 0.0997,
                "assists": 0,
                "expected_goals": 0.1083,
                "goal_rate": 0.0729,
                "goals": 0,
                "shots_on_target": 0.2526,
                "total_shots": 0.71,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.3543,
                "accurate_pass": 40.5215,
                "duels_won": 2.1169,
                "total_long_balls": 5.833,
                "accurate_long_balls": 1.9451,
                "total_own_half_passes": 23.0659,
                "accurate_own_half_passes": 20.8649,
                "total_opp_half_passes": 27.2884,
                "accurate_opp_half_passes": 19.6566,
                "crosses_total": 2.8788,
                "crosses_accurate": 0.6983,
                "touches": 61.2397,
                "possession_lost": 13.1575,
                "dispossessed": 0.2069,
                "duels_lost": 1.8836,
                "aerial_won": 1.1,
                "aerial_lost": 0.5914,
                "interceptions": 0.3762,
                "tackles_won": 0.4194,
                "tackles": 1.0527,
                "clearances": 1.5676,
                "total_contest": 0.295,
                "won_contest": 0.1283,
                "challenges_lost": 0.5749,
                "fouls": 0.3437,
                "fouls_drawn": 0.2584,
                "blocks": 0.4921,
                "big_chances_created": 0.185,
                "big_chances_missed": 0.0,
                "xgot": 0.1073,
                "ball_carries": 10.5417,
                "total_progression": 17.3555,
                "progressive_carries": 0.4396,
                "shots_off_target": 0.4573,
                "duel_xg_multiplier": 0.7334,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1475,
                "creation_factor": 0.8506,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 3,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2268,
                "fifa_rank": 1082.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 1.2488,
                "expected_assists": 0.239,
                "assist_rate": 0.0997,
                "assists": 0,
                "expected_goals": 0.1083,
                "goal_rate": 0.0729,
                "goals": 0,
                "shots_on_target": 0.2526,
                "total_shots": 0.71,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.3543,
                "accurate_pass": 40.5215,
                "duels_won": 2.1169,
                "total_long_balls": 5.833,
                "accurate_long_balls": 1.9451,
                "total_own_half_passes": 23.0659,
                "accurate_own_half_passes": 20.8649,
                "total_opp_half_passes": 27.2884,
                "accurate_opp_half_passes": 19.6566,
                "crosses_total": 2.8788,
                "crosses_accurate": 0.6983,
                "touches": 61.2397,
                "possession_lost": 13.1575,
                "dispossessed": 0.2069,
                "duels_lost": 1.8836,
                "aerial_won": 1.1,
                "aerial_lost": 0.5914,
                "interceptions": 0.3762,
                "tackles_won": 0.4194,
                "tackles": 1.0527,
                "clearances": 1.5676,
                "total_contest": 0.295,
                "won_contest": 0.1283,
                "challenges_lost": 0.5749,
                "fouls": 0.3437,
                "fouls_drawn": 0.2584,
                "blocks": 0.4921,
                "big_chances_created": 0.185,
                "big_chances_missed": 0.0,
                "xgot": 0.1073,
                "ball_carries": 10.5417,
                "total_progression": 17.3555,
                "progressive_carries": 0.4396,
                "shots_off_target": 0.4573,
                "duel_xg_multiplier": 0.7334,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1026,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1475,
                "creation_factor": 0.8506,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.1026,
                "goal_rate": 0.0729,
                "scorer_weight": 0.1243,
                "squad_weight_total": 1.766,
                "weight_share": 0.0704,
                "finishing_factor": 1.1475,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.2488,
                "expected_assists": 0.239,
                "assist_rate": 0.0997,
                "assists": 0,
                "expected_goals": 0.1083,
                "goal_rate": 0.0729,
                "goals": 0,
                "shots_on_target": 0.2526,
                "total_shots": 0.71,
                "rating": 7.0063,
                "minutes": 83.06,
                "total_pass": 50.3543,
                "accurate_pass": 40.5215,
                "duels_won": 2.1169,
                "total_long_balls": 5.833,
                "accurate_long_balls": 1.9451,
                "total_own_half_passes": 23.0659,
                "accurate_own_half_passes": 20.8649,
                "total_opp_half_passes": 27.2884,
                "accurate_opp_half_passes": 19.6566,
                "crosses_total": 2.8788,
                "crosses_accurate": 0.6983,
                "touches": 61.2397,
                "possession_lost": 13.1575,
                "dispossessed": 0.2069,
                "duels_lost": 1.8836,
                "aerial_won": 1.1,
                "aerial_lost": 0.5914,
                "interceptions": 0.3762,
                "tackles_won": 0.4194,
                "tackles": 1.0527,
                "clearances": 1.5676,
                "total_contest": 0.295,
                "won_contest": 0.1283,
                "challenges_lost": 0.5749,
                "fouls": 0.3437,
                "fouls_drawn": 0.2584,
                "blocks": 0.4921,
                "big_chances_created": 0.185,
                "big_chances_missed": 0.0,
                "xgot": 0.1073,
                "ball_carries": 10.5417,
                "total_progression": 17.3555,
                "progressive_carries": 0.4396,
                "shots_off_target": 0.4573,
                "duel_xg_multiplier": 0.7334,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.239,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Carlos Baleba",
                "opponent_faced": "Carlos Baleba",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1026,
                "projected_assists": 0,
                "assist_probability": 0.2126,
                "finishing_factor": 1.1475,
                "creation_factor": 0.8506,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.2126,
                "assist_rate": 0.0997,
                "provider_weight": 0.2033,
                "squad_weight_total": 1.3609,
                "weight_share": 0.1494,
                "creation_factor": 0.8506,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Jorrel Hato": {
          "player_id": 1153079,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 21,
          "height": 182,
          "market_value": 47000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.7299,
            "minutes": 74,
            "total_pass": 32,
            "accurate_pass": 29,
            "duels_won": 4,
            "total_long_balls": 2,
            "accurate_long_balls": 0,
            "total_own_half_passes": 19,
            "accurate_own_half_passes": 18,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 11,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 48,
            "possession_lost": 7.0281,
            "dispossessed": 0.2966,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.186,
            "assists": 0,
            "expected_goals": 0.0034,
            "expected_assists": 0.0637,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 27,
            "progressive_carries": 1,
            "key_pass": 1,
            "shots_off_target": 0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.0,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Bryan Mbeumo",
            "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.0034,
            "projected_assists": 0,
            "assist_probability": 0.0617,
            "finishing_factor": 0.9653,
            "creation_factor": 1.25,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 65,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0059,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 20,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 0,
                "duels_won": 4,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 89,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0132,
                "total_shots": 0,
                "total_pass": 31,
                "accurate_pass": 27,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 45,
                "rating": 5.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1045,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 14,
                "tackles": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 1.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 1.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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 52,
                "rating": 5.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0599,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 26,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0166,
                "total_shots": 0,
                "total_pass": 68,
                "accurate_pass": 64,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024024,
              "match_date": "2026-05-09",
              "home_team": "Liverpool FC",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0115,
                "total_shots": 0,
                "total_pass": 46,
                "accurate_pass": 44,
                "tackles": 5,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 3,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024001,
              "match_date": "2026-04-21",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0104,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 49,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "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": 13,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7299,
            "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": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.767,
          "history_matches": 28,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 28,
            "data_confidence": 0.767,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.014,
            "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": "XGBoost regressor (D_service) evaluated 28 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.11, gls/90: 0.0, ast/90: 0.5882352941176471)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.9686,
                "tackles": 1.9632,
                "tackles_won": 1.2605,
                "clearances": 2.702,
                "aerial_won": 0.9669,
                "total_shots": 0.3236,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 31.8026,
                "accurate_pass": 28.2248,
                "duels_won": 3.817,
                "total_long_balls": 1.765,
                "accurate_long_balls": 0.3846,
                "total_own_half_passes": 19.0172,
                "accurate_own_half_passes": 17.4257,
                "total_opp_half_passes": 12.7854,
                "accurate_opp_half_passes": 10.799,
                "crosses_total": 0.0388,
                "crosses_accurate": 0.0,
                "touches": 47.0492,
                "possession_lost": 6.9311,
                "dispossessed": 0.2925,
                "duels_lost": 3.0659,
                "aerial_lost": 1.233,
                "total_contest": 0.9916,
                "won_contest": 0.6255,
                "ball_recovery": 2.7532,
                "challenges_lost": 0.5396,
                "fouls": 0.6347,
                "fouls_drawn": 0.1857,
                "blocks": 0.4948,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.1801,
                "assist_rate": 0.1801,
                "expected_goals": 0.0018,
                "expected_assists": 0.0331,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1531,
                "xgot": 0.0,
                "ball_carries": 10.3422,
                "total_progression": 26.8645,
                "progressive_carries": 1.025,
                "key_pass": 0.6177,
                "shots_off_target": 0.3236
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.1516,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1289,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1095,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.0931,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0791,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.0673,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 52.0,
                    "is_starting": true,
                    "weight": 0.0572,
                    "rating": 5.8
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0486,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0413,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-04-21",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0351,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 1.8959,
                  "aerialWon": 0.8121,
                  "totalClearance_p90": 2.5132,
                  "totalTackle": 2.0722,
                  "totalPass": 30.3152
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9685973525047302,
                    "model_output": 0.9686,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1123
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0197
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0187
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0128
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0104
                        }
                      ],
                      "others": -0.0088,
                      "total": 0.9686,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.121588
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.020328
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.019316
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.013164
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.010673
                        }
                      ],
                      "others_margin": -0.009025
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.963185429573059,
                    "model_output": 1.9632,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1866
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.1043
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.1011
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0675
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0501
                        }
                      ],
                      "others": 0.0679,
                      "total": 1.9632,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.12634
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.064221
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.058532
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.037263
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.026815
                        }
                      ],
                      "others_margin": 0.035212
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.260460615158081,
                    "model_output": 1.2605,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1199
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0694
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0565
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0511
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0459
                        }
                      ],
                      "others": 0.072,
                      "total": 1.2605,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.132625
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.069358
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.053112
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.04577
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.039378
                        }
                      ],
                      "others_margin": 0.05882
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.7020249366760254,
                    "model_output": 2.702,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": -0.4711
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4161
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.3634
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.3017
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0928
                        }
                      ],
                      "others": -0.1024,
                      "total": 2.702,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": -0.147656
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.131513
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.113846
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.1055
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.033653
                        }
                      ],
                      "others_margin": -0.037225
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.9669297337532043,
                    "model_output": 0.9669,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.3053
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1458
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.1023
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0655
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0317
                        }
                      ],
                      "others": -0.0517,
                      "total": 0.9669,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.250539
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.127451
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.087749
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.06054
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.030633
                        }
                      ],
                      "others_margin": -0.051976
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.32355496287345886,
                    "model_output": 0.3236,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1261
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.049
                        },
                        {
                          "name": "rating",
                          "contribution": -0.022
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0081
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0071
                        }
                      ],
                      "others": -0.0548,
                      "total": 0.3236,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.126143
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.048991
                        },
                        {
                          "name": "rating",
                          "margin": -0.021959
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.008133
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.007116
                        }
                      ],
                      "others_margin": -0.054856
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.7299041748046875,
                    "model_output": 6.7299,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0184
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0151
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.013
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0125
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0093
                        }
                      ],
                      "others": 0.0027,
                      "total": 6.7299,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.018368
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015119
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.012965
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.01252
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.009313
                        }
                      ],
                      "others_margin": 0.002674
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 28,
                  "role_matches": 18,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0140, quality 0.813)",
              "stats": {
                "interceptions": 0.9822,
                "tackles": 1.9907,
                "tackles_won": 1.2781,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3281,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0393,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6436,
                "fouls_drawn": 0.1883,
                "blocks": 0.5017,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.1826,
                "assist_rate": 0.1826,
                "expected_goals": 0.0018,
                "expected_assists": 0.0336,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281
              },
              "params": {
                "market_value_eur": 47000000,
                "quality_factor": 0.8129,
                "boost_factor": 1.014,
                "reference_quality": 0.505,
                "history_matches": 28,
                "history_shrink": 0.1515,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0112)",
              "stats": {
                "interceptions": 0.9766,
                "tackles": 1.9907,
                "tackles_won": 1.2692,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3298,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0389,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6364,
                "fouls_drawn": 0.197,
                "blocks": 0.5017,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.186,
                "assist_rate": 0.186,
                "expected_goals": 0.0018,
                "expected_assists": 0.0336,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281
              },
              "params": {
                "blend_weight": 0.0112,
                "history_matches": 28,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8236,
                "prior_reliability": 0.1133,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "wonTackle",
                  "before": 1.2781,
                  "after": 1.2692
                },
                {
                  "stat": "wasFouled",
                  "before": 0.1883,
                  "after": 0.197
                },
                {
                  "stat": "fouls",
                  "before": 0.6436,
                  "after": 0.6364
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.9822,
                  "after": 0.9766
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.9766,
                "tackles": 1.9907,
                "tackles_won": 1.2692,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3298,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0389,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6364,
                "fouls_drawn": 0.197,
                "blocks": 0.5017,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.186,
                "assist_rate": 0.186,
                "expected_goals": 0.0018,
                "expected_assists": 0.0336,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.9766,
                "tackles": 1.9907,
                "tackles_won": 1.2692,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3298,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0389,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6364,
                "fouls_drawn": 0.197,
                "blocks": 0.5017,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.186,
                "assist_rate": 0.186,
                "expected_goals": 0.0018,
                "expected_assists": 0.0336,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Bryan Mbeumo",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.9766,
                "tackles": 1.9907,
                "tackles_won": 1.2692,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3298,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0389,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6364,
                "fouls_drawn": 0.197,
                "blocks": 0.5017,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.186,
                "assists": 0,
                "expected_goals": 0.0018,
                "expected_assists": 0.0336,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "interceptions": 0.9766,
                "tackles": 1.9907,
                "tackles_won": 1.2692,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3298,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0389,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6364,
                "fouls_drawn": 0.197,
                "blocks": 0.5017,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.186,
                "assists": 0,
                "expected_goals": 0.0034,
                "expected_assists": 0.0637,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9653,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_assists",
                  "before": 0.0336,
                  "after": 0.0637
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 13 by projected rating, fifa_overall 78.0)",
              "stats": {
                "interceptions": 0.9766,
                "tackles": 1.9907,
                "tackles_won": 1.2692,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3298,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0389,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6364,
                "fouls_drawn": 0.197,
                "blocks": 0.5017,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.186,
                "assists": 0,
                "expected_goals": 0.0034,
                "expected_assists": 0.0637,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9653,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 13,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2453,
                "fifa_rank": 1127.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.9766,
                "tackles": 1.9907,
                "tackles_won": 1.2692,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3298,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0389,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6364,
                "fouls_drawn": 0.197,
                "blocks": 0.5017,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.186,
                "assists": 0,
                "expected_goals": 0.0034,
                "expected_assists": 0.0637,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "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.0034,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9653,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0034,
                "goal_rate": 0.0,
                "scorer_weight": 0.0033,
                "squad_weight_total": 1.766,
                "weight_share": 0.0019,
                "finishing_factor": 0.9653,
                "appearance_weight": 1.0,
                "weight_rank": 11,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.9766,
                "tackles": 1.9907,
                "tackles_won": 1.2692,
                "clearances": 2.7399,
                "aerial_won": 0.9805,
                "total_shots": 0.3298,
                "rating": 6.7299,
                "minutes": 74.12,
                "total_pass": 32.2478,
                "accurate_pass": 28.6199,
                "duels_won": 3.8704,
                "total_long_balls": 1.7897,
                "accurate_long_balls": 0.39,
                "total_own_half_passes": 19.2834,
                "accurate_own_half_passes": 17.6697,
                "total_opp_half_passes": 12.9644,
                "accurate_opp_half_passes": 10.9502,
                "crosses_total": 0.0389,
                "crosses_accurate": 0.0,
                "touches": 47.7079,
                "possession_lost": 7.0281,
                "dispossessed": 0.2966,
                "duels_lost": 3.1088,
                "aerial_lost": 1.2503,
                "total_contest": 1.0055,
                "won_contest": 0.6343,
                "ball_recovery": 2.7917,
                "challenges_lost": 0.5472,
                "fouls": 0.6364,
                "fouls_drawn": 0.197,
                "blocks": 0.5017,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.186,
                "assists": 0,
                "expected_goals": 0.0034,
                "expected_assists": 0.0637,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1552,
                "xgot": 0.0,
                "ball_carries": 10.487,
                "total_progression": 27.2406,
                "progressive_carries": 1.0393,
                "key_pass": 0.6263,
                "shots_off_target": 0.3281,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Bryan Mbeumo",
                "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.0034,
                "projected_assists": 0,
                "assist_probability": 0.0617,
                "finishing_factor": 0.9653,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0617,
                "assist_rate": 0.186,
                "provider_weight": 0.0796,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0585,
                "creation_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Levi Colwill": {
          "player_id": 996911,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 6,
          "height": 187,
          "market_value": 55000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 6,
            "aerial_won": 2,
            "total_shots": 0,
            "rating": 6.8009,
            "minutes": 89,
            "total_pass": 59,
            "accurate_pass": 52,
            "duels_won": 5,
            "total_long_balls": 4,
            "accurate_long_balls": 1,
            "total_own_half_passes": 40,
            "accurate_own_half_passes": 38,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 14,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 71,
            "possession_lost": 7.8821,
            "dispossessed": 0.0647,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0019,
            "expected_assists": 0.0908,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 16,
            "total_progression": 60,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "opponent_faced": "Bryan Mbeumo",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0019,
            "projected_assists": 0,
            "assist_probability": 0.0868,
            "finishing_factor": 0.9804,
            "creation_factor": 0.8,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1726,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 52,
                "accurate_pass": 44,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 7,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0025,
                "total_shots": 0,
                "total_pass": 50,
                "accurate_pass": 41,
                "clearances": 9,
                "aerial_won": 4,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.005,
                "total_shots": 0,
                "total_pass": 75,
                "accurate_pass": 71,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 5,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0137,
                "total_shots": 0,
                "total_pass": 70,
                "accurate_pass": 61,
                "interceptions": 2,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0114,
                "total_shots": 0,
                "total_pass": 72,
                "accurate_pass": 66,
                "key_pass": 1,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 0.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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.095,
                "total_shots": 0,
                "total_pass": 65,
                "accurate_pass": 59,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 8,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024024,
              "match_date": "2026-05-09",
              "home_team": "Liverpool FC",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.009,
                "total_shots": 0,
                "total_pass": 79,
                "accurate_pass": 71,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023925,
              "match_date": "2026-05-04",
              "home_team": "Chelsea",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 43,
                "tackles": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 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": 10,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8009,
            "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.768,
          "history_matches": 10,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 10,
            "data_confidence": 0.768,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0335,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 161.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.56,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.12
            },
            "rationale": "XGBoost regressor (D_service) evaluated 10 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Chelsea, rel: 0.12, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.9274,
                "tackles": 1.1583,
                "tackles_won": 0.7157,
                "clearances": 5.4182,
                "aerial_won": 2.4145,
                "total_shots": 0.3515,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 57.053,
                "accurate_pass": 50.1021,
                "duels_won": 4.4175,
                "total_long_balls": 4.3057,
                "accurate_long_balls": 1.0019,
                "total_own_half_passes": 38.778,
                "accurate_own_half_passes": 36.9137,
                "total_opp_half_passes": 18.275,
                "accurate_opp_half_passes": 13.1884,
                "crosses_total": 0.0532,
                "crosses_accurate": 0.0,
                "touches": 68.8692,
                "possession_lost": 7.6266,
                "dispossessed": 0.0626,
                "duels_lost": 2.6965,
                "aerial_lost": 1.5672,
                "total_contest": 0.0736,
                "won_contest": 0.0736,
                "ball_recovery": 3.6657,
                "challenges_lost": 0.1019,
                "fouls": 0.9648,
                "fouls_drawn": 0.3846,
                "blocks": 0.7726,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.001,
                "expected_assists": 0.0463,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 15.5632,
                "total_progression": 57.8652,
                "progressive_carries": 0.7532,
                "key_pass": 0.1019,
                "shots_off_target": 0.3515
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1868,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1588,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1349,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1147,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0975,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.0829,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0704,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0599,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0509,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Nottingham Forest",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0433,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 10.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 5.4751,
                  "aerialWon": 2.8447,
                  "totalClearance_p90": 5.5994,
                  "totalTackle": 1.073,
                  "totalPass": 56.6614
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9273725748062134,
                    "model_output": 0.9274,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1085
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0735
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0269
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": -0.0189
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0128
                        }
                      ],
                      "others": 0.0287,
                      "total": 0.9274,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.117713
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.078158
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.02932
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": -0.020525
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.014135
                        }
                      ],
                      "others_margin": 0.031353
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.1582975387573242,
                    "model_output": 1.1583,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1767
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0909
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0807
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0544
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0329
                        }
                      ],
                      "others": -0.1452,
                      "total": 1.1583,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.120022
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.059911
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.056435
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.039934
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.024935
                        }
                      ],
                      "others_margin": -0.118042
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7156586050987244,
                    "model_output": 0.7157,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1045
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0486
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0447
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0391
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0279
                        }
                      ],
                      "others": -0.0742,
                      "total": 0.7157,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.116542
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.052472
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.05084
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.046671
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.034749
                        }
                      ],
                      "others_margin": -0.098776
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 5.418241500854492,
                    "model_output": 5.4182,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": 0.668
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.5612
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.3068
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.322
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.2035
                        }
                      ],
                      "others": -0.075,
                      "total": 5.4182,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": 0.177866
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.128291
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.06375
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.062806
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.037742
                        }
                      ],
                      "others_margin": -0.013745
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 2.414463520050049,
                    "model_output": 2.4145,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.5822
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2224
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.116
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1068
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0826
                        }
                      ],
                      "others": -0.0731,
                      "total": 2.4145,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.352486
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.10747
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.051802
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.045428
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.033769
                        }
                      ],
                      "others_margin": -0.029836
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3514701724052429,
                    "model_output": 0.3515,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1139
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0462
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0209
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0102
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0079
                        }
                      ],
                      "others": -0.0361,
                      "total": 0.3515,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.113912
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.046164
                        },
                        {
                          "name": "rating",
                          "margin": -0.020888
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.010195
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.007939
                        }
                      ],
                      "others_margin": -0.036177
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.800890922546387,
                    "model_output": 6.8009,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": 0.0508
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0268
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0248
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0193
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0131
                        }
                      ],
                      "others": -0.015,
                      "total": 6.8009,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": 0.050843
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.026831
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.024789
                        },
                        {
                          "name": "rating",
                          "margin": -0.019308
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.013094
                        }
                      ],
                      "others_margin": -0.01511
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 10,
                  "role_matches": 9,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0335, quality 0.840)",
              "stats": {
                "interceptions": 0.9584,
                "tackles": 1.1971,
                "tackles_won": 0.7396,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3633,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.055,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9971,
                "fouls_drawn": 0.3975,
                "blocks": 0.7985,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.001,
                "expected_assists": 0.0479,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633
              },
              "params": {
                "market_value_eur": 55000000,
                "quality_factor": 0.8399,
                "boost_factor": 1.0335,
                "reference_quality": 0.505,
                "history_matches": 10,
                "history_shrink": 0.3333,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0260)",
              "stats": {
                "interceptions": 0.962,
                "tackles": 1.1971,
                "tackles_won": 0.7631,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3682,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.0536,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9854,
                "fouls_drawn": 0.4014,
                "blocks": 0.7985,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.001,
                "expected_assists": 0.0479,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633
              },
              "params": {
                "blend_weight": 0.026,
                "history_matches": 10,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9858,
                "prior_reliability": 0.12,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "wonTackle",
                  "before": 0.7396,
                  "after": 0.7631
                },
                {
                  "stat": "fouls",
                  "before": 0.9971,
                  "after": 0.9854
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.962,
                "tackles": 1.1971,
                "tackles_won": 0.7631,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3682,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.0536,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9854,
                "fouls_drawn": 0.4014,
                "blocks": 0.7985,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.001,
                "expected_assists": 0.0479,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.962,
                "tackles": 1.1971,
                "tackles_won": 0.7631,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3682,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.0536,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9854,
                "fouls_drawn": 0.4014,
                "blocks": 0.7985,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.001,
                "expected_assists": 0.0479,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633,
                "opponent_faced": "Bryan Mbeumo",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Bryan Mbeumo",
                  "matchup_zone": "Shape fallback"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.962,
                "tackles": 1.1971,
                "tackles_won": 0.7631,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3682,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.0536,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9854,
                "fouls_drawn": 0.4014,
                "blocks": 0.7985,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.001,
                "expected_assists": 0.0479,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633,
                "opponent_faced": "Bryan Mbeumo",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "interceptions": 0.962,
                "tackles": 1.1971,
                "tackles_won": 0.7631,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3682,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.0536,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9854,
                "fouls_drawn": 0.4014,
                "blocks": 0.7985,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0019,
                "expected_assists": 0.0908,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633,
                "opponent_faced": "Bryan Mbeumo",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9804,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_assists",
                  "before": 0.0479,
                  "after": 0.0908
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 10 by projected rating, fifa_overall 80.0)",
              "stats": {
                "interceptions": 0.962,
                "tackles": 1.1971,
                "tackles_won": 0.7631,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3682,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.0536,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9854,
                "fouls_drawn": 0.4014,
                "blocks": 0.7985,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0019,
                "expected_assists": 0.0908,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633,
                "opponent_faced": "Bryan Mbeumo",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9804,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 10,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1431,
                "fifa_rank": 695.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.962,
                "tackles": 1.1971,
                "tackles_won": 0.7631,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3682,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.0536,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9854,
                "fouls_drawn": 0.4014,
                "blocks": 0.7985,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0019,
                "expected_assists": 0.0908,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633,
                "opponent_faced": "Bryan Mbeumo",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0019,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9804,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0019,
                "goal_rate": 0.0,
                "scorer_weight": 0.0019,
                "squad_weight_total": 1.766,
                "weight_share": 0.0011,
                "finishing_factor": 0.9804,
                "appearance_weight": 1.0,
                "weight_rank": 12,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.962,
                "tackles": 1.1971,
                "tackles_won": 0.7631,
                "clearances": 5.5998,
                "aerial_won": 2.4953,
                "total_shots": 0.3682,
                "rating": 6.8009,
                "minutes": 88.72,
                "total_pass": 58.9643,
                "accurate_pass": 51.7805,
                "duels_won": 4.5655,
                "total_long_balls": 4.4499,
                "accurate_long_balls": 1.0355,
                "total_own_half_passes": 40.0771,
                "accurate_own_half_passes": 38.1503,
                "total_opp_half_passes": 18.8872,
                "accurate_opp_half_passes": 13.6302,
                "crosses_total": 0.0536,
                "crosses_accurate": 0.0,
                "touches": 71.1763,
                "possession_lost": 7.8821,
                "dispossessed": 0.0647,
                "duels_lost": 2.7868,
                "aerial_lost": 1.6197,
                "total_contest": 0.0761,
                "won_contest": 0.0761,
                "ball_recovery": 3.7885,
                "challenges_lost": 0.1053,
                "fouls": 0.9854,
                "fouls_drawn": 0.4014,
                "blocks": 0.7985,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0019,
                "expected_assists": 0.0908,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0846,
                "total_progression": 59.8037,
                "progressive_carries": 0.7784,
                "key_pass": 0.1053,
                "shots_off_target": 0.3633,
                "opponent_faced": "Bryan Mbeumo",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0019,
                "projected_assists": 0,
                "assist_probability": 0.0868,
                "finishing_factor": 0.9804,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0868,
                "assist_rate": 0.0,
                "provider_weight": 0.0726,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0534,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Wesley Fofana": {
          "player_id": 923894,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 3,
          "height": 186,
          "market_value": 33000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 6,
            "aerial_won": 2,
            "total_shots": 0,
            "rating": 6.7964,
            "minutes": 79,
            "total_pass": 50,
            "accurate_pass": 46,
            "duels_won": 5,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 29,
            "accurate_own_half_passes": 27,
            "total_opp_half_passes": 21,
            "accurate_opp_half_passes": 19,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 65,
            "possession_lost": 5.9514,
            "dispossessed": 0.2969,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0288,
            "expected_assists": 0.0239,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0051,
            "ball_carries": 18,
            "total_progression": 54,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 2.2,
            "tackles_won_in_zone": 1.8,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.585,
            "opponent_faced": "Bruno Fernandes",
            "pressing_zone": "Left Wing vs Right Back — Flank Battle",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0284,
            "projected_assists": 0,
            "assist_probability": 0.0236,
            "finishing_factor": 0.8,
            "creation_factor": 0.8,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 71,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0017,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 19,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 6,
                "clearances": 7,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 86,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0288,
                "total_shots": 0,
                "total_pass": 88,
                "accurate_pass": 80,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 6,
                "duels_won": 11,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 62,
                "rating": 5.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 22,
                "interceptions": 1,
                "clearances": 6,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 81,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0026,
                "total_shots": 0,
                "total_pass": 59,
                "accurate_pass": 55,
                "interceptions": 6,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024024,
              "match_date": "2026-05-09",
              "home_team": "Liverpool FC",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0049,
                "total_shots": 0,
                "total_pass": 58,
                "accurate_pass": 54,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024001,
              "match_date": "2026-04-21",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 45,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0061,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 22,
                "interceptions": 2,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 81,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1246,
                "expected_assists": 0.0098,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 78,
                "accurate_pass": 74,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023998,
              "match_date": "2026-04-12",
              "home_team": "Chelsea",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0047,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 40,
                "tackles": 3,
                "interceptions": 2,
                "clearances": 10,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 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": 11,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7964,
            "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.757,
          "history_matches": 29,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 29,
            "data_confidence": 0.757,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0103,
            "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 29 historical appearances across 7 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 7 target models",
              "stats": {
                "interceptions": 1.2158,
                "tackles": 1.3728,
                "tackles_won": 0.8217,
                "clearances": 5.4524,
                "aerial_won": 2.058,
                "total_shots": 0.4184,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.1168,
                "accurate_pass": 45.0992,
                "duels_won": 4.8658,
                "total_long_balls": 2.4654,
                "accurate_long_balls": 1.4012,
                "total_own_half_passes": 28.5726,
                "accurate_own_half_passes": 26.645,
                "total_opp_half_passes": 20.5442,
                "accurate_opp_half_passes": 18.4542,
                "crosses_total": 0.1301,
                "crosses_accurate": 0.0,
                "touches": 64.4739,
                "possession_lost": 5.8907,
                "dispossessed": 0.2939,
                "duels_lost": 2.8977,
                "aerial_lost": 1.0718,
                "total_contest": 0.3799,
                "won_contest": 0.2375,
                "ball_recovery": 3.2492,
                "challenges_lost": 0.1586,
                "fouls": 1.2309,
                "fouls_drawn": 1.1904,
                "blocks": 0.6363,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.015,
                "expected_assists": 0.0125,
                "shots_on_target": 0.0417,
                "big_chances_created": 0.0,
                "xgot": 0.0027,
                "ball_carries": 17.3612,
                "total_progression": 53.5166,
                "progressive_carries": 0.4375,
                "key_pass": 0.2699,
                "shots_off_target": 0.3767
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.1514,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 86.0,
                    "is_starting": true,
                    "weight": 0.1287,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1094,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.093,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.079,
                    "rating": 5.1
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 81.0,
                    "is_starting": true,
                    "weight": 0.0672,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0571,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-21",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0485,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Manchester United",
                    "minutes": 81.0,
                    "is_starting": true,
                    "weight": 0.0412,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-04-12",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0351,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 5.6894,
                  "aerialWon": 2.1946,
                  "totalClearance_p90": 6.9772,
                  "totalTackle": 1.1173,
                  "totalPass": 47.2964
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.2157983779907227,
                    "model_output": 1.2158,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1157
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0551
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0428
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0309
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0185
                        }
                      ],
                      "others": 0.0843,
                      "total": 1.2158,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.125102
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.054469
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.040352
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.028122
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.016458
                        }
                      ],
                      "others_margin": 0.071865
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.3727848529815674,
                    "model_output": 1.3728,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1791
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.071
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0706
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0647
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.027
                        }
                      ],
                      "others": -0.1007,
                      "total": 1.3728,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.121538
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.0444
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.044118
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.042237
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.018161
                        }
                      ],
                      "others_margin": -0.070766
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.8216891884803772,
                    "model_output": 0.8217,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1099
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0683
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0499
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0399
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0332
                        }
                      ],
                      "others": -0.0792,
                      "total": 0.8217,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.122158
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.069038
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.049997
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.041831
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.036243
                        }
                      ],
                      "others_margin": -0.091933
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 5.452445030212402,
                    "model_output": 5.4524,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": 0.687
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.5894
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.4109
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.177
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.1523
                        }
                      ],
                      "others": 0.3581,
                      "total": 5.4524,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": 0.182478
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.133748
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.083679
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.035185
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.030354
                        }
                      ],
                      "others_margin": 0.067928
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 2.0579993724823,
                    "model_output": 2.058,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.297
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1855
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.1421
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0801
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0495
                        }
                      ],
                      "others": 0.0252,
                      "total": 2.058,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.195209
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.105042
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.073633
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.039227
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.02404
                        }
                      ],
                      "others_margin": 0.012306
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.41836610436439514,
                    "model_output": 0.4184,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1139
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0496
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0165
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0149
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0132
                        }
                      ],
                      "others": -0.014,
                      "total": 0.4184,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.113905
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.049642
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.016489
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.014854
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.013171
                        }
                      ],
                      "others_margin": -0.014083
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.796400547027588,
                    "model_output": 6.7964,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.019
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0165
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0143
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0096
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": 0.0087
                        }
                      ],
                      "others": 0.0186,
                      "total": 6.7964,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.019005
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.016459
                        },
                        {
                          "name": "rating",
                          "margin": -0.014254
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.009606
                        },
                        {
                          "name": "tackle_success_rate",
                          "margin": 0.008666
                        }
                      ],
                      "others_margin": 0.018626
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 29,
                  "role_matches": 24,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0103, quality 0.739)",
              "stats": {
                "interceptions": 1.2283,
                "tackles": 1.3869,
                "tackles_won": 0.8302,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4227,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1314,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.2436,
                "fouls_drawn": 1.2027,
                "blocks": 0.6429,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0152,
                "expected_assists": 0.0126,
                "shots_on_target": 0.0421,
                "big_chances_created": 0.0,
                "xgot": 0.0027,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806
              },
              "params": {
                "market_value_eur": 33000000,
                "quality_factor": 0.7389,
                "boost_factor": 1.0103,
                "reference_quality": 0.505,
                "history_matches": 29,
                "history_shrink": 0.1471,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0045)",
              "stats": {
                "interceptions": 1.2284,
                "tackles": 1.3869,
                "tackles_won": 0.8265,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4208,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1308,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.238,
                "fouls_drawn": 1.1973,
                "blocks": 0.6429,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0152,
                "expected_assists": 0.0126,
                "shots_on_target": 0.0419,
                "big_chances_created": 0.0,
                "xgot": 0.0027,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806
              },
              "params": {
                "blend_weight": 0.0045,
                "history_matches": 29,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.877,
                "prior_reliability": 0.0467,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 1.2436,
                  "after": 1.238
                },
                {
                  "stat": "wasFouled",
                  "before": 1.2027,
                  "after": 1.1973
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.2284,
                "tackles": 1.3869,
                "tackles_won": 0.8265,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4225,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1308,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.238,
                "fouls_drawn": 1.1973,
                "blocks": 0.6429,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0152,
                "expected_assists": 0.0126,
                "shots_on_target": 0.0419,
                "big_chances_created": 0.0,
                "xgot": 0.0027,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1.2284,
                "tackles": 1.3869,
                "tackles_won": 0.8265,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4225,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1308,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.238,
                "fouls_drawn": 1.1973,
                "blocks": 0.6429,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0152,
                "expected_assists": 0.0126,
                "shots_on_target": 0.0419,
                "big_chances_created": 0.0,
                "xgot": 0.0027,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.585,
                "opponent_faced": "Bruno Fernandes",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Bruno Fernandes",
                  "matchup_zone": "Left Wing vs Right Back — Flank Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 1.2284,
                "tackles": 1.3869,
                "tackles_won": 0.8265,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4225,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1308,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.238,
                "fouls_drawn": 1.1973,
                "blocks": 0.6429,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0152,
                "expected_assists": 0.0126,
                "shots_on_target": 0.0419,
                "big_chances_created": 0.0,
                "xgot": 0.0027,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.585,
                "opponent_faced": "Bruno Fernandes",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "interceptions": 1.2284,
                "tackles": 1.3869,
                "tackles_won": 0.8265,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4225,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1308,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.238,
                "fouls_drawn": 1.1973,
                "blocks": 0.6429,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0288,
                "expected_assists": 0.0239,
                "shots_on_target": 0.0419,
                "big_chances_created": 0.0,
                "xgot": 0.0051,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.585,
                "opponent_faced": "Bruno Fernandes",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0152,
                  "after": 0.0288
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0126,
                  "after": 0.0239
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 11 by projected rating, fifa_overall 79.0)",
              "stats": {
                "interceptions": 1.2284,
                "tackles": 1.3869,
                "tackles_won": 0.8265,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4225,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1308,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.238,
                "fouls_drawn": 1.1973,
                "blocks": 0.6429,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0288,
                "expected_assists": 0.0239,
                "shots_on_target": 0.0419,
                "big_chances_created": 0.0,
                "xgot": 0.0051,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.585,
                "opponent_faced": "Bruno Fernandes",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 79.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1820,
                "fifa_rank": 873.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.2284,
                "tackles": 1.3869,
                "tackles_won": 0.8265,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4225,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1308,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.238,
                "fouls_drawn": 1.1973,
                "blocks": 0.6429,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0288,
                "expected_assists": 0.0239,
                "shots_on_target": 0.0419,
                "big_chances_created": 0.0,
                "xgot": 0.0051,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.585,
                "opponent_faced": "Bruno Fernandes",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0284,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0284,
                "goal_rate": 0.0,
                "scorer_weight": 0.023,
                "squad_weight_total": 1.766,
                "weight_share": 0.013,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 10,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 1.2284,
                "tackles": 1.3869,
                "tackles_won": 0.8265,
                "clearances": 5.5086,
                "aerial_won": 2.0792,
                "total_shots": 0.4225,
                "rating": 6.7964,
                "minutes": 78.93,
                "total_pass": 49.6227,
                "accurate_pass": 45.5637,
                "duels_won": 4.9159,
                "total_long_balls": 2.4908,
                "accurate_long_balls": 1.4156,
                "total_own_half_passes": 28.8669,
                "accurate_own_half_passes": 26.9194,
                "total_opp_half_passes": 20.7558,
                "accurate_opp_half_passes": 18.6443,
                "crosses_total": 0.1308,
                "crosses_accurate": 0.0,
                "touches": 65.138,
                "possession_lost": 5.9514,
                "dispossessed": 0.2969,
                "duels_lost": 2.9275,
                "aerial_lost": 1.0828,
                "total_contest": 0.3838,
                "won_contest": 0.2399,
                "ball_recovery": 3.2827,
                "challenges_lost": 0.1602,
                "fouls": 1.238,
                "fouls_drawn": 1.1973,
                "blocks": 0.6429,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0288,
                "expected_assists": 0.0239,
                "shots_on_target": 0.0419,
                "big_chances_created": 0.0,
                "xgot": 0.0051,
                "ball_carries": 17.54,
                "total_progression": 54.0678,
                "progressive_carries": 0.442,
                "key_pass": 0.2727,
                "shots_off_target": 0.3806,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.585,
                "opponent_faced": "Bruno Fernandes",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0284,
                "projected_assists": 0,
                "assist_probability": 0.0236,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0236,
                "assist_rate": 0.0,
                "provider_weight": 0.0191,
                "squad_weight_total": 1.3609,
                "weight_share": 0.014,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 11,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Pedro Neto": {
          "player_id": 879349,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 7,
          "height": 172,
          "market_value": 58000000,
          "stats": {
            "expected_goals": 0.3146,
            "goal_rate": 0.2006,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.2687,
            "key_pass": 2,
            "rating": 7.0622,
            "minutes": 84,
            "total_pass": 26,
            "accurate_pass": 22,
            "duels_won": 4,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 20,
            "accurate_opp_half_passes": 17,
            "crosses_total": 4,
            "crosses_accurate": 1,
            "touches": 44,
            "possession_lost": 10.8794,
            "dispossessed": 0.4652,
            "duels_lost": 6,
            "aerial_lost": 1,
            "total_contest": 3,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.2219,
            "assists": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.5602,
            "offsides": 0,
            "ball_carries": 15,
            "total_progression": 83,
            "progressive_carries": 3,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9313,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "HIGH",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Ayden Heaven, Leny Yoro",
            "opponent_faced": "Ayden Heaven, Leny Yoro",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.2699,
            "projected_assists": 1,
            "assist_probability": 0.2356,
            "finishing_factor": 1.1607,
            "creation_factor": 1.25,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 88,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1585,
                "expected_assists": 0.0545,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "total_pass": 12,
                "accurate_pass": 10,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 7,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 89,
                "rating": 9.7,
                "goal_rate": 2.0,
                "goals": 2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.371,
                "expected_assists": 0.2425,
                "total_shots": 3,
                "shots_on_target": 3,
                "total_pass": 32,
                "accurate_pass": 27,
                "key_pass": 5,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 83,
                "rating": 6.8,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1614,
                "expected_assists": 0.0644,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 27,
                "accurate_pass": 21,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 87,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1648,
                "expected_assists": 0.0454,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 19,
                "accurate_pass": 16,
                "tackles": 3,
                "tackles_won": 2,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 86,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0461,
                "expected_assists": 0.1034,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 50,
                "accurate_pass": 44,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 65,
                "rating": 7.1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.1108,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 20,
                "key_pass": 3,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 89,
                "rating": 6.9,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0891,
                "expected_assists": 0.02,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 17,
                "accurate_pass": 16,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "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": 2,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0622,
            "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.759,
          "history_matches": 42,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 42,
            "data_confidence": 0.759,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0109,
            "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 (F_service) evaluated 42 historical appearances across 7 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 F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1762,
                "goals": 0.2097,
                "goal_rate": 0.2097,
                "shots_on_target": 0.7567,
                "total_shots": 1.9063,
                "expected_assists": 0.1402,
                "key_pass": 1.49,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.6775,
                "accurate_pass": 21.9527,
                "duels_won": 4.0197,
                "total_long_balls": 1.1874,
                "accurate_long_balls": 0.4293,
                "total_opp_half_passes": 19.8811,
                "accurate_opp_half_passes": 17.1426,
                "crosses_total": 3.9184,
                "crosses_accurate": 0.7241,
                "touches": 43.628,
                "possession_lost": 10.7621,
                "dispossessed": 0.4602,
                "duels_lost": 5.5147,
                "aerial_lost": 1.0139,
                "total_contest": 2.7325,
                "won_contest": 1.2381,
                "ball_recovery": 3.5932,
                "challenges_lost": 1.1996,
                "fouls": 1.3466,
                "fouls_drawn": 0.7082,
                "assists": 0.2204,
                "assist_rate": 0.2204,
                "interceptions": 0.3599,
                "tackles_won": 0.8759,
                "tackles": 1.6881,
                "clearances": 0.7076,
                "blocks": 0.1504,
                "big_chances_created": 0.2883,
                "big_chances_missed": 0.1929,
                "xgot": 0.3138,
                "offsides": 0.216,
                "ball_carries": 14.6629,
                "total_progression": 82.3285,
                "progressive_carries": 3.168,
                "shots_off_target": 1.1496
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 9.7
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 87.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 86.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 81.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.0481,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.1547,
                  "accuratePass": 20.8022,
                  "totalOppositionHalfPasses": 19.0421,
                  "accurateOppositionHalfPasses": 16.3605,
                  "totalShots": 1.6907
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.176173135638237,
                    "model_output": 0.1762,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0657
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0438
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0149
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0124
                        },
                        {
                          "name": "goals",
                          "contribution": 0.012
                        }
                      ],
                      "others": -0.0263,
                      "total": 0.1762,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.289248
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.183238
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.070752
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.062911
                        },
                        {
                          "name": "goals",
                          "margin": 0.061084
                        }
                      ],
                      "others_margin": -0.13976
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.2097301334142685,
                    "model_output": 0.2097,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0759
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0364
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.026
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0192
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0114
                        }
                      ],
                      "others": -0.0349,
                      "total": 0.2097,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.321035
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.141289
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.114586
                        },
                        {
                          "name": "goals",
                          "margin": 0.085765
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.047716
                        }
                      ],
                      "others_margin": -0.153516
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.7566913962364197,
                    "model_output": 0.7567,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1707
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0774
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0576
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0368
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0354
                        }
                      ],
                      "others": 0.075,
                      "total": 0.7567,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.278232
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.116667
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.088161
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.055416
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.053289
                        }
                      ],
                      "others_margin": 0.104373
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.9062837362289429,
                    "model_output": 1.9063,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4614
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1517
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0736
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0652
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0479
                        }
                      ],
                      "others": 0.0039,
                      "total": 1.9063,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.461377
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.1517
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.073609
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.065238
                        },
                        {
                          "name": "goals",
                          "margin": 0.0479
                        }
                      ],
                      "others_margin": 0.004004
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.14019988477230072,
                    "model_output": 0.1402,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0121
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0137
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0089
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0063
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0064
                        }
                      ],
                      "others": 0.0285,
                      "total": 0.1402,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.172765
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.165201
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.094098
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.061674
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.059238
                        }
                      ],
                      "others_margin": 0.226411
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 1.490018606185913,
                    "model_output": 1.49,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2026
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0966
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.098
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0929
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0935
                        }
                      ],
                      "others": 0.2197,
                      "total": 1.49,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.258476
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.103106
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.09479
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.082232
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.076455
                        }
                      ],
                      "others_margin": 0.159535
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.062218189239502,
                    "model_output": 7.0622,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0646
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0452
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0357
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0295
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0283
                        }
                      ],
                      "others": 0.0881,
                      "total": 7.0622,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.064582
                        },
                        {
                          "name": "rating",
                          "margin": 0.045206
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.035701
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.029486
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.028335
                        }
                      ],
                      "others_margin": 0.088062
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 42,
                  "role_matches": 37,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0109, quality 0.848)",
              "stats": {
                "expected_goals": 0.1781,
                "goals": 0.212,
                "goal_rate": 0.212,
                "shots_on_target": 0.7649,
                "total_shots": 1.9271,
                "expected_assists": 0.1417,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9611,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3613,
                "fouls_drawn": 0.7159,
                "assists": 0.2228,
                "assist_rate": 0.2228,
                "interceptions": 0.3638,
                "tackles_won": 0.8854,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.195,
                "xgot": 0.3172,
                "offsides": 0.2184,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.1621
              },
              "params": {
                "market_value_eur": 58000000,
                "quality_factor": 0.8478,
                "boost_factor": 1.0109,
                "reference_quality": 0.505,
                "history_matches": 42,
                "history_shrink": 0.1064,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0041)",
              "stats": {
                "expected_goals": 0.1781,
                "goals": 0.2154,
                "goal_rate": 0.2154,
                "shots_on_target": 0.7702,
                "total_shots": 1.9318,
                "expected_assists": 0.1417,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9575,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3599,
                "fouls_drawn": 0.7172,
                "assists": 0.2219,
                "assist_rate": 0.2219,
                "interceptions": 0.3666,
                "tackles_won": 0.886,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.195,
                "xgot": 0.3172,
                "offsides": 0.2175,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.1621
              },
              "params": {
                "blend_weight": 0.0041,
                "history_matches": 42,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9307,
                "prior_reliability": 0.06,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7649,
                  "after": 0.7702
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1781,
                "goals": 0.2154,
                "goal_rate": 0.2154,
                "shots_on_target": 0.7702,
                "total_shots": 1.9323,
                "expected_assists": 0.1417,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9575,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3599,
                "fouls_drawn": 0.7172,
                "assists": 0.2219,
                "assist_rate": 0.2219,
                "interceptions": 0.3666,
                "tackles_won": 0.886,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.195,
                "xgot": 0.3172,
                "offsides": 0.2175,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.1621
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1659,
                "goals": 0.2006,
                "goal_rate": 0.2006,
                "shots_on_target": 0.7173,
                "total_shots": 1.7996,
                "expected_assists": 0.1417,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9575,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3599,
                "fouls_drawn": 0.7172,
                "assists": 0.2219,
                "assist_rate": 0.2219,
                "interceptions": 0.3666,
                "tackles_won": 0.886,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.1816,
                "xgot": 0.2954,
                "offsides": 0.2175,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.0823,
                "duel_xg_multiplier": 0.9313,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Ayden Heaven, Leny Yoro",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "HIGH",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.9313,
                  "skill_edge": 0.0133,
                  "height_edge": -0.06,
                  "attacker_skill": 0.8478,
                  "defender_skill": 0.8184,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Ayden Heaven",
                      "market_value": 32000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.7941
                    },
                    {
                      "player": "Leny Yoro",
                      "market_value": 42000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.8427
                    }
                  ],
                  "xg_override": 0.1659
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.9323,
                  "after": 1.7996
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.1621,
                  "after": 1.0823
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7702,
                  "after": 0.7173
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.3172,
                  "after": 0.2954
                },
                {
                  "stat": "goals",
                  "before": 0.2154,
                  "after": 0.2006
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.195,
                  "after": 0.1816
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1781,
                  "after": 0.1659
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1659,
                "goal_rate": 0.2006,
                "goals": 0,
                "shots_on_target": 0.7173,
                "total_shots": 1.7996,
                "expected_assists": 0.1417,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9575,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3599,
                "fouls_drawn": 0.7172,
                "assist_rate": 0.2219,
                "assists": 0,
                "interceptions": 0.3666,
                "tackles_won": 0.886,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.1816,
                "xgot": 0.2954,
                "offsides": 0.2175,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.0823,
                "duel_xg_multiplier": 0.9313,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "expected_goals": 0.3146,
                "goal_rate": 0.2006,
                "goals": 0,
                "shots_on_target": 0.7173,
                "total_shots": 1.7996,
                "expected_assists": 0.2687,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9575,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3599,
                "fouls_drawn": 0.7172,
                "assist_rate": 0.2219,
                "assists": 0,
                "interceptions": 0.3666,
                "tackles_won": 0.886,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.1816,
                "xgot": 0.5602,
                "offsides": 0.2175,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.0823,
                "duel_xg_multiplier": 0.9313,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1607,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1659,
                  "after": 0.3146
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1417,
                  "after": 0.2687
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 2 by projected rating, fifa_overall 81.0)",
              "stats": {
                "expected_goals": 0.3146,
                "goal_rate": 0.2006,
                "goals": 0,
                "shots_on_target": 0.7173,
                "total_shots": 1.7996,
                "expected_assists": 0.2687,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9575,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3599,
                "fouls_drawn": 0.7172,
                "assist_rate": 0.2219,
                "assists": 0,
                "interceptions": 0.3666,
                "tackles_won": 0.886,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.1816,
                "xgot": 0.5602,
                "offsides": 0.2175,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.0823,
                "duel_xg_multiplier": 0.9313,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1607,
                "creation_factor": 1.25,
                "fifa_overall": 81.0
              },
              "params": {
                "match_squad_rank": 2,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 492,
                "fifa_rank": 508.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.3146,
                "goal_rate": 0.2006,
                "goals": 1,
                "shots_on_target": 0.7173,
                "total_shots": 1.7996,
                "expected_assists": 0.2687,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9575,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3599,
                "fouls_drawn": 0.7172,
                "assist_rate": 0.2219,
                "assists": 0,
                "interceptions": 0.3666,
                "tackles_won": 0.886,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.1816,
                "xgot": 0.5602,
                "offsides": 0.2175,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.0823,
                "duel_xg_multiplier": 0.9313,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2699,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1607,
                "creation_factor": 1.25,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 1,
                "goal_probability": 0.2699,
                "goal_rate": 0.2006,
                "scorer_weight": 0.3652,
                "squad_weight_total": 1.766,
                "weight_share": 0.2068,
                "finishing_factor": 1.1607,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.3146,
                "goal_rate": 0.2006,
                "goals": 1,
                "shots_on_target": 0.7173,
                "total_shots": 1.7996,
                "expected_assists": 0.2687,
                "key_pass": 1.5063,
                "rating": 7.0622,
                "minutes": 83.76,
                "total_pass": 25.9574,
                "accurate_pass": 22.192,
                "duels_won": 4.0635,
                "total_long_balls": 1.2003,
                "accurate_long_balls": 0.434,
                "total_opp_half_passes": 20.0978,
                "accurate_opp_half_passes": 17.3295,
                "crosses_total": 3.9575,
                "crosses_accurate": 0.732,
                "touches": 44.1035,
                "possession_lost": 10.8794,
                "dispossessed": 0.4652,
                "duels_lost": 5.5748,
                "aerial_lost": 1.025,
                "total_contest": 2.7623,
                "won_contest": 1.2516,
                "ball_recovery": 3.6324,
                "challenges_lost": 1.2127,
                "fouls": 1.3599,
                "fouls_drawn": 0.7172,
                "assist_rate": 0.2219,
                "assists": 1,
                "interceptions": 0.3666,
                "tackles_won": 0.886,
                "tackles": 1.7065,
                "clearances": 0.7153,
                "blocks": 0.152,
                "big_chances_created": 0.2914,
                "big_chances_missed": 0.1816,
                "xgot": 0.5602,
                "offsides": 0.2175,
                "ball_carries": 14.8227,
                "total_progression": 83.2259,
                "progressive_carries": 3.2025,
                "shots_off_target": 1.0823,
                "duel_xg_multiplier": 0.9313,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Ayden Heaven, Leny Yoro",
                "opponent_faced": "Ayden Heaven, Leny Yoro",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2699,
                "projected_assists": 1,
                "assist_probability": 0.2356,
                "finishing_factor": 1.1607,
                "creation_factor": 1.25,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 1,
                "assist_probability": 0.2356,
                "assist_rate": 0.2219,
                "provider_weight": 0.3359,
                "squad_weight_total": 1.3609,
                "weight_share": 0.2468,
                "creation_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "bench_players": {
        "Robert Sánchez": {
          "player_id": 920546,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 1,
          "height": 197,
          "market_value": 19900000,
          "stats": {
            "saves": 0,
            "goals_prevented": -0.0128,
            "rating": 6.8997,
            "minutes": 5,
            "total_pass": 6,
            "accurate_pass": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "touches": 8,
            "clearances": 0,
            "ball_recovery": 2,
            "high_claims": 0,
            "punches": 0.1114,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 2.4275,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 3,
            "bench_appearance_probability": 0.147,
            "bench_expected_minutes": 5.16,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363244,
              "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": 5.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0064,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 13,
                "clearances": 1,
                "ball_recovery": 5,
                "saves": 4,
                "goals_prevented": -0.8287
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 24,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 14,
                "saves": 5,
                "goals_prevented": -0.727
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 19,
                "ball_recovery": 9,
                "saves": 2,
                "goals_prevented": 0.1334
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023925,
              "match_date": "2026-05-04",
              "home_team": "Chelsea",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 66,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0008,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 16,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 2,
                "saves": 1,
                "goals_prevented": -0.3553
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024001,
              "match_date": "2026-04-21",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 18,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 10,
                "saves": 4,
                "goals_prevented": 0.2164
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 26,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 6,
                "saves": 1,
                "goals_prevented": -0.2069
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023998,
              "match_date": "2026-04-12",
              "home_team": "Chelsea",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 7.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 20,
                "ball_recovery": 11,
                "saves": 5,
                "goals_prevented": 0.4995
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024017,
              "match_date": "2026-03-21",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 23,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 9,
                "saves": 5,
                "goals_prevented": -0.9719
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023990,
              "match_date": "2026-03-14",
              "home_team": "Chelsea",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0025,
                "total_shots": 0,
                "total_pass": 31,
                "accurate_pass": 22,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 7,
                "saves": 4,
                "goals_prevented": 0.4816
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023971,
              "match_date": "2026-03-01",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0038,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 34,
                "tackles": 2,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 10,
                "saves": 3,
                "goals_prevented": 0.0828
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1079,
            "combined_rank_score": 487.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 305.0,
            "sofascore_rating": 7.0375,
            "sofascore_appearances": 8.0,
            "fifa_rank": 669.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8997,
            "source_file": "data/player_rankings.csv",
            "player_name": "Robert Sánchez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Gonçalo Inácio",
                  "ranking": 1074
                },
                {
                  "player_name": "Dominic Solanke",
                  "ranking": 1075
                },
                {
                  "player_name": "Kim Se-hoon",
                  "ranking": 1076
                },
                {
                  "player_name": "Dodi Lukebakio",
                  "ranking": 1077
                },
                {
                  "player_name": "Davinson Sánchez",
                  "ranking": 1078
                }
              ],
              "lower": [
                {
                  "player_name": "Romelu Lukaku",
                  "ranking": 1080
                },
                {
                  "player_name": "Rafael Delgado",
                  "ranking": 1081
                },
                {
                  "player_name": "Kim Han-Seo",
                  "ranking": 1082
                },
                {
                  "player_name": "Pablo Martínez",
                  "ranking": 1083
                },
                {
                  "player_name": "Ethan Espinoza",
                  "ranking": 1084
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.76,
          "history_matches": 36,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "goalsPrevented",
              "rating",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 36,
            "data_confidence": 0.76,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 5.155094560565231,
            "bench_appearance_prob": 0.147,
            "market_value_adjustment": 1.0046,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0667
            },
            "rationale": "Bench projection scaled from XGBoost G_service (36 historical appearances) to 5.2 expected mins (appearance prob 0.15); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 2.6778,
                "goals_prevented": -0.0703,
                "rating": 6.8997,
                "minutes": 28.5,
                "total_pass": 35.0084,
                "accurate_pass": 21.8282,
                "total_long_balls": 18.2566,
                "accurate_long_balls": 5.4507,
                "touches": 46.2305,
                "clearances": 0.6669,
                "ball_recovery": 8.3685,
                "high_claims": 1.5902,
                "punches": 0.6129,
                "aerial_won": 0.3914,
                "sweeper_actions": 0.7834,
                "sweeper_accurate": 0.7815,
                "saves_inside_box": 2.4099,
                "possession_lost": 13.3592,
                "duels_won": 0.8107,
                "duels_lost": 0.0497,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.009,
                "fouls_drawn": 0.4598,
                "total_own_half_passes": 19.4393,
                "accurate_own_half_passes": 17.7221
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-10-30T10:03:31.159511+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 201,
                    "rows": 7335
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1504,
                    "rating": 5.8
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1279,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1087,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Nottingham Forest",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.0924,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-04-21",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0785,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Manchester United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-04-12",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-03-21",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-03-14",
                    "opponent": "Newcastle United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-03-01",
                    "opponent": "Arsenal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.6
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "sweeper_actions_p90": 0.4592,
                  "accurateOwnHalfPasses": 17.7221,
                  "totalLongBalls": 18.2566,
                  "commanding_index": 1.7574,
                  "accurateKeeperSweeper": 0.7759,
                  "distribution_accuracy": 0.9172
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.677777051925659,
                    "model_output": 2.6778,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0453
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0393
                      },
                      {
                        "name": "save_contribution",
                        "importance": 0.038
                      },
                      {
                        "name": "saves",
                        "importance": 0.0361
                      },
                      {
                        "name": "commanding_index",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 2.9243,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2507
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0226
                        },
                        {
                          "name": "saves",
                          "contribution": 0.0222
                        },
                        {
                          "name": "commanding_index",
                          "contribution": -0.02
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0191
                        }
                      ],
                      "others": -0.0015,
                      "total": 2.6778,
                      "log_link": true,
                      "margin_base": 1.07304,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.089642
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.008414
                        },
                        {
                          "name": "saves",
                          "margin": 0.008203
                        },
                        {
                          "name": "commanding_index",
                          "margin": -0.007392
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.007099
                        }
                      ],
                      "others_margin": -0.000537
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.07027606666088104,
                    "model_output": -0.0703,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0462
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0392
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0391
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0381
                      },
                      {
                        "name": "punches",
                        "importance": 0.0369
                      }
                    ],
                    "decomposition": {
                      "base": -0.0231,
                      "items": [
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0324
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "contribution": -0.0175
                        },
                        {
                          "name": "sweeper_accuracy",
                          "contribution": -0.0169
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0094
                        },
                        {
                          "name": "commanding_index",
                          "contribution": -0.0093
                        }
                      ],
                      "others": 0.0383,
                      "total": -0.0703,
                      "log_link": false,
                      "margin_base": -0.023055,
                      "item_margins": [
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.03241
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "margin": -0.01749
                        },
                        {
                          "name": "sweeper_accuracy",
                          "margin": -0.016929
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.009386
                        },
                        {
                          "name": "commanding_index",
                          "margin": -0.009325
                        }
                      ],
                      "others_margin": 0.038318
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.899717807769775,
                    "model_output": 6.8997,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.039
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0364
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.036
                      },
                      {
                        "name": "totalKeeperSweeper",
                        "importance": 0.0357
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0356
                      }
                    ],
                    "decomposition": {
                      "base": 6.9903,
                      "items": [
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0311
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0239
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0219
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0174
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0171
                        }
                      ],
                      "others": 0.0208,
                      "total": 6.8997,
                      "log_link": false,
                      "margin_base": 6.99032,
                      "item_margins": [
                        {
                          "name": "minutesPlayed",
                          "margin": -0.0311
                        },
                        {
                          "name": "long_ball_accuracy",
                          "margin": -0.023882
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.021852
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.017382
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.017062
                        }
                      ],
                      "others_margin": 0.020674
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 36,
                  "role_matches": 0,
                  "minutes_source": "position_median",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0046, quality 0.630)",
              "stats": {
                "saves": 2.6901,
                "goals_prevented": -0.0706,
                "rating": 6.8997,
                "minutes": 28.5,
                "total_pass": 35.1694,
                "accurate_pass": 21.9286,
                "total_long_balls": 18.3406,
                "accurate_long_balls": 5.4758,
                "touches": 46.4432,
                "clearances": 0.67,
                "ball_recovery": 8.407,
                "high_claims": 1.5975,
                "punches": 0.6157,
                "aerial_won": 0.3932,
                "sweeper_actions": 0.787,
                "sweeper_accurate": 0.7851,
                "saves_inside_box": 2.421,
                "possession_lost": 13.4207,
                "duels_won": 0.8144,
                "duels_lost": 0.0499,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.009,
                "fouls_drawn": 0.4619,
                "total_own_half_passes": 19.5287,
                "accurate_own_half_passes": 17.8036
              },
              "params": {
                "market_value_eur": 19900000,
                "quality_factor": 0.6301,
                "boost_factor": 1.0046,
                "reference_quality": 0.505,
                "history_matches": 36,
                "history_shrink": 0.122,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0053)",
              "stats": {
                "saves": 2.6826,
                "goals_prevented": -0.0706,
                "rating": 6.8997,
                "minutes": 28.5,
                "total_pass": 35.1694,
                "accurate_pass": 21.9286,
                "total_long_balls": 18.3406,
                "accurate_long_balls": 5.4758,
                "touches": 46.4432,
                "clearances": 0.67,
                "ball_recovery": 8.407,
                "high_claims": 1.5975,
                "punches": 0.6157,
                "aerial_won": 0.3932,
                "sweeper_actions": 0.787,
                "sweeper_accurate": 0.7851,
                "saves_inside_box": 2.421,
                "possession_lost": 13.4207,
                "duels_won": 0.8144,
                "duels_lost": 0.0499,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.009,
                "fouls_drawn": 0.4595,
                "total_own_half_passes": 19.5287,
                "accurate_own_half_passes": 17.8036
              },
              "params": {
                "blend_weight": 0.0053,
                "history_matches": 36,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.3167,
                "prior_reliability": 0.0667,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "saves",
                  "before": 2.6901,
                  "after": 2.6826
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 28.5 to 5.2 expected minutes (appearance prob 0.15)",
              "stats": {
                "saves": 0.4852,
                "goals_prevented": -0.0128,
                "rating": 6.8997,
                "minutes": 5.16,
                "total_pass": 6.3615,
                "accurate_pass": 3.9665,
                "total_long_balls": 3.3175,
                "accurate_long_balls": 0.9905,
                "touches": 8.4007,
                "clearances": 0.1212,
                "ball_recovery": 1.5207,
                "high_claims": 0.289,
                "punches": 0.1114,
                "aerial_won": 0.0711,
                "sweeper_actions": 0.1424,
                "sweeper_accurate": 0.142,
                "saves_inside_box": 0.4379,
                "possession_lost": 2.4275,
                "duels_won": 0.1473,
                "duels_lost": 0.009,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0016,
                "fouls_drawn": 0.0831,
                "total_own_half_passes": 3.5324,
                "accurate_own_half_passes": 3.2203,
                "bench_appearance_probability": 0.147,
                "bench_expected_minutes": 5.16
              },
              "params": {
                "expected_minutes": 5.16,
                "projection_minutes": 28.5,
                "minutes_scale": 0.1809,
                "appearance_probability": 0.147
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0.4852,
                "goals_prevented": -0.0128,
                "rating": 6.8997,
                "minutes": 5.16,
                "total_pass": 6.3615,
                "accurate_pass": 3.9665,
                "total_long_balls": 3.3175,
                "accurate_long_balls": 0.9905,
                "touches": 8.4007,
                "clearances": 0.1212,
                "ball_recovery": 1.5207,
                "high_claims": 0.289,
                "punches": 0.1114,
                "aerial_won": 0.0711,
                "sweeper_actions": 0.1424,
                "sweeper_accurate": 0.142,
                "saves_inside_box": 0.4379,
                "possession_lost": 2.4275,
                "duels_won": 0.1473,
                "duels_lost": 0.009,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0016,
                "fouls_drawn": 0.0831,
                "total_own_half_passes": 3.5324,
                "accurate_own_half_passes": 3.2203,
                "bench_appearance_probability": 0.147,
                "bench_expected_minutes": 5.16
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "saves": 0.4852,
                "goals_prevented": -0.0128,
                "rating": 6.8997,
                "minutes": 5.16,
                "total_pass": 6.3615,
                "accurate_pass": 3.9665,
                "total_long_balls": 3.3175,
                "accurate_long_balls": 0.9905,
                "touches": 8.4007,
                "clearances": 0.1212,
                "ball_recovery": 1.5207,
                "high_claims": 0.289,
                "punches": 0.1114,
                "aerial_won": 0.0711,
                "sweeper_actions": 0.1424,
                "sweeper_accurate": 0.142,
                "saves_inside_box": 0.4379,
                "possession_lost": 2.4275,
                "duels_won": 0.1473,
                "duels_lost": 0.009,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0016,
                "fouls_drawn": 0.0831,
                "total_own_half_passes": 3.5324,
                "accurate_own_half_passes": 3.2203,
                "bench_appearance_probability": 0.147,
                "bench_expected_minutes": 5.16,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "appearance_probability": 0.147,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 8 by projected rating, fifa_overall 80.0)",
              "stats": {
                "saves": 0.4852,
                "goals_prevented": -0.0128,
                "rating": 6.8997,
                "minutes": 5.16,
                "total_pass": 6.3615,
                "accurate_pass": 3.9665,
                "total_long_balls": 3.3175,
                "accurate_long_balls": 0.9905,
                "touches": 8.4007,
                "clearances": 0.1212,
                "ball_recovery": 1.5207,
                "high_claims": 0.289,
                "punches": 0.1114,
                "aerial_won": 0.0711,
                "sweeper_actions": 0.1424,
                "sweeper_accurate": 0.142,
                "saves_inside_box": 0.4379,
                "possession_lost": 2.4275,
                "duels_won": 0.1473,
                "duels_lost": 0.009,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0016,
                "fouls_drawn": 0.0831,
                "total_own_half_passes": 3.5324,
                "accurate_own_half_passes": 3.2203,
                "bench_appearance_probability": 0.147,
                "bench_expected_minutes": 5.16,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 8,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1079,
                "fifa_rank": 669.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Maxence Lacroix": {
          "player_id": 879674,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 5,
          "height": 192,
          "market_value": 64000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 0,
            "clearances": 2,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.7596,
            "minutes": 15,
            "total_pass": 41,
            "accurate_pass": 37,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 27,
            "accurate_own_half_passes": 26,
            "total_opp_half_passes": 14,
            "accurate_opp_half_passes": 11,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 54,
            "possession_lost": 5.0124,
            "dispossessed": 0.1133,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 1,
            "goal_rate": 0.0113,
            "goals": 0,
            "assist_rate": 0.0488,
            "assists": 0,
            "expected_goals": 0.0633,
            "expected_assists": 0.0171,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0217,
            "ball_carries": 15,
            "total_progression": 50,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.251,
            "bench_expected_minutes": 15.25,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0013,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 29,
                "accurate_pass": 25,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 0,
                "duels_won": 4,
                "ball_recovery": 6,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2517,
                "expected_assists": 0.0031,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 44,
                "accurate_pass": 41,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0031,
                "total_shots": 0,
                "total_pass": 50,
                "accurate_pass": 45,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1323,
                "expected_assists": 0.0108,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 63,
                "accurate_pass": 56,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 8,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 11,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 5,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 1.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023953,
              "match_date": "2026-05-17",
              "home_team": "Brentford",
              "away_team": "Crystal Palace",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Crystal Palace",
              "opponent": "Brentford",
              "stats": {
                "minutes": 61,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0079,
                "expected_assists": 0.0403,
                "total_shots": 1,
                "total_pass": 22,
                "accurate_pass": 18,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15999228,
              "match_date": "2026-05-13",
              "home_team": "Manchester City",
              "away_team": "Crystal Palace",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Crystal Palace",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0017,
                "total_shots": 0,
                "total_pass": 40,
                "accurate_pass": 38,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 10,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "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": 12,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7596,
            "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.77,
          "history_matches": 43,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 43,
            "data_confidence": 0.77,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 15.248903737724813,
            "bench_appearance_prob": 0.251,
            "market_value_adjustment": 1.0111,
            "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.5,
              "prior_reliability": 0.1333
            },
            "rationale": "Bench projection scaled from XGBoost D_service (43 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 7 target models",
              "stats": {
                "interceptions": 0.5132,
                "tackles": 0.6653,
                "tackles_won": 0.3182,
                "clearances": 1.8113,
                "aerial_won": 0.7439,
                "total_shots": 0.2251,
                "rating": 6.7596,
                "minutes": 15.67,
                "total_pass": 41.5496,
                "accurate_pass": 37.2829,
                "duels_won": 4.1901,
                "total_long_balls": 3.1415,
                "accurate_long_balls": 1.6686,
                "total_own_half_passes": 27.4419,
                "accurate_own_half_passes": 26.0717,
                "total_opp_half_passes": 14.1077,
                "accurate_opp_half_passes": 11.2112,
                "crosses_total": 0.0105,
                "crosses_accurate": 0.0023,
                "touches": 54.9958,
                "possession_lost": 5.0943,
                "dispossessed": 0.1121,
                "duels_lost": 3.0108,
                "aerial_lost": 1.546,
                "total_contest": 0.213,
                "won_contest": 0.2065,
                "ball_recovery": 2.7157,
                "challenges_lost": 0.467,
                "fouls": 0.8841,
                "fouls_drawn": 0.4194,
                "blocks": 0.5417,
                "goals": 0.0116,
                "goal_rate": 0.0116,
                "assists": 0.0493,
                "assist_rate": 0.0493,
                "expected_goals": 0.0643,
                "expected_assists": 0.0174,
                "shots_on_target": 0.2251,
                "big_chances_created": 0.0531,
                "xgot": 0.0221,
                "ball_carries": 15.4765,
                "total_progression": 50.6834,
                "progressive_carries": 0.5463,
                "key_pass": 0.1031,
                "shots_off_target": 0.0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.0784,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Brentford",
                    "minutes": 61.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.2
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 6.0511,
                  "aerialWon": 2.0477,
                  "totalClearance_p90": 6.1696,
                  "totalTackle": 1.5296,
                  "totalPass": 41.5496
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.5131596922874451,
                    "model_output": 0.5132,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4762
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0479
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0316
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.019
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0128
                        }
                      ],
                      "others": 0.0352,
                      "total": 0.5132,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.794648
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.115084
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.069404
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.039444
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.026377
                        }
                      ],
                      "others_margin": 0.070892
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.6652716994285583,
                    "model_output": 0.6653,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7332
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0296
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.024
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0193
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0191
                        }
                      ],
                      "others": -0.0406,
                      "total": 0.6653,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.753109
                        },
                        {
                          "name": "wonTackle",
                          "margin": 0.044346
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.034567
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.027642
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.027451
                        }
                      ],
                      "others_margin": -0.059358
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.3181609809398651,
                    "model_output": 0.3182,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4658
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0216
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.017
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0142
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0126
                        }
                      ],
                      "others": -0.0247,
                      "total": 0.3182,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.800195
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.058615
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.048497
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.040832
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.036034
                        }
                      ],
                      "others_margin": -0.075104
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.8112618923187256,
                    "model_output": 1.8113,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.1934
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.2959
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0821
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0819
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0591
                        }
                      ],
                      "others": 0.054,
                      "total": 1.8113,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -1.01931
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.214275
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.052138
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.049455
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.0342
                        }
                      ],
                      "others_margin": 0.030203
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7439296841621399,
                    "model_output": 0.7439,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.8073
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.1215
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0501
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0331
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.033
                        }
                      ],
                      "others": -0.0641,
                      "total": 0.7439,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.881991
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.193151
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.069878
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.04368
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.041743
                        }
                      ],
                      "others_margin": -0.082626
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.2251,
                    "model_output": 0.1759,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2483
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0138
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0119
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0086
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0069
                        }
                      ],
                      "others": -0.0541,
                      "total": 0.1759,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.248269
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.01378
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.011851
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.008628
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.006914
                        }
                      ],
                      "others_margin": -0.054144
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.759609222412109,
                    "model_output": 6.7596,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0262
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0141
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0088
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0086
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0081
                        }
                      ],
                      "others": 0.0137,
                      "total": 6.7596,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.026207
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.014147
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.00878
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.00862
                        },
                        {
                          "name": "touches",
                          "margin": 0.008139
                        }
                      ],
                      "others_margin": 0.013709
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 43,
                  "role_matches": 1,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0111, quality 0.861)",
              "stats": {
                "interceptions": 0.5189,
                "tackles": 0.6727,
                "tackles_won": 0.3217,
                "clearances": 1.8314,
                "aerial_won": 0.7522,
                "total_shots": 0.2276,
                "rating": 6.7596,
                "minutes": 15.67,
                "total_pass": 42.0108,
                "accurate_pass": 37.6967,
                "duels_won": 4.2366,
                "total_long_balls": 3.1764,
                "accurate_long_balls": 1.6871,
                "total_own_half_passes": 27.7465,
                "accurate_own_half_passes": 26.3611,
                "total_opp_half_passes": 14.2643,
                "accurate_opp_half_passes": 11.3356,
                "crosses_total": 0.0106,
                "crosses_accurate": 0.0023,
                "touches": 55.6063,
                "possession_lost": 5.1508,
                "dispossessed": 0.1133,
                "duels_lost": 3.0442,
                "aerial_lost": 1.5632,
                "total_contest": 0.2154,
                "won_contest": 0.2088,
                "ball_recovery": 2.7458,
                "challenges_lost": 0.4722,
                "fouls": 0.8939,
                "fouls_drawn": 0.4241,
                "blocks": 0.5477,
                "goals": 0.0117,
                "goal_rate": 0.0117,
                "assists": 0.0498,
                "assist_rate": 0.0498,
                "expected_goals": 0.065,
                "expected_assists": 0.0176,
                "shots_on_target": 0.2276,
                "big_chances_created": 0.0537,
                "xgot": 0.0223,
                "ball_carries": 15.6483,
                "total_progression": 51.246,
                "progressive_carries": 0.5524,
                "key_pass": 0.1042,
                "shots_off_target": 0.0
              },
              "params": {
                "market_value_eur": 64000000,
                "quality_factor": 0.8608,
                "boost_factor": 1.0111,
                "reference_quality": 0.505,
                "history_matches": 43,
                "history_shrink": 0.1042,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0090)",
              "stats": {
                "interceptions": 0.5158,
                "tackles": 0.6727,
                "tackles_won": 0.3219,
                "clearances": 1.8314,
                "aerial_won": 0.7522,
                "total_shots": 0.2263,
                "rating": 6.7596,
                "minutes": 15.67,
                "total_pass": 42.0108,
                "accurate_pass": 37.6967,
                "duels_won": 4.2366,
                "total_long_balls": 3.1764,
                "accurate_long_balls": 1.6871,
                "total_own_half_passes": 27.7465,
                "accurate_own_half_passes": 26.3611,
                "total_opp_half_passes": 14.2643,
                "accurate_opp_half_passes": 11.3356,
                "crosses_total": 0.0105,
                "crosses_accurate": 0.0023,
                "touches": 55.6063,
                "possession_lost": 5.1508,
                "dispossessed": 0.1133,
                "duels_lost": 3.0442,
                "aerial_lost": 1.5632,
                "total_contest": 0.2154,
                "won_contest": 0.2088,
                "ball_recovery": 2.7458,
                "challenges_lost": 0.4722,
                "fouls": 0.8866,
                "fouls_drawn": 0.4211,
                "blocks": 0.5477,
                "goals": 0.0116,
                "goal_rate": 0.0116,
                "assists": 0.0501,
                "assist_rate": 0.0501,
                "expected_goals": 0.065,
                "expected_assists": 0.0176,
                "shots_on_target": 0.2255,
                "big_chances_created": 0.0537,
                "xgot": 0.0223,
                "ball_carries": 15.6483,
                "total_progression": 51.246,
                "progressive_carries": 0.5524,
                "key_pass": 0.1042,
                "shots_off_target": 0.0
              },
              "params": {
                "blend_weight": 0.009,
                "history_matches": 43,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.1741,
                "prior_reliability": 0.1333,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 0.8939,
                  "after": 0.8866
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 15.7 to 15.2 expected minutes (appearance prob 0.25)",
              "stats": {
                "interceptions": 0.5019,
                "tackles": 0.6546,
                "tackles_won": 0.3132,
                "clearances": 1.7822,
                "aerial_won": 0.732,
                "total_shots": 0.2202,
                "rating": 6.7596,
                "minutes": 15.25,
                "total_pass": 40.8819,
                "accurate_pass": 36.6837,
                "duels_won": 4.1228,
                "total_long_balls": 3.091,
                "accurate_long_balls": 1.6418,
                "total_own_half_passes": 27.0009,
                "accurate_own_half_passes": 25.6527,
                "total_opp_half_passes": 13.881,
                "accurate_opp_half_passes": 11.031,
                "crosses_total": 0.0102,
                "crosses_accurate": 0.0022,
                "touches": 54.112,
                "possession_lost": 5.0124,
                "dispossessed": 0.1133,
                "duels_lost": 2.9624,
                "aerial_lost": 1.5632,
                "total_contest": 0.2096,
                "won_contest": 0.2032,
                "ball_recovery": 2.672,
                "challenges_lost": 0.4722,
                "fouls": 0.8628,
                "fouls_drawn": 0.4098,
                "blocks": 0.533,
                "goals": 0.0113,
                "goal_rate": 0.0113,
                "assists": 0.0488,
                "assist_rate": 0.0488,
                "expected_goals": 0.0633,
                "expected_assists": 0.0171,
                "shots_on_target": 0.2194,
                "big_chances_created": 0.0523,
                "xgot": 0.0217,
                "ball_carries": 15.2278,
                "total_progression": 49.8689,
                "progressive_carries": 0.5376,
                "key_pass": 0.1014,
                "shots_off_target": 0.0,
                "bench_appearance_probability": 0.251,
                "bench_expected_minutes": 15.25
              },
              "params": {
                "expected_minutes": 15.25,
                "projection_minutes": 15.67,
                "minutes_scale": 0.9731,
                "appearance_probability": 0.251
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.5019,
                "tackles": 0.6546,
                "tackles_won": 0.3132,
                "clearances": 1.7822,
                "aerial_won": 0.732,
                "total_shots": 0.2202,
                "rating": 6.7596,
                "minutes": 15.25,
                "total_pass": 40.8819,
                "accurate_pass": 36.6837,
                "duels_won": 4.1228,
                "total_long_balls": 3.091,
                "accurate_long_balls": 1.6418,
                "total_own_half_passes": 27.0009,
                "accurate_own_half_passes": 25.6527,
                "total_opp_half_passes": 13.881,
                "accurate_opp_half_passes": 11.031,
                "crosses_total": 0.0102,
                "crosses_accurate": 0.0022,
                "touches": 54.112,
                "possession_lost": 5.0124,
                "dispossessed": 0.1133,
                "duels_lost": 2.9624,
                "aerial_lost": 1.5632,
                "total_contest": 0.2096,
                "won_contest": 0.2032,
                "ball_recovery": 2.672,
                "challenges_lost": 0.4722,
                "fouls": 0.8628,
                "fouls_drawn": 0.4098,
                "blocks": 0.533,
                "goals": 0.0113,
                "goal_rate": 0.0113,
                "assists": 0.0488,
                "assist_rate": 0.0488,
                "expected_goals": 0.0633,
                "expected_assists": 0.0171,
                "shots_on_target": 0.2194,
                "big_chances_created": 0.0523,
                "xgot": 0.0217,
                "ball_carries": 15.2278,
                "total_progression": 49.8689,
                "progressive_carries": 0.5376,
                "key_pass": 0.1014,
                "shots_off_target": 0.0,
                "bench_appearance_probability": 0.251,
                "bench_expected_minutes": 15.25
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "interceptions": 0.5019,
                "tackles": 0.6546,
                "tackles_won": 0.3132,
                "clearances": 1.7822,
                "aerial_won": 0.732,
                "total_shots": 0.2202,
                "rating": 6.7596,
                "minutes": 15.25,
                "total_pass": 40.8819,
                "accurate_pass": 36.6837,
                "duels_won": 4.1228,
                "total_long_balls": 3.091,
                "accurate_long_balls": 1.6418,
                "total_own_half_passes": 27.0009,
                "accurate_own_half_passes": 25.6527,
                "total_opp_half_passes": 13.881,
                "accurate_opp_half_passes": 11.031,
                "crosses_total": 0.0102,
                "crosses_accurate": 0.0022,
                "touches": 54.112,
                "possession_lost": 5.0124,
                "dispossessed": 0.1133,
                "duels_lost": 2.9624,
                "aerial_lost": 1.5632,
                "total_contest": 0.2096,
                "won_contest": 0.2032,
                "ball_recovery": 2.672,
                "challenges_lost": 0.4722,
                "fouls": 0.8628,
                "fouls_drawn": 0.4098,
                "blocks": 0.533,
                "goal_rate": 0.0113,
                "goals": 0,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0633,
                "expected_assists": 0.0171,
                "shots_on_target": 0.2194,
                "big_chances_created": 0.0523,
                "xgot": 0.0217,
                "ball_carries": 15.2278,
                "total_progression": 49.8689,
                "progressive_carries": 0.5376,
                "key_pass": 0.1014,
                "shots_off_target": 0.0,
                "bench_appearance_probability": 0.251,
                "bench_expected_minutes": 15.25,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "appearance_probability": 0.251,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 12 by projected rating, fifa_overall 82.0)",
              "stats": {
                "interceptions": 0.5019,
                "tackles": 0.6546,
                "tackles_won": 0.3132,
                "clearances": 1.7822,
                "aerial_won": 0.732,
                "total_shots": 0.2202,
                "rating": 6.7596,
                "minutes": 15.25,
                "total_pass": 40.8819,
                "accurate_pass": 36.6837,
                "duels_won": 4.1228,
                "total_long_balls": 3.091,
                "accurate_long_balls": 1.6418,
                "total_own_half_passes": 27.0009,
                "accurate_own_half_passes": 25.6527,
                "total_opp_half_passes": 13.881,
                "accurate_opp_half_passes": 11.031,
                "crosses_total": 0.0102,
                "crosses_accurate": 0.0022,
                "touches": 54.112,
                "possession_lost": 5.0124,
                "dispossessed": 0.1133,
                "duels_lost": 2.9624,
                "aerial_lost": 1.5632,
                "total_contest": 0.2096,
                "won_contest": 0.2032,
                "ball_recovery": 2.672,
                "challenges_lost": 0.4722,
                "fouls": 0.8628,
                "fouls_drawn": 0.4098,
                "blocks": 0.533,
                "goal_rate": 0.0113,
                "goals": 0,
                "assist_rate": 0.0488,
                "assists": 0,
                "expected_goals": 0.0633,
                "expected_assists": 0.0171,
                "shots_on_target": 0.2194,
                "big_chances_created": 0.0523,
                "xgot": 0.0217,
                "ball_carries": 15.2278,
                "total_progression": 49.8689,
                "progressive_carries": 0.5376,
                "key_pass": 0.1014,
                "shots_off_target": 0.0,
                "bench_appearance_probability": 0.251,
                "bench_expected_minutes": 15.25,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              },
              "params": {
                "match_squad_rank": 12,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 893,
                "fifa_rank": 380.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Reece James": {
          "player_id": 885908,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 24,
          "height": 180,
          "market_value": 63000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "total_shots": 1,
            "rating": 6.9788,
            "minutes": 20,
            "total_pass": 15,
            "accurate_pass": 13,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 8,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 21,
            "possession_lost": 4.0928,
            "dispossessed": 0.0516,
            "duels_lost": 1,
            "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,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0059,
            "expected_assists": 0.0165,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0168,
            "ball_carries": 5,
            "total_progression": 11,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.444,
            "bench_expected_minutes": 19.51,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1554,
                "expected_assists": 0.1393,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 86,
                "accurate_pass": 81,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 38,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0212,
                "expected_assists": 0.0433,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 24,
                "accurate_pass": 22,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024024,
              "match_date": "2026-05-09",
              "home_team": "Liverpool FC",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 27,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0069,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 24,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023990,
              "match_date": "2026-03-14",
              "home_team": "Chelsea",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1174,
                "expected_assists": 0.4593,
                "total_shots": 4,
                "shots_off_target": 3,
                "total_pass": 77,
                "accurate_pass": 75,
                "key_pass": 4,
                "interceptions": 1,
                "clearances": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023986,
              "match_date": "2026-03-04",
              "home_team": "Aston Villa",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0439,
                "expected_assists": 0.0203,
                "total_shots": 1,
                "total_pass": 61,
                "accurate_pass": 56,
                "tackles": 1,
                "interceptions": 3,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023971,
              "match_date": "2026-03-01",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.3507,
                "total_shots": 0,
                "total_pass": 53,
                "accurate_pass": 50,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024007,
              "match_date": "2026-02-21",
              "home_team": "Chelsea",
              "away_team": "Burnley",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Burnley",
              "stats": {
                "minutes": 89,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0155,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 39,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 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": 4,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9788,
            "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.763,
          "history_matches": 33,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 33,
            "data_confidence": 0.763,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 19.51,
            "bench_appearance_prob": 0.444,
            "market_value_adjustment": 1.014,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 23.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0867
            },
            "rationale": "Bench projection scaled from XGBoost D_service (33 historical appearances) to 19.5 expected mins (appearance prob 0.44); FBref playing time empirical prior: 1.0 sub appearances, 23.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.298,
                "tackles": 0.5572,
                "tackles_won": 0.3798,
                "clearances": 0.8721,
                "aerial_won": 0.2741,
                "total_shots": 0.6645,
                "rating": 6.9788,
                "minutes": 24.63,
                "total_pass": 18.9529,
                "accurate_pass": 16.2148,
                "duels_won": 1.4159,
                "total_long_balls": 1.3135,
                "accurate_long_balls": 0.7256,
                "total_own_half_passes": 7.3914,
                "accurate_own_half_passes": 6.5826,
                "total_opp_half_passes": 11.5616,
                "accurate_opp_half_passes": 9.6322,
                "crosses_total": 1.7356,
                "crosses_accurate": 0.1976,
                "touches": 25.8458,
                "possession_lost": 5.0956,
                "dispossessed": 0.0509,
                "duels_lost": 0.6457,
                "aerial_lost": 0.0599,
                "total_contest": 0.4963,
                "won_contest": 0.2777,
                "ball_recovery": 1.8791,
                "challenges_lost": 0.1427,
                "fouls": 0.1736,
                "fouls_drawn": 0.5166,
                "blocks": 0.195,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0074,
                "expected_assists": 0.0205,
                "shots_on_target": 0.2096,
                "big_chances_created": 0.0433,
                "xgot": 0.0209,
                "ball_carries": 6.5143,
                "total_progression": 13.104,
                "progressive_carries": 0.2408,
                "key_pass": 0.1408,
                "shots_off_target": 0.4549
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1507,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1281,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.1089,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0926,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 38.0,
                    "is_starting": false,
                    "weight": 0.0787,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Liverpool FC",
                    "minutes": 27.0,
                    "is_starting": false,
                    "weight": 0.0669,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-03-14",
                    "opponent": "Newcastle United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-03-04",
                    "opponent": "Aston Villa",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-03-01",
                    "opponent": "Arsenal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0411,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-02-21",
                    "opponent": "Burnley",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.0349,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 1.628,
                  "aerialWon": 0.6739,
                  "totalClearance_p90": 2.1175,
                  "totalTackle": 0.9546,
                  "totalPass": 46.95
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.29795700311660767,
                    "model_output": 0.298,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4789
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0276
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.012
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0094
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0088
                        }
                      ],
                      "others": -0.0338,
                      "total": 0.298,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.801542
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.073577
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.033769
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.027258
                        },
                        {
                          "name": "long_ball_accuracy",
                          "margin": -0.026053
                        }
                      ],
                      "others_margin": -0.107639
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.5571672916412354,
                    "model_output": 0.5572,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7778
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0361
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0235
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0223
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0186
                        }
                      ],
                      "others": 0.0028,
                      "total": 0.5572,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.82394
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.061156
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.040279
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.038095
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.032991
                        }
                      ],
                      "others_margin": 0.004828
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.379843533039093,
                    "model_output": 0.3798,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4498
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0269
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0133
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0131
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0116
                        }
                      ],
                      "others": -0.001,
                      "total": 0.3798,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.759085
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.070496
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.035446
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.03491
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.030823
                        }
                      ],
                      "others_margin": -0.002189
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 0.8721277713775635,
                    "model_output": 0.8721,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -1.9941
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.3188
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0911
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0691
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0218
                        }
                      ],
                      "others": -0.0647,
                      "total": 0.8721,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.870087
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.250675
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.08492
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.069616
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.023017
                        }
                      ],
                      "others_margin": -0.071567
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.2741101384162903,
                    "model_output": 0.2741,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7736
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.1784
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0549
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0305
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0224
                        }
                      ],
                      "others": -0.0437,
                      "total": 0.2741,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.824433
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.349994
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.138196
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.085862
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.068019
                        }
                      ],
                      "others_margin": -0.148078
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6645314693450928,
                    "model_output": 0.6645,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.4039
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2779
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0271
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0252
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0206
                        }
                      ],
                      "others": 0.0375,
                      "total": 0.6645,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.403933
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.277864
                        },
                        {
                          "name": "rating",
                          "margin": 0.0271
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.025182
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.020573
                        }
                      ],
                      "others_margin": 0.037431
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.978842258453369,
                    "model_output": 6.9788,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0579
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0372
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0368
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0237
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0225
                        }
                      ],
                      "others": 0.0796,
                      "total": 6.9788,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.057928
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.03717
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.036796
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.023677
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.022495
                        }
                      ],
                      "others_margin": 0.0796
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 33,
                  "role_matches": 10,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0140, quality 0.859)",
              "stats": {
                "interceptions": 0.3021,
                "tackles": 0.565,
                "tackles_won": 0.3852,
                "clearances": 0.8843,
                "aerial_won": 0.2779,
                "total_shots": 0.6738,
                "rating": 6.9788,
                "minutes": 24.63,
                "total_pass": 19.2182,
                "accurate_pass": 16.4418,
                "duels_won": 1.4357,
                "total_long_balls": 1.3319,
                "accurate_long_balls": 0.7358,
                "total_own_half_passes": 7.4949,
                "accurate_own_half_passes": 6.6748,
                "total_opp_half_passes": 11.7235,
                "accurate_opp_half_passes": 9.7671,
                "crosses_total": 1.7599,
                "crosses_accurate": 0.2004,
                "touches": 26.2076,
                "possession_lost": 5.1669,
                "dispossessed": 0.0516,
                "duels_lost": 0.6547,
                "aerial_lost": 0.0607,
                "total_contest": 0.5032,
                "won_contest": 0.2816,
                "ball_recovery": 1.9054,
                "challenges_lost": 0.1447,
                "fouls": 0.176,
                "fouls_drawn": 0.5238,
                "blocks": 0.1977,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0075,
                "expected_assists": 0.0208,
                "shots_on_target": 0.2125,
                "big_chances_created": 0.0439,
                "xgot": 0.0212,
                "ball_carries": 6.6055,
                "total_progression": 13.2875,
                "progressive_carries": 0.2442,
                "key_pass": 0.1428,
                "shots_off_target": 0.4613
              },
              "params": {
                "market_value_eur": 63000000,
                "quality_factor": 0.8589,
                "boost_factor": 1.014,
                "reference_quality": 0.505,
                "history_matches": 33,
                "history_shrink": 0.1316,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0074)",
              "stats": {
                "interceptions": 0.303,
                "tackles": 0.565,
                "tackles_won": 0.3823,
                "clearances": 0.8843,
                "aerial_won": 0.2779,
                "total_shots": 0.672,
                "rating": 6.9788,
                "minutes": 24.63,
                "total_pass": 19.2182,
                "accurate_pass": 16.4418,
                "duels_won": 1.4357,
                "total_long_balls": 1.3319,
                "accurate_long_balls": 0.7358,
                "total_own_half_passes": 7.4949,
                "accurate_own_half_passes": 6.6748,
                "total_opp_half_passes": 11.7235,
                "accurate_opp_half_passes": 9.7671,
                "crosses_total": 1.7531,
                "crosses_accurate": 0.2004,
                "touches": 26.2076,
                "possession_lost": 5.1669,
                "dispossessed": 0.0516,
                "duels_lost": 0.6547,
                "aerial_lost": 0.0607,
                "total_contest": 0.5032,
                "won_contest": 0.2816,
                "ball_recovery": 1.9054,
                "challenges_lost": 0.1447,
                "fouls": 0.1763,
                "fouls_drawn": 0.5199,
                "blocks": 0.1977,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0075,
                "expected_assists": 0.0208,
                "shots_on_target": 0.2125,
                "big_chances_created": 0.0439,
                "xgot": 0.0212,
                "ball_carries": 6.6055,
                "total_progression": 13.2875,
                "progressive_carries": 0.2442,
                "key_pass": 0.1428,
                "shots_off_target": 0.4613
              },
              "params": {
                "blend_weight": 0.0074,
                "history_matches": 33,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2737,
                "prior_reliability": 0.0867,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 1.7599,
                  "after": 1.7531
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 24.6 to 19.5 expected minutes (appearance prob 0.44)",
              "stats": {
                "interceptions": 0.24,
                "tackles": 0.4475,
                "tackles_won": 0.3028,
                "clearances": 0.7005,
                "aerial_won": 0.2201,
                "total_shots": 0.5337,
                "rating": 6.9788,
                "minutes": 19.51,
                "total_pass": 15.2232,
                "accurate_pass": 13.0239,
                "duels_won": 1.1373,
                "total_long_balls": 1.055,
                "accurate_long_balls": 0.5828,
                "total_own_half_passes": 5.9369,
                "accurate_own_half_passes": 5.2873,
                "total_opp_half_passes": 9.2865,
                "accurate_opp_half_passes": 7.7367,
                "crosses_total": 1.3887,
                "crosses_accurate": 0.1587,
                "touches": 20.7597,
                "possession_lost": 4.0928,
                "dispossessed": 0.0516,
                "duels_lost": 0.5186,
                "aerial_lost": 0.0607,
                "total_contest": 0.3986,
                "won_contest": 0.2231,
                "ball_recovery": 1.5093,
                "challenges_lost": 0.1447,
                "fouls": 0.1397,
                "fouls_drawn": 0.4118,
                "blocks": 0.1566,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0059,
                "expected_assists": 0.0165,
                "shots_on_target": 0.1683,
                "big_chances_created": 0.0348,
                "xgot": 0.0168,
                "ball_carries": 5.2324,
                "total_progression": 10.5253,
                "progressive_carries": 0.1934,
                "key_pass": 0.1131,
                "shots_off_target": 0.3654,
                "bench_appearance_probability": 0.444,
                "bench_expected_minutes": 19.51
              },
              "params": {
                "expected_minutes": 19.51,
                "projection_minutes": 24.63,
                "minutes_scale": 0.7921,
                "appearance_probability": 0.444
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.24,
                "tackles": 0.4475,
                "tackles_won": 0.3028,
                "clearances": 0.7005,
                "aerial_won": 0.2201,
                "total_shots": 0.5337,
                "rating": 6.9788,
                "minutes": 19.51,
                "total_pass": 15.2232,
                "accurate_pass": 13.0239,
                "duels_won": 1.1373,
                "total_long_balls": 1.055,
                "accurate_long_balls": 0.5828,
                "total_own_half_passes": 5.9369,
                "accurate_own_half_passes": 5.2873,
                "total_opp_half_passes": 9.2865,
                "accurate_opp_half_passes": 7.7367,
                "crosses_total": 1.3887,
                "crosses_accurate": 0.1587,
                "touches": 20.7597,
                "possession_lost": 4.0928,
                "dispossessed": 0.0516,
                "duels_lost": 0.5186,
                "aerial_lost": 0.0607,
                "total_contest": 0.3986,
                "won_contest": 0.2231,
                "ball_recovery": 1.5093,
                "challenges_lost": 0.1447,
                "fouls": 0.1397,
                "fouls_drawn": 0.4118,
                "blocks": 0.1566,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0059,
                "expected_assists": 0.0165,
                "shots_on_target": 0.1683,
                "big_chances_created": 0.0348,
                "xgot": 0.0168,
                "ball_carries": 5.2324,
                "total_progression": 10.5253,
                "progressive_carries": 0.1934,
                "key_pass": 0.1131,
                "shots_off_target": 0.3654,
                "bench_appearance_probability": 0.444,
                "bench_expected_minutes": 19.51
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": true
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "interceptions": 0.24,
                "tackles": 0.4475,
                "tackles_won": 0.3028,
                "clearances": 0.7005,
                "aerial_won": 0.2201,
                "total_shots": 0.5337,
                "rating": 6.9788,
                "minutes": 19.51,
                "total_pass": 15.2232,
                "accurate_pass": 13.0239,
                "duels_won": 1.1373,
                "total_long_balls": 1.055,
                "accurate_long_balls": 0.5828,
                "total_own_half_passes": 5.9369,
                "accurate_own_half_passes": 5.2873,
                "total_opp_half_passes": 9.2865,
                "accurate_opp_half_passes": 7.7367,
                "crosses_total": 1.3887,
                "crosses_accurate": 0.1587,
                "touches": 20.7597,
                "possession_lost": 4.0928,
                "dispossessed": 0.0516,
                "duels_lost": 0.5186,
                "aerial_lost": 0.0607,
                "total_contest": 0.3986,
                "won_contest": 0.2231,
                "ball_recovery": 1.5093,
                "challenges_lost": 0.1447,
                "fouls": 0.1397,
                "fouls_drawn": 0.4118,
                "blocks": 0.1566,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0059,
                "expected_assists": 0.0165,
                "shots_on_target": 0.1683,
                "big_chances_created": 0.0348,
                "xgot": 0.0168,
                "ball_carries": 5.2324,
                "total_progression": 10.5253,
                "progressive_carries": 0.1934,
                "key_pass": 0.1131,
                "shots_off_target": 0.3654,
                "bench_appearance_probability": 0.444,
                "bench_expected_minutes": 19.51,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "appearance_probability": 0.444,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 4 by projected rating, fifa_overall 84.0)",
              "stats": {
                "interceptions": 0.24,
                "tackles": 0.4475,
                "tackles_won": 0.3028,
                "clearances": 0.7005,
                "aerial_won": 0.2201,
                "total_shots": 0.5337,
                "rating": 6.9788,
                "minutes": 19.51,
                "total_pass": 15.2232,
                "accurate_pass": 13.0239,
                "duels_won": 1.1373,
                "total_long_balls": 1.055,
                "accurate_long_balls": 0.5828,
                "total_own_half_passes": 5.9369,
                "accurate_own_half_passes": 5.2873,
                "total_opp_half_passes": 9.2865,
                "accurate_opp_half_passes": 7.7367,
                "crosses_total": 1.3887,
                "crosses_accurate": 0.1587,
                "touches": 20.7597,
                "possession_lost": 4.0928,
                "dispossessed": 0.0516,
                "duels_lost": 0.5186,
                "aerial_lost": 0.0607,
                "total_contest": 0.3986,
                "won_contest": 0.2231,
                "ball_recovery": 1.5093,
                "challenges_lost": 0.1447,
                "fouls": 0.1397,
                "fouls_drawn": 0.4118,
                "blocks": 0.1566,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0059,
                "expected_assists": 0.0165,
                "shots_on_target": 0.1683,
                "big_chances_created": 0.0348,
                "xgot": 0.0168,
                "ball_carries": 5.2324,
                "total_progression": 10.5253,
                "progressive_carries": 0.1934,
                "key_pass": 0.1131,
                "shots_off_target": 0.3654,
                "bench_appearance_probability": 0.444,
                "bench_expected_minutes": 19.51,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 84.0
              },
              "params": {
                "match_squad_rank": 4,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 295,
                "fifa_rank": 199.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 84.0
              }
            }
          ]
        },
        "Morgan Rogers": {
          "player_id": 948261,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 17,
          "height": 187,
          "market_value": 115000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1079,
            "assist_rate": 0.116,
            "assists": 0,
            "expected_goals": 0.127,
            "goal_rate": 0.1439,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.9569,
            "minutes": 24,
            "total_pass": 38,
            "accurate_pass": 29,
            "duels_won": 7,
            "total_long_balls": 2,
            "accurate_long_balls": 2,
            "total_own_half_passes": 12,
            "accurate_own_half_passes": 10,
            "total_opp_half_passes": 26,
            "accurate_opp_half_passes": 19,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 63,
            "possession_lost": 18.5463,
            "dispossessed": 1.631,
            "duels_lost": 10,
            "aerial_won": 1,
            "aerial_lost": 3,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 3,
            "won_contest": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.2444,
            "ball_carries": 17,
            "total_progression": 71,
            "progressive_carries": 3,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.344,
            "bench_expected_minutes": 23.79,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 5.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0632,
                "expected_assists": 0.0302,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 22,
                "accurate_pass": 16,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 5,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.169,
                "expected_assists": 0.0572,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 42,
                "accurate_pass": 36,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 84,
                "rating": 8.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1802,
                "expected_assists": 0.0722,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 27,
                "accurate_pass": 19,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 9,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3279,
                "expected_assists": 0.069,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 42,
                "accurate_pass": 35,
                "key_pass": 1,
                "clearances": 2,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2106,
                "expected_assists": 0.0239,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 25,
                "accurate_pass": 20,
                "tackles": 2,
                "duels_won": 7,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 1.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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023928,
              "match_date": "2026-05-15",
              "home_team": "Aston Villa",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Aston Villa",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0489,
                "expected_assists": 0.2656,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 31,
                "accurate_pass": 21,
                "key_pass": 4,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023929,
              "match_date": "2026-05-10",
              "home_team": "Burnley",
              "away_team": "Aston Villa",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Aston Villa",
              "opponent": "Burnley",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1414,
                "expected_assists": 0.0284,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 39,
                "accurate_pass": 26,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 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": 5,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9569,
            "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": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.769,
          "history_matches": 45,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 45,
            "data_confidence": 0.769,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 23.79143617594376,
            "bench_appearance_prob": 0.344,
            "market_value_adjustment": 1.0118,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.5263157894736842,
              "assists_per90": 0.5263157894736842,
              "prior_reliability": 0.1267
            },
            "rationale": "Bench projection scaled from XGBoost M_service (45 historical appearances) to 23.8 expected mins (appearance prob 0.34); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.7485,
                "expected_assists": 0.0852,
                "assists": 0.0913,
                "assist_rate": 0.0913,
                "expected_goals": 0.1002,
                "goals": 0.1136,
                "goal_rate": 0.1136,
                "shots_on_target": 0.2349,
                "total_shots": 1.1132,
                "rating": 6.9569,
                "minutes": 19.0,
                "total_pass": 29.7581,
                "accurate_pass": 22.7459,
                "duels_won": 5.551,
                "total_long_balls": 1.913,
                "accurate_long_balls": 1.2512,
                "total_own_half_passes": 9.4744,
                "accurate_own_half_passes": 7.6259,
                "total_opp_half_passes": 20.2837,
                "accurate_opp_half_passes": 15.12,
                "crosses_total": 1.5808,
                "crosses_accurate": 0.0789,
                "touches": 49.7277,
                "possession_lost": 14.6385,
                "dispossessed": 1.612,
                "duels_lost": 7.6315,
                "aerial_won": 1.0637,
                "aerial_lost": 2.9058,
                "interceptions": 0.183,
                "tackles_won": 0.943,
                "tackles": 1.5632,
                "clearances": 1.0442,
                "total_contest": 2.7224,
                "won_contest": 1.4059,
                "challenges_lost": 0.8237,
                "fouls": 1.1482,
                "fouls_drawn": 1.5364,
                "blocks": 0.0216,
                "big_chances_created": 0.2399,
                "big_chances_missed": 0.2443,
                "xgot": 0.1929,
                "ball_carries": 13.5272,
                "total_progression": 55.7558,
                "progressive_carries": 2.5917,
                "shots_off_target": 0.8783
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 5.8
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.1084,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 7.9
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 87.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 82.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 8.4
                  },
                  {
                    "match_date": "2026-05-15",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2026-05-10",
                    "opponent": "Burnley",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 5.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 2.2937,
                  "creative_index": 0.6517,
                  "expectedGoals": 0.2049,
                  "expectedAssists": 0.1275,
                  "totalOppositionHalfPasses": 20.2837
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7485020160675049,
                    "model_output": 0.7485,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3932
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0776
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0503
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0348
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0278
                        }
                      ],
                      "others": 0.0609,
                      "total": 0.7485,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.582888
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.145149
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.08389
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.054249
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.041332
                        }
                      ],
                      "others_margin": 0.084812
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.08522804081439972,
                    "model_output": 0.0852,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0339
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0056
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0062
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0061
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.004
                        }
                      ],
                      "others": 0.0123,
                      "total": 0.0852,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.508932
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.104027
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.103803
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.09217
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.055964
                        }
                      ],
                      "others_margin": 0.156323
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.09130781143903732,
                    "model_output": 0.0913,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.014
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0069
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0069
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0074
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0069
                        }
                      ],
                      "others": -0.0078,
                      "total": 0.0913,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.179226
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.092599
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.084984
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.083584
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.072152
                        }
                      ],
                      "others_margin": -0.082775
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.10021953284740448,
                    "model_output": 0.1002,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0402
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0137
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0148
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0079
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0049
                        }
                      ],
                      "others": 0.0077,
                      "total": 0.1002,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.579501
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.236987
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.205162
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.094548
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.053954
                        }
                      ],
                      "others_margin": 0.080637
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.11359342187643051,
                    "model_output": 0.1136,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0431
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0274
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0115
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0108
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0052
                        }
                      ],
                      "others": 0.0068,
                      "total": 0.1136,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.605074
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.424339
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.135057
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.11238
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.049794
                        }
                      ],
                      "others_margin": 0.062406
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.23485149443149567,
                    "model_output": 0.2349,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1718
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0366
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0248
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0134
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0113
                        }
                      ],
                      "others": 0.0249,
                      "total": 0.2349,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.776237
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.22328
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.126863
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.062353
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.052654
                        }
                      ],
                      "others_margin": 0.112364
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.113143801689148,
                    "model_output": 1.1131,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.625
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.5432
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0453
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0451
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0322
                        }
                      ],
                      "others": 0.0882,
                      "total": 1.1131,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.624995
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.543247
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.04525
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.045059
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.032196
                        }
                      ],
                      "others_margin": 0.088277
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.956866264343262,
                    "model_output": 6.9569,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.1217
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1026
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0411
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.0387
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0255
                        }
                      ],
                      "others": 0.0547,
                      "total": 6.9569,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.121717
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.102578
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.041057
                        },
                        {
                          "name": "duelWon",
                          "margin": -0.038749
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.025495
                        }
                      ],
                      "others_margin": 0.054729
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 45,
                  "role_matches": 0,
                  "minutes_source": "position_median",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0118, quality 0.897)",
              "stats": {
                "key_pass": 0.7573,
                "expected_assists": 0.0862,
                "assists": 0.0924,
                "assist_rate": 0.0924,
                "expected_goals": 0.1014,
                "goals": 0.1149,
                "goal_rate": 0.1149,
                "shots_on_target": 0.2376,
                "total_shots": 1.1263,
                "rating": 6.9569,
                "minutes": 19.0,
                "total_pass": 30.1092,
                "accurate_pass": 23.0143,
                "duels_won": 5.6165,
                "total_long_balls": 1.9356,
                "accurate_long_balls": 1.266,
                "total_own_half_passes": 9.5862,
                "accurate_own_half_passes": 7.7159,
                "total_opp_half_passes": 20.523,
                "accurate_opp_half_passes": 15.2984,
                "crosses_total": 1.5995,
                "crosses_accurate": 0.0798,
                "touches": 50.3145,
                "possession_lost": 14.8112,
                "dispossessed": 1.631,
                "duels_lost": 7.7216,
                "aerial_won": 1.0763,
                "aerial_lost": 2.9401,
                "interceptions": 0.1852,
                "tackles_won": 0.9541,
                "tackles": 1.5816,
                "clearances": 1.0565,
                "total_contest": 2.7545,
                "won_contest": 1.4225,
                "challenges_lost": 0.8334,
                "fouls": 1.1617,
                "fouls_drawn": 1.5545,
                "blocks": 0.0219,
                "big_chances_created": 0.2427,
                "big_chances_missed": 0.2472,
                "xgot": 0.1952,
                "ball_carries": 13.6868,
                "total_progression": 56.4137,
                "progressive_carries": 2.6223,
                "shots_off_target": 0.8887
              },
              "params": {
                "market_value_eur": 115000000,
                "quality_factor": 0.8968,
                "boost_factor": 1.0118,
                "reference_quality": 0.505,
                "history_matches": 45,
                "history_shrink": 0.1,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0082)",
              "stats": {
                "key_pass": 0.7573,
                "expected_assists": 0.0862,
                "assists": 0.0926,
                "assist_rate": 0.0926,
                "expected_goals": 0.1014,
                "goals": 0.1149,
                "goal_rate": 0.1149,
                "shots_on_target": 0.2366,
                "total_shots": 1.1225,
                "rating": 6.9569,
                "minutes": 19.0,
                "total_pass": 30.1092,
                "accurate_pass": 23.0143,
                "duels_won": 5.6165,
                "total_long_balls": 1.9356,
                "accurate_long_balls": 1.266,
                "total_own_half_passes": 9.5862,
                "accurate_own_half_passes": 7.7159,
                "total_opp_half_passes": 20.523,
                "accurate_opp_half_passes": 15.2984,
                "crosses_total": 1.5891,
                "crosses_accurate": 0.0798,
                "touches": 50.3145,
                "possession_lost": 14.8112,
                "dispossessed": 1.631,
                "duels_lost": 7.7216,
                "aerial_won": 1.0763,
                "aerial_lost": 2.9401,
                "interceptions": 0.1837,
                "tackles_won": 0.9481,
                "tackles": 1.5816,
                "clearances": 1.0565,
                "total_contest": 2.7545,
                "won_contest": 1.4225,
                "challenges_lost": 0.8334,
                "fouls": 1.1549,
                "fouls_drawn": 1.5444,
                "blocks": 0.0219,
                "big_chances_created": 0.2427,
                "big_chances_missed": 0.2472,
                "xgot": 0.1952,
                "ball_carries": 13.6868,
                "total_progression": 56.4137,
                "progressive_carries": 2.6223,
                "shots_off_target": 0.8887
              },
              "params": {
                "blend_weight": 0.0082,
                "history_matches": 45,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2111,
                "prior_reliability": 0.1267,
                "competition": "Premier League",
                "squad": "Chelsea"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 1.5995,
                  "after": 1.5891
                },
                {
                  "stat": "wasFouled",
                  "before": 1.5545,
                  "after": 1.5444
                },
                {
                  "stat": "fouls",
                  "before": 1.1617,
                  "after": 1.1549
                },
                {
                  "stat": "wonTackle",
                  "before": 0.9541,
                  "after": 0.9481
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 19.0 to 23.8 expected minutes (appearance prob 0.34)",
              "stats": {
                "key_pass": 0.9483,
                "expected_assists": 0.1079,
                "assists": 0.116,
                "assist_rate": 0.116,
                "expected_goals": 0.127,
                "goals": 0.1439,
                "goal_rate": 0.1439,
                "shots_on_target": 0.2963,
                "total_shots": 1.4091,
                "rating": 6.9569,
                "minutes": 23.79,
                "total_pass": 37.7022,
                "accurate_pass": 28.8181,
                "duels_won": 7.0329,
                "total_long_balls": 2.4237,
                "accurate_long_balls": 1.5853,
                "total_own_half_passes": 12.0037,
                "accurate_own_half_passes": 9.6617,
                "total_opp_half_passes": 25.6985,
                "accurate_opp_half_passes": 19.1564,
                "crosses_total": 1.9898,
                "crosses_accurate": 0.0999,
                "touches": 63.0029,
                "possession_lost": 18.5463,
                "dispossessed": 1.631,
                "duels_lost": 9.6688,
                "aerial_won": 1.3477,
                "aerial_lost": 2.9401,
                "interceptions": 0.23,
                "tackles_won": 1.1872,
                "tackles": 1.9804,
                "clearances": 1.3229,
                "total_contest": 3.4491,
                "won_contest": 1.7812,
                "challenges_lost": 0.8334,
                "fouls": 1.4461,
                "fouls_drawn": 1.9339,
                "blocks": 0.0274,
                "big_chances_created": 0.3039,
                "big_chances_missed": 0.3095,
                "xgot": 0.2444,
                "ball_carries": 17.1383,
                "total_progression": 70.6402,
                "progressive_carries": 3.2836,
                "shots_off_target": 1.1128,
                "bench_appearance_probability": 0.344,
                "bench_expected_minutes": 23.79
              },
              "params": {
                "expected_minutes": 23.79,
                "projection_minutes": 19.0,
                "minutes_scale": 1.2522,
                "appearance_probability": 0.344
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.9483,
                "expected_assists": 0.1079,
                "assists": 0.116,
                "assist_rate": 0.116,
                "expected_goals": 0.127,
                "goals": 0.1439,
                "goal_rate": 0.1439,
                "shots_on_target": 0.2963,
                "total_shots": 1.4091,
                "rating": 6.9569,
                "minutes": 23.79,
                "total_pass": 37.7022,
                "accurate_pass": 28.8181,
                "duels_won": 7.0329,
                "total_long_balls": 2.4237,
                "accurate_long_balls": 1.5853,
                "total_own_half_passes": 12.0037,
                "accurate_own_half_passes": 9.6617,
                "total_opp_half_passes": 25.6985,
                "accurate_opp_half_passes": 19.1564,
                "crosses_total": 1.9898,
                "crosses_accurate": 0.0999,
                "touches": 63.0029,
                "possession_lost": 18.5463,
                "dispossessed": 1.631,
                "duels_lost": 9.6688,
                "aerial_won": 1.3477,
                "aerial_lost": 2.9401,
                "interceptions": 0.23,
                "tackles_won": 1.1872,
                "tackles": 1.9804,
                "clearances": 1.3229,
                "total_contest": 3.4491,
                "won_contest": 1.7812,
                "challenges_lost": 0.8334,
                "fouls": 1.4461,
                "fouls_drawn": 1.9339,
                "blocks": 0.0274,
                "big_chances_created": 0.3039,
                "big_chances_missed": 0.3095,
                "xgot": 0.2444,
                "ball_carries": 17.1383,
                "total_progression": 70.6402,
                "progressive_carries": 3.2836,
                "shots_off_target": 1.1128,
                "bench_appearance_probability": 0.344,
                "bench_expected_minutes": 23.79
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "key_pass": 0.9483,
                "expected_assists": 0.1079,
                "assist_rate": 0.116,
                "assists": 0,
                "expected_goals": 0.127,
                "goal_rate": 0.1439,
                "goals": 0,
                "shots_on_target": 0.2963,
                "total_shots": 1.4091,
                "rating": 6.9569,
                "minutes": 23.79,
                "total_pass": 37.7022,
                "accurate_pass": 28.8181,
                "duels_won": 7.0329,
                "total_long_balls": 2.4237,
                "accurate_long_balls": 1.5853,
                "total_own_half_passes": 12.0037,
                "accurate_own_half_passes": 9.6617,
                "total_opp_half_passes": 25.6985,
                "accurate_opp_half_passes": 19.1564,
                "crosses_total": 1.9898,
                "crosses_accurate": 0.0999,
                "touches": 63.0029,
                "possession_lost": 18.5463,
                "dispossessed": 1.631,
                "duels_lost": 9.6688,
                "aerial_won": 1.3477,
                "aerial_lost": 2.9401,
                "interceptions": 0.23,
                "tackles_won": 1.1872,
                "tackles": 1.9804,
                "clearances": 1.3229,
                "total_contest": 3.4491,
                "won_contest": 1.7812,
                "challenges_lost": 0.8334,
                "fouls": 1.4461,
                "fouls_drawn": 1.9339,
                "blocks": 0.0274,
                "big_chances_created": 0.3039,
                "big_chances_missed": 0.3095,
                "xgot": 0.2444,
                "ball_carries": 17.1383,
                "total_progression": 70.6402,
                "progressive_carries": 3.2836,
                "shots_off_target": 1.1128,
                "bench_appearance_probability": 0.344,
                "bench_expected_minutes": 23.79,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "appearance_probability": 0.344,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 5 by projected rating, fifa_overall 84.0)",
              "stats": {
                "key_pass": 0.9483,
                "expected_assists": 0.1079,
                "assist_rate": 0.116,
                "assists": 0,
                "expected_goals": 0.127,
                "goal_rate": 0.1439,
                "goals": 0,
                "shots_on_target": 0.2963,
                "total_shots": 1.4091,
                "rating": 6.9569,
                "minutes": 23.79,
                "total_pass": 37.7022,
                "accurate_pass": 28.8181,
                "duels_won": 7.0329,
                "total_long_balls": 2.4237,
                "accurate_long_balls": 1.5853,
                "total_own_half_passes": 12.0037,
                "accurate_own_half_passes": 9.6617,
                "total_opp_half_passes": 25.6985,
                "accurate_opp_half_passes": 19.1564,
                "crosses_total": 1.9898,
                "crosses_accurate": 0.0999,
                "touches": 63.0029,
                "possession_lost": 18.5463,
                "dispossessed": 1.631,
                "duels_lost": 9.6688,
                "aerial_won": 1.3477,
                "aerial_lost": 2.9401,
                "interceptions": 0.23,
                "tackles_won": 1.1872,
                "tackles": 1.9804,
                "clearances": 1.3229,
                "total_contest": 3.4491,
                "won_contest": 1.7812,
                "challenges_lost": 0.8334,
                "fouls": 1.4461,
                "fouls_drawn": 1.9339,
                "blocks": 0.0274,
                "big_chances_created": 0.3039,
                "big_chances_missed": 0.3095,
                "xgot": 0.2444,
                "ball_carries": 17.1383,
                "total_progression": 70.6402,
                "progressive_carries": 3.2836,
                "shots_off_target": 1.1128,
                "bench_appearance_probability": 0.344,
                "bench_expected_minutes": 23.79,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 84.0
              },
              "params": {
                "match_squad_rank": 5,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 122,
                "fifa_rank": 209.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 84.0
              }
            }
          ]
        },
        "Marco Palestra": {
          "player_id": 1397736,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 2,
          "height": 186,
          "market_value": 47000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0165,
            "assist_rate": 0.0351,
            "assists": 0,
            "expected_goals": 0.0419,
            "goal_rate": 0.0483,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6178,
            "minutes": 23,
            "total_pass": 5,
            "accurate_pass": 3,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 5.2911,
            "dispossessed": 0.8224,
            "duels_lost": 3,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 4,
            "total_progression": 5,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.566,
            "bench_expected_minutes": 23.46,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0404,
            "projected_assists": 0,
            "assist_probability": 0.0163,
            "finishing_factor": 1.1045,
            "creation_factor": 1.25,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 25,
                "rating": 6.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 6,
                "accurate_pass": 3,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 2,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 12,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 18,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3060,
            "combined_rank_score": 1022.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 915.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1130.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6178,
            "source_file": "data/player_rankings.csv",
            "player_name": "Marco Palestra",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jun-heui Lee",
                  "ranking": 3055
                },
                {
                  "player_name": "Óscar Valentín",
                  "ranking": 3056
                },
                {
                  "player_name": "Joe Allen",
                  "ranking": 3057
                },
                {
                  "player_name": "Jorge Cuenca",
                  "ranking": 3058
                },
                {
                  "player_name": "Anthony Moris",
                  "ranking": 3059
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Gregoritsch",
                  "ranking": 3061
                },
                {
                  "player_name": "Ricardo Pepi",
                  "ranking": 3062
                },
                {
                  "player_name": "Joakim Mæhle",
                  "ranking": 3063
                },
                {
                  "player_name": "Jarell Quansah",
                  "ranking": 3064
                },
                {
                  "player_name": "Axel Disasi",
                  "ranking": 3065
                }
              ]
            }
          },
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 23.459219541136527,
            "bench_appearance_prob": 0.5663281609607511,
            "market_value_adjustment": 1.0577,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (3 historical appearances) to 23.5 expected mins (appearance prob 0.57)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.2297,
                "expected_assists": 0.0117,
                "assists": 0.0267,
                "assist_rate": 0.0267,
                "expected_goals": 0.0296,
                "goals": 0.0367,
                "goal_rate": 0.0367,
                "shots_on_target": 0.0978,
                "total_shots": 0.3452,
                "rating": 6.6178,
                "minutes": 18.84,
                "total_pass": 4.1166,
                "accurate_pass": 2.1079,
                "duels_won": 1.0583,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 3.5549,
                "accurate_own_half_passes": 2.1079,
                "total_opp_half_passes": 0.5617,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 9.4577,
                "possession_lost": 4.0175,
                "dispossessed": 0.7775,
                "duels_lost": 2.0087,
                "aerial_won": 0.2809,
                "aerial_lost": 0.2809,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.3304,
                "total_contest": 0.5617,
                "won_contest": 0.0,
                "challenges_lost": 0.3887,
                "fouls": 0.0,
                "fouls_drawn": 0.7775,
                "blocks": 0.3887,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.6783,
                "total_progression": 3.971,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2474
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 25.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.0,
                  "creative_index": 0.0,
                  "expectedGoals": 0.0,
                  "expectedAssists": 0.0,
                  "totalOppositionHalfPasses": 0.5617
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.2297051101922989,
                    "model_output": 0.2297,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4257
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0589
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0456
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0359
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0164
                        }
                      ],
                      "others": -0.0781,
                      "total": 0.2297,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.650464
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.135546
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.119143
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.105174
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.052048
                        }
                      ],
                      "others_margin": -0.292358
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.011676843278110027,
                    "model_output": 0.0117,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0408
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0114
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0077
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0049
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.0066,
                      "total": 0.0117,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.654972
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.300099
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.269269
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.218069
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.093016
                        }
                      ],
                      "others_margin": -0.448943
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.02666916325688362,
                    "model_output": 0.0267,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0221
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0116
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.007
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0056
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0035
                        }
                      ],
                      "others": -0.0085,
                      "total": 0.0267,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.301753
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.203892
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.146756
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.134149
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.095934
                        }
                      ],
                      "others_margin": -0.276927
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.029603254050016403,
                    "model_output": 0.0296,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0341
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0208
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0065
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0044
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0029
                        }
                      ],
                      "others": 0.0011,
                      "total": 0.0296,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.46724
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.450528
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.195407
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.157796
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.106981
                        }
                      ],
                      "others_margin": 0.036297
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.03670947253704071,
                    "model_output": 0.0367,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0325
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0128
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0087
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0033
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0032
                        }
                      ],
                      "others": -0.0108,
                      "total": 0.0367,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.419302
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.230265
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.191931
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.077615
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.070426
                        }
                      ],
                      "others_margin": -0.257232
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.09776667505502701,
                    "model_output": 0.0978,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1335
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0622
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0248
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0192
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.007
                        }
                      ],
                      "others": 0.0122,
                      "total": 0.0978,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.543531
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.410449
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.226383
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.219119
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.085453
                        }
                      ],
                      "others_margin": 0.133631
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3451536297798157,
                    "model_output": 0.3452,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.337
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2444
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0445
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.036
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0313
                        }
                      ],
                      "others": 0.0543,
                      "total": 0.3452,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.336961
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.244384
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.044513
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.03601
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.031313
                        }
                      ],
                      "others_margin": 0.054226
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.617770671844482,
                    "model_output": 6.6178,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0463
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0459
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0423
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.018
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0164
                        }
                      ],
                      "others": -0.0685,
                      "total": 6.6178,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.04626
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.045916
                        },
                        {
                          "name": "rating",
                          "margin": -0.042307
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.01801
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.016407
                        }
                      ],
                      "others_margin": -0.068522
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 3,
                  "role_matches": 3,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0577, quality 0.813)",
              "stats": {
                "key_pass": 0.243,
                "expected_assists": 0.0124,
                "assists": 0.0282,
                "assist_rate": 0.0282,
                "expected_goals": 0.0313,
                "goals": 0.0388,
                "goal_rate": 0.0388,
                "shots_on_target": 0.1034,
                "total_shots": 0.3651,
                "rating": 6.6178,
                "minutes": 18.84,
                "total_pass": 4.3541,
                "accurate_pass": 2.2295,
                "duels_won": 1.1194,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 3.76,
                "accurate_own_half_passes": 2.2295,
                "total_opp_half_passes": 0.5941,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 10.0034,
                "possession_lost": 4.2493,
                "dispossessed": 0.8224,
                "duels_lost": 2.1246,
                "aerial_won": 0.2971,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.3495,
                "total_contest": 0.5941,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 0.8224,
                "blocks": 0.4111,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.8328,
                "total_progression": 4.2001,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2617
              },
              "params": {
                "market_value_eur": 47000000,
                "quality_factor": 0.8129,
                "boost_factor": 1.0577,
                "reference_quality": 0.505,
                "history_matches": 3,
                "history_shrink": 0.625,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 18.8 to 23.5 expected minutes (appearance prob 0.57)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0154,
                "assists": 0.0351,
                "assist_rate": 0.0351,
                "expected_goals": 0.039,
                "goals": 0.0483,
                "goal_rate": 0.0483,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46
              },
              "params": {
                "expected_minutes": 23.46,
                "projection_minutes": 18.84,
                "minutes_scale": 1.2452,
                "appearance_probability": 0.566
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0154,
                "assists": 0.0351,
                "assist_rate": 0.0351,
                "expected_goals": 0.039,
                "goals": 0.0483,
                "goal_rate": 0.0483,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0154,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.039,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0165,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.0419,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1045,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 0.566
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 18 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0165,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.0419,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1045,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3060,
                "fifa_rank": 1130.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0165,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.0419,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0404,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1045,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0404,
                "goal_rate": 0.0483,
                "scorer_weight": 0.0463,
                "squad_weight_total": 1.766,
                "weight_share": 0.0262,
                "finishing_factor": 1.1045,
                "appearance_weight": 0.566,
                "weight_rank": 8,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0165,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.0419,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0404,
                "projected_assists": 0,
                "assist_probability": 0.0163,
                "finishing_factor": 1.1045,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0163,
                "assist_rate": 0.0351,
                "provider_weight": 0.0206,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0152,
                "creation_factor": 1.25,
                "appearance_weight": 0.566,
                "weight_rank": 10,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "João Pedro": {
          "player_id": 975079,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 186,
          "market_value": 92000000,
          "stats": {
            "expected_goals": 0.1581,
            "goal_rate": 0.1953,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0346,
            "key_pass": 1,
            "rating": 6.912,
            "minutes": 27,
            "total_pass": 12,
            "accurate_pass": 9,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 6,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 21,
            "possession_lost": 6.654,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.3193,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.2945,
            "offsides": 0,
            "ball_carries": 6,
            "total_progression": 0,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.371,
            "bench_expected_minutes": 27.08,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 89,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2776,
                "expected_assists": 0.0162,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 22,
                "accurate_pass": 15,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 6,
                "duels_won": 7,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 72,
                "rating": 8.5,
                "goal_rate": 2.0,
                "goals": 2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5957,
                "expected_assists": 0.0998,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 17,
                "accurate_pass": 13,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.2868,
                "expected_assists": 0.0448,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 22,
                "accurate_pass": 14,
                "key_pass": 1,
                "clearances": 2,
                "aerial_won": 4,
                "duels_won": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "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,
                "assist_rate": 0.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363249,
              "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,
                "assist_rate": 1.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "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,
                "assist_rate": 1.0,
                "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",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023966,
              "match_date": "2026-05-24",
              "home_team": "Sunderland",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5945,
                "expected_assists": 0.002,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 16,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "aerial_won": 3,
                "duels_won": 9,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024024,
              "match_date": "2026-05-09",
              "home_team": "Liverpool FC",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1746,
                "expected_assists": 0.0236,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 20,
                "accurate_pass": 13,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 10,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023925,
              "match_date": "2026-05-04",
              "home_team": "Chelsea",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4644,
                "expected_assists": 0.0523,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 27,
                "accurate_pass": 20,
                "key_pass": 1,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 9,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023998,
              "match_date": "2026-04-12",
              "home_team": "Chelsea",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 81,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1846,
                "expected_assists": 0.0078,
                "total_shots": 3,
                "shots_off_target": 1,
                "total_pass": 13,
                "accurate_pass": 9,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 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": 7,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.912,
            "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.77,
          "history_matches": 41,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 41,
            "data_confidence": 0.77,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 27.08459086460706,
            "bench_appearance_prob": 0.371,
            "market_value_adjustment": 1.0126,
            "fbref_prior_metrics": {
              "squad": "Chelsea",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 1.0,
              "assists_per90": 1.0,
              "prior_reliability": 0.1333
            },
            "rationale": "Bench projection scaled from XGBoost F_service (41 historical appearances) to 27.1 expected mins (appearance prob 0.37); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1554,
                "goals": 0.1909,
                "goal_rate": 0.1909,
                "shots_on_target": 0.4812,
                "total_shots": 1.2472,
                "expected_assists": 0.0339,
                "key_pass": 0.5654,
                "rating": 6.912,
                "minutes": 26.94,
                "total_pass": 11.823,
                "accurate_pass": 8.6548,
                "duels_won": 2.2714,
                "total_long_balls": 0.4535,
                "accurate_long_balls": 0.2268,
                "total_opp_half_passes": 9.3188,
                "accurate_opp_half_passes": 6.1506,
                "crosses_total": 0.5065,
                "crosses_accurate": 0.0,
                "touches": 20.7586,
                "possession_lost": 6.5361,
                "dispossessed": 0.0,
                "duels_lost": 1.966,
                "aerial_lost": 0.9189,
                "total_contest": 0.7673,
                "won_contest": 0.2267,
                "ball_recovery": 1.7649,
                "challenges_lost": 0.1927,
                "fouls": 0.3138,
                "fouls_drawn": 0.7333,
                "assists": 0.3138,
                "assist_rate": 0.3138,
                "interceptions": 0.0,
                "tackles_won": 0.5066,
                "tackles": 0.6993,
                "clearances": 0.3138,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.2893,
                "offsides": 0.0,
                "ball_carries": 5.825,
                "total_progression": 0.0,
                "progressive_carries": 0.5617,
                "shots_off_target": 0.766
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 8.5
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 7.9
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-04-12",
                    "opponent": "Manchester City",
                    "minutes": 81.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.4844,
                  "accuratePass": 13.4309,
                  "totalOppositionHalfPasses": 14.9673,
                  "accurateOppositionHalfPasses": 9.5176,
                  "totalShots": 2.5941
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.15537631511688232,
                    "model_output": 0.1554,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0893
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.023
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0071
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0043
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": 0.0042
                        }
                      ],
                      "others": 0.0102,
                      "total": 0.1554,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.608426
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.195426
                        },
                        {
                          "name": "goals",
                          "margin": 0.053485
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.031095
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": 0.02959
                        }
                      ],
                      "others_margin": 0.066885
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1909409761428833,
                    "model_output": 0.1909,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0824
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0139
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0116
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0079
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0077
                        }
                      ],
                      "others": 0.0317,
                      "total": 0.1909,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.529014
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.111017
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.084132
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.053602
                        },
                        {
                          "name": "goals",
                          "margin": 0.049639
                        }
                      ],
                      "others_margin": 0.181894
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.48116061091423035,
                    "model_output": 0.4812,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2043
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0315
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0299
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0193
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0134
                        }
                      ],
                      "others": 0.0592,
                      "total": 0.4812,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.484257
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.091621
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.079919
                        },
                        {
                          "name": "goals",
                          "margin": 0.0485
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.032322
                        }
                      ],
                      "others_margin": 0.131113
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.247118353843689,
                    "model_output": 1.2471,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.6427
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1604
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0591
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0462
                        },
                        {
                          "name": "shotOffTarget",
                          "contribution": 0.0439
                        }
                      ],
                      "others": 0.2,
                      "total": 1.2471,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.642685
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.16038
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.059083
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.046245
                        },
                        {
                          "name": "shotOffTarget",
                          "margin": 0.043883
                        }
                      ],
                      "others_margin": 0.20006
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.033933017402887344,
                    "model_output": 0.0339,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0207
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0093
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0085
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0033
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0025
                        }
                      ],
                      "others": -0.0047,
                      "total": 0.0339,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.387911
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.194152
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.174784
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.076935
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.06365
                        }
                      ],
                      "others_margin": -0.130167
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.5653997659683228,
                    "model_output": 0.5654,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2102
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0712
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0513
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.035
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0253
                        }
                      ],
                      "others": 0.0267,
                      "total": 0.5654,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.365421
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.139261
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.089518
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.060266
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.045945
                        }
                      ],
                      "others_margin": 0.048436
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.912020206451416,
                    "model_output": 6.912,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.117
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0835
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.032
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0249
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0188
                        }
                      ],
                      "others": 0.0696,
                      "total": 6.912,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.117036
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.083493
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.032042
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.024924
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": -0.018826
                        }
                      ],
                      "others_margin": 0.069491
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 41,
                  "role_matches": 4,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0126, quality 0.890)",
              "stats": {
                "expected_goals": 0.1573,
                "goals": 0.1933,
                "goal_rate": 0.1933,
                "shots_on_target": 0.4872,
                "total_shots": 1.2629,
                "expected_assists": 0.0344,
                "key_pass": 0.5725,
                "rating": 6.912,
                "minutes": 26.94,
                "total_pass": 11.972,
                "accurate_pass": 8.7639,
                "duels_won": 2.3,
                "total_long_balls": 0.4592,
                "accurate_long_balls": 0.2297,
                "total_opp_half_passes": 9.4362,
                "accurate_opp_half_passes": 6.2281,
                "crosses_total": 0.5129,
                "crosses_accurate": 0.0,
                "touches": 21.0202,
                "possession_lost": 6.6185,
                "dispossessed": 0.0,
                "duels_lost": 1.9908,
                "aerial_lost": 0.9305,
                "total_contest": 0.777,
                "won_contest": 0.2296,
                "ball_recovery": 1.7871,
                "challenges_lost": 0.1951,
                "fouls": 0.3178,
                "fouls_drawn": 0.7425,
                "assists": 0.3178,
                "assist_rate": 0.3178,
                "interceptions": 0.0,
                "tackles_won": 0.513,
                "tackles": 0.7081,
                "clearances": 0.3178,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.2929,
                "offsides": 0.0,
                "ball_carries": 5.8984,
                "total_progression": 0.0,
                "progressive_carries": 0.5688,
                "shots_off_target": 0.7757
              },
              "params": {
                "market_value_eur": 92000000,
                "quality_factor": 0.89,
                "boost_factor": 1.0126,
                "reference_quality": 0.505,
                "history_matches": 41,
                "history_shrink": 0.1087,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0094)",
              "stats": {
                "expected_goals": 0.1573,
                "goals": 0.1943,
                "goal_rate": 0.1943,
                "shots_on_target": 0.4868,
                "total_shots": 1.2637,
                "expected_assists": 0.0344,
                "key_pass": 0.5725,
                "rating": 6.912,
                "minutes": 26.94,
                "total_pass": 11.972,
                "accurate_pass": 8.7639,
                "duels_won": 2.3,
                "total_long_balls": 0.4592,
                "accurate_long_balls": 0.2297,
                "total_opp_half_passes": 9.4362,
                "accurate_opp_half_passes": 6.2281,
                "crosses_total": 0.5081,
                "crosses_accurate": 0.0,
                "touches": 21.0202,
                "possession_lost": 6.6185,
                "dispossessed": 0.0,
                "duels_lost": 1.9908,
                "aerial_lost": 0.9305,
                "total_contest": 0.777,
                "won_contest": 0.2296,
                "ball_recovery": 1.7871,
                "challenges_lost": 0.1951,
                "fouls": 0.3176,
                "fouls_drawn": 0.7426,
                "assists": 0.3176,
                "assist_rate": 0.3176,
                "interceptions": 0.0,
                "tackles_won": 0.5096,
                "tackles": 0.7081,
                "clearances": 0.3178,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.2929,
                "offsides": 0.0,
                "ball_carries": 5.8984,
                "total_progression": 0.0,
                "progressive_carries": 0.5688,
                "shots_off_target": 0.7757
              },
              "params": {
                "blend_weight": 0.0094,
                "history_matches": 41,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2993,
                "prior_reliability": 0.1333,
                "competition": "Premier League",
                "squad": "Chelsea"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 26.9 to 27.1 expected minutes (appearance prob 0.37)",
              "stats": {
                "expected_goals": 0.1581,
                "goals": 0.1953,
                "goal_rate": 0.1953,
                "shots_on_target": 0.4894,
                "total_shots": 1.2705,
                "expected_assists": 0.0346,
                "key_pass": 0.5756,
                "rating": 6.912,
                "minutes": 27.08,
                "total_pass": 12.0363,
                "accurate_pass": 8.8109,
                "duels_won": 2.3123,
                "total_long_balls": 0.4617,
                "accurate_long_balls": 0.2309,
                "total_opp_half_passes": 9.4868,
                "accurate_opp_half_passes": 6.2615,
                "crosses_total": 0.5108,
                "crosses_accurate": 0.0,
                "touches": 21.133,
                "possession_lost": 6.654,
                "dispossessed": 0.0,
                "duels_lost": 2.0015,
                "aerial_lost": 0.9305,
                "total_contest": 0.7812,
                "won_contest": 0.2308,
                "ball_recovery": 1.7967,
                "challenges_lost": 0.1951,
                "fouls": 0.3193,
                "fouls_drawn": 0.7466,
                "assists": 0.3193,
                "assist_rate": 0.3193,
                "interceptions": 0.0,
                "tackles_won": 0.5123,
                "tackles": 0.7119,
                "clearances": 0.3195,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.2945,
                "offsides": 0.0,
                "ball_carries": 5.9301,
                "total_progression": 0.0,
                "progressive_carries": 0.5719,
                "shots_off_target": 0.7799,
                "bench_appearance_probability": 0.371,
                "bench_expected_minutes": 27.08
              },
              "params": {
                "expected_minutes": 27.08,
                "projection_minutes": 26.94,
                "minutes_scale": 1.0054,
                "appearance_probability": 0.371
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1581,
                "goals": 0.1953,
                "goal_rate": 0.1953,
                "shots_on_target": 0.4894,
                "total_shots": 1.2705,
                "expected_assists": 0.0346,
                "key_pass": 0.5756,
                "rating": 6.912,
                "minutes": 27.08,
                "total_pass": 12.0363,
                "accurate_pass": 8.8109,
                "duels_won": 2.3123,
                "total_long_balls": 0.4617,
                "accurate_long_balls": 0.2309,
                "total_opp_half_passes": 9.4868,
                "accurate_opp_half_passes": 6.2615,
                "crosses_total": 0.5108,
                "crosses_accurate": 0.0,
                "touches": 21.133,
                "possession_lost": 6.654,
                "dispossessed": 0.0,
                "duels_lost": 2.0015,
                "aerial_lost": 0.9305,
                "total_contest": 0.7812,
                "won_contest": 0.2308,
                "ball_recovery": 1.7967,
                "challenges_lost": 0.1951,
                "fouls": 0.3193,
                "fouls_drawn": 0.7466,
                "assists": 0.3193,
                "assist_rate": 0.3193,
                "interceptions": 0.0,
                "tackles_won": 0.5123,
                "tackles": 0.7119,
                "clearances": 0.3195,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.2945,
                "offsides": 0.0,
                "ball_carries": 5.9301,
                "total_progression": 0.0,
                "progressive_carries": 0.5719,
                "shots_off_target": 0.7799,
                "bench_appearance_probability": 0.371,
                "bench_expected_minutes": 27.08
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "expected_goals": 0.1581,
                "goal_rate": 0.1953,
                "goals": 0,
                "shots_on_target": 0.4894,
                "total_shots": 1.2705,
                "expected_assists": 0.0346,
                "key_pass": 0.5756,
                "rating": 6.912,
                "minutes": 27.08,
                "total_pass": 12.0363,
                "accurate_pass": 8.8109,
                "duels_won": 2.3123,
                "total_long_balls": 0.4617,
                "accurate_long_balls": 0.2309,
                "total_opp_half_passes": 9.4868,
                "accurate_opp_half_passes": 6.2615,
                "crosses_total": 0.5108,
                "crosses_accurate": 0.0,
                "touches": 21.133,
                "possession_lost": 6.654,
                "dispossessed": 0.0,
                "duels_lost": 2.0015,
                "aerial_lost": 0.9305,
                "total_contest": 0.7812,
                "won_contest": 0.2308,
                "ball_recovery": 1.7967,
                "challenges_lost": 0.1951,
                "fouls": 0.3193,
                "fouls_drawn": 0.7466,
                "assist_rate": 0.3193,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5123,
                "tackles": 0.7119,
                "clearances": 0.3195,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.2945,
                "offsides": 0.0,
                "ball_carries": 5.9301,
                "total_progression": 0.0,
                "progressive_carries": 0.5719,
                "shots_off_target": 0.7799,
                "bench_appearance_probability": 0.371,
                "bench_expected_minutes": 27.08,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "appearance_probability": 0.371,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 7 by projected rating, fifa_overall 83.0)",
              "stats": {
                "expected_goals": 0.1581,
                "goal_rate": 0.1953,
                "goals": 0,
                "shots_on_target": 0.4894,
                "total_shots": 1.2705,
                "expected_assists": 0.0346,
                "key_pass": 0.5756,
                "rating": 6.912,
                "minutes": 27.08,
                "total_pass": 12.0363,
                "accurate_pass": 8.8109,
                "duels_won": 2.3123,
                "total_long_balls": 0.4617,
                "accurate_long_balls": 0.2309,
                "total_opp_half_passes": 9.4868,
                "accurate_opp_half_passes": 6.2615,
                "crosses_total": 0.5108,
                "crosses_accurate": 0.0,
                "touches": 21.133,
                "possession_lost": 6.654,
                "dispossessed": 0.0,
                "duels_lost": 2.0015,
                "aerial_lost": 0.9305,
                "total_contest": 0.7812,
                "won_contest": 0.2308,
                "ball_recovery": 1.7967,
                "challenges_lost": 0.1951,
                "fouls": 0.3193,
                "fouls_drawn": 0.7466,
                "assist_rate": 0.3193,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.5123,
                "tackles": 0.7119,
                "clearances": 0.3195,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.2945,
                "offsides": 0.0,
                "ball_carries": 5.9301,
                "total_progression": 0.0,
                "progressive_carries": 0.5719,
                "shots_off_target": 0.7799,
                "bench_appearance_probability": 0.371,
                "bench_expected_minutes": 27.08,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 83.0
              },
              "params": {
                "match_squad_rank": 7,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 173,
                "fifa_rank": 275.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 83.0
              }
            }
          ]
        },
        "Estêvão": {
          "player_id": 1597265,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 41,
          "height": 176,
          "market_value": 82000000,
          "stats": {
            "expected_goals": 0.0891,
            "goal_rate": 0.0868,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0468,
            "key_pass": 0,
            "rating": 6.6263,
            "minutes": 27,
            "total_pass": 7,
            "accurate_pass": 6,
            "duels_won": 1,
            "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": 13,
            "possession_lost": 4.2807,
            "dispossessed": 0.2004,
            "duels_lost": 2,
            "aerial_lost": 0,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0796,
            "offsides": 0,
            "ball_carries": 4,
            "total_progression": 20,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.639,
            "bench_expected_minutes": 27.06,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0832,
            "projected_assists": 0,
            "assist_probability": 0.0451,
            "finishing_factor": 1.1077,
            "creation_factor": 0.8,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 18,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0847,
                "expected_assists": 0.0069,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 4,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 12,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 10,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0013,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 11,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0345,
                "expected_assists": 0.0652,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "tackles": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 9,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0411,
                "expected_assists": 0.0023,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 5,
                "accurate_pass": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0019,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 16,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0934,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023998,
              "match_date": "2026-04-12",
              "home_team": "Chelsea",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 67,
                "rating": 5.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0121,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 9,
                "key_pass": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024017,
              "match_date": "2026-03-21",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 20,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 7,
                "tackles": 1,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025188,
              "match_date": "2026-02-10",
              "home_team": "Chelsea",
              "away_team": "Leeds United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 64,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0631,
                "expected_assists": 0.0152,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 22,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1445,
            "combined_rank_score": 598.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 535.0,
            "sofascore_rating": 6.8286,
            "sofascore_appearances": 7.0,
            "fifa_rank": 661.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6263,
            "source_file": "data/player_rankings.csv",
            "player_name": "Estêvão",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nodirkhon Nematkhonov",
                  "ranking": 1440
                },
                {
                  "player_name": "Andrés Zanini",
                  "ranking": 1441
                },
                {
                  "player_name": "Justas Lasickas",
                  "ranking": 1442
                },
                {
                  "player_name": "Ola Aina",
                  "ranking": 1443
                },
                {
                  "player_name": "Antonio Nusa",
                  "ranking": 1444
                }
              ],
              "lower": [
                {
                  "player_name": "Shokhrukh Abdurakhmonov",
                  "ranking": 1446
                },
                {
                  "player_name": "Kuvonch Abraev",
                  "ranking": 1447
                },
                {
                  "player_name": "César Dutra",
                  "ranking": 1448
                },
                {
                  "player_name": "Samed Baždar",
                  "ranking": 1449
                },
                {
                  "player_name": "Curtis Jones",
                  "ranking": 1450
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 28,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 28,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 27.059442102489093,
            "bench_appearance_prob": 0.6390655501131406,
            "market_value_adjustment": 1.0172,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (28 historical appearances) to 27.1 expected mins (appearance prob 0.64)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0482,
                "goals": 0.0569,
                "goal_rate": 0.0569,
                "shots_on_target": 0.2365,
                "total_shots": 0.6379,
                "expected_assists": 0.0252,
                "key_pass": 0.2582,
                "rating": 6.6263,
                "minutes": 15.01,
                "total_pass": 4.7061,
                "accurate_pass": 3.8774,
                "duels_won": 0.8394,
                "total_long_balls": 0.2667,
                "accurate_long_balls": 0.1889,
                "total_opp_half_passes": 3.3001,
                "accurate_opp_half_passes": 2.6405,
                "crosses_total": 0.9343,
                "crosses_accurate": 0.2095,
                "touches": 8.4113,
                "possession_lost": 2.8055,
                "dispossessed": 0.197,
                "duels_lost": 1.1011,
                "aerial_lost": 0.0949,
                "total_contest": 0.9579,
                "won_contest": 0.3823,
                "ball_recovery": 0.4375,
                "challenges_lost": 0.1601,
                "fouls": 0.0965,
                "fouls_drawn": 0.2603,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0778,
                "tackles_won": 0.0167,
                "tackles": 0.1969,
                "clearances": 0.0337,
                "blocks": 0.0,
                "big_chances_created": 0.0504,
                "big_chances_missed": 0.0,
                "xgot": 0.0431,
                "offsides": 0.2158,
                "ball_carries": 2.859,
                "total_progression": 13.3807,
                "progressive_carries": 0.8462,
                "shots_off_target": 0.4014
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1516,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.1289,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.1095,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.0931,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.0791,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0673,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Manchester United",
                    "minutes": 16.0,
                    "is_starting": true,
                    "weight": 0.0572,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-12",
                    "opponent": "Manchester City",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0486,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-03-21",
                    "opponent": "Everton",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.0413,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-02-10",
                    "opponent": "Leeds United",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0351,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.0563,
                  "accuratePass": 5.082,
                  "totalOppositionHalfPasses": 4.3574,
                  "accurateOppositionHalfPasses": 3.4663,
                  "totalShots": 0.823
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04821637645363808,
                    "model_output": 0.0482,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0927
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0159
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0075
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0058
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0046
                        }
                      ],
                      "others": -0.0212,
                      "total": 0.0482,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.640333
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.166767
                        },
                        {
                          "name": "goals",
                          "margin": -0.089413
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.075868
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.063414
                        }
                      ],
                      "others_margin": -0.366302
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.056907981634140015,
                    "model_output": 0.0569,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1018
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.009
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0072
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0049
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0033
                        }
                      ],
                      "others": -0.0174,
                      "total": 0.0569,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.708741
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.095406
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.083885
                        },
                        {
                          "name": "goals",
                          "margin": -0.061029
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.043614
                        }
                      ],
                      "others_margin": -0.266586
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.23649194836616516,
                    "model_output": 0.2365,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2155
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0322
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0148
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0119
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0117
                        }
                      ],
                      "others": -0.033,
                      "total": 0.2365,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.518935
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.1072
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.053445
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.045224
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.044203
                        }
                      ],
                      "others_margin": -0.130468
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6379339098930359,
                    "model_output": 0.6379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4827
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1358
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0386
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.029
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0248
                        }
                      ],
                      "others": -0.139,
                      "total": 0.6379,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.482699
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.135794
                        },
                        {
                          "name": "goals",
                          "margin": -0.038603
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.029027
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.024849
                        }
                      ],
                      "others_margin": -0.138998
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.025227297097444534,
                    "model_output": 0.0252,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0202
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0049
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0033
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0028
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0025
                        }
                      ],
                      "others": -0.0054,
                      "total": 0.0252,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.377618
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.118839
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.088925
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.082105
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.08003
                        }
                      ],
                      "others_margin": -0.188238
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.2582232654094696,
                    "model_output": 0.2582,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2908
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0296
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.027
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0175
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0154
                        }
                      ],
                      "others": -0.0482,
                      "total": 0.2582,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.550674
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.077764
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.076685
                        },
                        {
                          "name": "rating",
                          "margin": -0.052945
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.048991
                        }
                      ],
                      "others_margin": -0.171067
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.626318454742432,
                    "model_output": 6.6263,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0664
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0267
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0161
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0149
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.012
                        }
                      ],
                      "others": -0.0406,
                      "total": 6.6263,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.066381
                        },
                        {
                          "name": "rating",
                          "margin": -0.026686
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.016122
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.014901
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.01205
                        }
                      ],
                      "others_margin": -0.040628
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 28,
                  "role_matches": 16,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0172, quality 0.884)",
              "stats": {
                "expected_goals": 0.049,
                "goals": 0.0579,
                "goal_rate": 0.0579,
                "shots_on_target": 0.2406,
                "total_shots": 0.6489,
                "expected_assists": 0.0257,
                "key_pass": 0.2627,
                "rating": 6.6263,
                "minutes": 15.01,
                "total_pass": 4.787,
                "accurate_pass": 3.9441,
                "duels_won": 0.8538,
                "total_long_balls": 0.2713,
                "accurate_long_balls": 0.1921,
                "total_opp_half_passes": 3.3569,
                "accurate_opp_half_passes": 2.6859,
                "crosses_total": 0.9504,
                "crosses_accurate": 0.2131,
                "touches": 8.556,
                "possession_lost": 2.8538,
                "dispossessed": 0.2004,
                "duels_lost": 1.12,
                "aerial_lost": 0.0965,
                "total_contest": 0.9744,
                "won_contest": 0.3889,
                "ball_recovery": 0.445,
                "challenges_lost": 0.1629,
                "fouls": 0.0982,
                "fouls_drawn": 0.2648,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0791,
                "tackles_won": 0.017,
                "tackles": 0.2003,
                "clearances": 0.0343,
                "blocks": 0.0,
                "big_chances_created": 0.0513,
                "big_chances_missed": 0.0,
                "xgot": 0.0438,
                "offsides": 0.2195,
                "ball_carries": 2.9082,
                "total_progression": 13.6108,
                "progressive_carries": 0.8608,
                "shots_off_target": 0.4083
              },
              "params": {
                "market_value_eur": 82000000,
                "quality_factor": 0.8837,
                "boost_factor": 1.0172,
                "reference_quality": 0.505,
                "history_matches": 28,
                "history_shrink": 0.1515,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 15.0 to 27.1 expected minutes (appearance prob 0.64)",
              "stats": {
                "expected_goals": 0.0735,
                "goals": 0.0868,
                "goal_rate": 0.0868,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0386,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0657,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06
              },
              "params": {
                "expected_minutes": 27.06,
                "projection_minutes": 15.01,
                "minutes_scale": 1.5,
                "appearance_probability": 0.639
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0735,
                "goals": 0.0868,
                "goal_rate": 0.0868,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0386,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0657,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0735,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0386,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0657,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "expected_goals": 0.0891,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0468,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0796,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1077,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 0.639
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0735,
                  "after": 0.0891
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0386,
                  "after": 0.0468
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 80.0)",
              "stats": {
                "expected_goals": 0.0891,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0468,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0796,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1077,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1445,
                "fifa_rank": 661.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.0891,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0468,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0796,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0832,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1077,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0832,
                "goal_rate": 0.0868,
                "scorer_weight": 0.0987,
                "squad_weight_total": 1.766,
                "weight_share": 0.0559,
                "finishing_factor": 1.1077,
                "appearance_weight": 0.639,
                "weight_rank": 6,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.0891,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0468,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0796,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0832,
                "projected_assists": 0,
                "assist_probability": 0.0451,
                "finishing_factor": 1.1077,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0451,
                "assist_rate": 0.0,
                "provider_weight": 0.0374,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0275,
                "creation_factor": 0.8,
                "appearance_weight": 0.639,
                "weight_rank": 9,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "substitutes": {
        "Estêvão": {
          "player_id": 1597265,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 41,
          "height": 176,
          "market_value": 82000000,
          "stats": {
            "expected_goals": 0.0891,
            "goal_rate": 0.0868,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0468,
            "key_pass": 0,
            "rating": 6.6263,
            "minutes": 27,
            "total_pass": 7,
            "accurate_pass": 6,
            "duels_won": 1,
            "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": 13,
            "possession_lost": 4.2807,
            "dispossessed": 0.2004,
            "duels_lost": 2,
            "aerial_lost": 0,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0796,
            "offsides": 0,
            "ball_carries": 4,
            "total_progression": 20,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.639,
            "bench_expected_minutes": 27.06,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0832,
            "projected_assists": 0,
            "assist_probability": 0.0451,
            "finishing_factor": 1.1077,
            "creation_factor": 0.8,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 18,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0847,
                "expected_assists": 0.0069,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 4,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 12,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363649,
              "match_date": "2026-09-18",
              "home_team": "Brentford",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Brentford",
              "stats": {
                "minutes": 10,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0013,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363641,
              "match_date": "2026-09-12",
              "home_team": "Chelsea",
              "away_team": "Hull City",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Hull City",
              "stats": {
                "minutes": 11,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0345,
                "expected_assists": 0.0652,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "tackles": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363257,
              "match_date": "2026-09-06",
              "home_team": "Arsenal",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 9,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0411,
                "expected_assists": 0.0023,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 5,
                "accurate_pass": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363244,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Fulham",
              "stats": {
                "minutes": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0019,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 16,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0934,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023998,
              "match_date": "2026-04-12",
              "home_team": "Chelsea",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 67,
                "rating": 5.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0121,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 9,
                "key_pass": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024017,
              "match_date": "2026-03-21",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 20,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0105,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 7,
                "tackles": 1,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025188,
              "match_date": "2026-02-10",
              "home_team": "Chelsea",
              "away_team": "Leeds United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 64,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0631,
                "expected_assists": 0.0152,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 22,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1445,
            "combined_rank_score": 598.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 535.0,
            "sofascore_rating": 6.8286,
            "sofascore_appearances": 7.0,
            "fifa_rank": 661.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6263,
            "source_file": "data/player_rankings.csv",
            "player_name": "Estêvão",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nodirkhon Nematkhonov",
                  "ranking": 1440
                },
                {
                  "player_name": "Andrés Zanini",
                  "ranking": 1441
                },
                {
                  "player_name": "Justas Lasickas",
                  "ranking": 1442
                },
                {
                  "player_name": "Ola Aina",
                  "ranking": 1443
                },
                {
                  "player_name": "Antonio Nusa",
                  "ranking": 1444
                }
              ],
              "lower": [
                {
                  "player_name": "Shokhrukh Abdurakhmonov",
                  "ranking": 1446
                },
                {
                  "player_name": "Kuvonch Abraev",
                  "ranking": 1447
                },
                {
                  "player_name": "César Dutra",
                  "ranking": 1448
                },
                {
                  "player_name": "Samed Baždar",
                  "ranking": 1449
                },
                {
                  "player_name": "Curtis Jones",
                  "ranking": 1450
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 28,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 28,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 27.059442102489093,
            "bench_appearance_prob": 0.6390655501131406,
            "market_value_adjustment": 1.0172,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (28 historical appearances) to 27.1 expected mins (appearance prob 0.64)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0482,
                "goals": 0.0569,
                "goal_rate": 0.0569,
                "shots_on_target": 0.2365,
                "total_shots": 0.6379,
                "expected_assists": 0.0252,
                "key_pass": 0.2582,
                "rating": 6.6263,
                "minutes": 15.01,
                "total_pass": 4.7061,
                "accurate_pass": 3.8774,
                "duels_won": 0.8394,
                "total_long_balls": 0.2667,
                "accurate_long_balls": 0.1889,
                "total_opp_half_passes": 3.3001,
                "accurate_opp_half_passes": 2.6405,
                "crosses_total": 0.9343,
                "crosses_accurate": 0.2095,
                "touches": 8.4113,
                "possession_lost": 2.8055,
                "dispossessed": 0.197,
                "duels_lost": 1.1011,
                "aerial_lost": 0.0949,
                "total_contest": 0.9579,
                "won_contest": 0.3823,
                "ball_recovery": 0.4375,
                "challenges_lost": 0.1601,
                "fouls": 0.0965,
                "fouls_drawn": 0.2603,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0778,
                "tackles_won": 0.0167,
                "tackles": 0.1969,
                "clearances": 0.0337,
                "blocks": 0.0,
                "big_chances_created": 0.0504,
                "big_chances_missed": 0.0,
                "xgot": 0.0431,
                "offsides": 0.2158,
                "ball_carries": 2.859,
                "total_progression": 13.3807,
                "progressive_carries": 0.8462,
                "shots_off_target": 0.4014
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1516,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.1289,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-18",
                    "opponent": "Brentford",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.1095,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-12",
                    "opponent": "Hull City",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.0931,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Arsenal",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.0791,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Fulham",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0673,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Manchester United",
                    "minutes": 16.0,
                    "is_starting": true,
                    "weight": 0.0572,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-12",
                    "opponent": "Manchester City",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0486,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-03-21",
                    "opponent": "Everton",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.0413,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-02-10",
                    "opponent": "Leeds United",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0351,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.0563,
                  "accuratePass": 5.082,
                  "totalOppositionHalfPasses": 4.3574,
                  "accurateOppositionHalfPasses": 3.4663,
                  "totalShots": 0.823
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.04821637645363808,
                    "model_output": 0.0482,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0927
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0159
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0075
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0058
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0046
                        }
                      ],
                      "others": -0.0212,
                      "total": 0.0482,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.640333
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.166767
                        },
                        {
                          "name": "goals",
                          "margin": -0.089413
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.075868
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.063414
                        }
                      ],
                      "others_margin": -0.366302
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.056907981634140015,
                    "model_output": 0.0569,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1018
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.009
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0072
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0049
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0033
                        }
                      ],
                      "others": -0.0174,
                      "total": 0.0569,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.708741
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.095406
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.083885
                        },
                        {
                          "name": "goals",
                          "margin": -0.061029
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.043614
                        }
                      ],
                      "others_margin": -0.266586
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.23649194836616516,
                    "model_output": 0.2365,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2155
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0322
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0148
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0119
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0117
                        }
                      ],
                      "others": -0.033,
                      "total": 0.2365,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.518935
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.1072
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.053445
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.045224
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.044203
                        }
                      ],
                      "others_margin": -0.130468
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6379339098930359,
                    "model_output": 0.6379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4827
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1358
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0386
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.029
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0248
                        }
                      ],
                      "others": -0.139,
                      "total": 0.6379,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.482699
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.135794
                        },
                        {
                          "name": "goals",
                          "margin": -0.038603
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.029027
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.024849
                        }
                      ],
                      "others_margin": -0.138998
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.025227297097444534,
                    "model_output": 0.0252,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0202
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0049
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0033
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0028
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0025
                        }
                      ],
                      "others": -0.0054,
                      "total": 0.0252,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.377618
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.118839
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.088925
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.082105
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.08003
                        }
                      ],
                      "others_margin": -0.188238
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.2582232654094696,
                    "model_output": 0.2582,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2908
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0296
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.027
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0175
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0154
                        }
                      ],
                      "others": -0.0482,
                      "total": 0.2582,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.550674
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.077764
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.076685
                        },
                        {
                          "name": "rating",
                          "margin": -0.052945
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.048991
                        }
                      ],
                      "others_margin": -0.171067
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.626318454742432,
                    "model_output": 6.6263,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0664
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0267
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0161
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0149
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.012
                        }
                      ],
                      "others": -0.0406,
                      "total": 6.6263,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.066381
                        },
                        {
                          "name": "rating",
                          "margin": -0.026686
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.016122
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.014901
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.01205
                        }
                      ],
                      "others_margin": -0.040628
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 28,
                  "role_matches": 16,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0172, quality 0.884)",
              "stats": {
                "expected_goals": 0.049,
                "goals": 0.0579,
                "goal_rate": 0.0579,
                "shots_on_target": 0.2406,
                "total_shots": 0.6489,
                "expected_assists": 0.0257,
                "key_pass": 0.2627,
                "rating": 6.6263,
                "minutes": 15.01,
                "total_pass": 4.787,
                "accurate_pass": 3.9441,
                "duels_won": 0.8538,
                "total_long_balls": 0.2713,
                "accurate_long_balls": 0.1921,
                "total_opp_half_passes": 3.3569,
                "accurate_opp_half_passes": 2.6859,
                "crosses_total": 0.9504,
                "crosses_accurate": 0.2131,
                "touches": 8.556,
                "possession_lost": 2.8538,
                "dispossessed": 0.2004,
                "duels_lost": 1.12,
                "aerial_lost": 0.0965,
                "total_contest": 0.9744,
                "won_contest": 0.3889,
                "ball_recovery": 0.445,
                "challenges_lost": 0.1629,
                "fouls": 0.0982,
                "fouls_drawn": 0.2648,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0791,
                "tackles_won": 0.017,
                "tackles": 0.2003,
                "clearances": 0.0343,
                "blocks": 0.0,
                "big_chances_created": 0.0513,
                "big_chances_missed": 0.0,
                "xgot": 0.0438,
                "offsides": 0.2195,
                "ball_carries": 2.9082,
                "total_progression": 13.6108,
                "progressive_carries": 0.8608,
                "shots_off_target": 0.4083
              },
              "params": {
                "market_value_eur": 82000000,
                "quality_factor": 0.8837,
                "boost_factor": 1.0172,
                "reference_quality": 0.505,
                "history_matches": 28,
                "history_shrink": 0.1515,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 15.0 to 27.1 expected minutes (appearance prob 0.64)",
              "stats": {
                "expected_goals": 0.0735,
                "goals": 0.0868,
                "goal_rate": 0.0868,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0386,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0657,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06
              },
              "params": {
                "expected_minutes": 27.06,
                "projection_minutes": 15.01,
                "minutes_scale": 1.5,
                "appearance_probability": 0.639
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0735,
                "goals": 0.0868,
                "goal_rate": 0.0868,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0386,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0657,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0735,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0386,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0657,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "expected_goals": 0.0891,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0468,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0796,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1077,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 0.639
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0735,
                  "after": 0.0891
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0386,
                  "after": 0.0468
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 80.0)",
              "stats": {
                "expected_goals": 0.0891,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0468,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0796,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1077,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1445,
                "fifa_rank": 661.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.0891,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0468,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0796,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0832,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1077,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0832,
                "goal_rate": 0.0868,
                "scorer_weight": 0.0987,
                "squad_weight_total": 1.766,
                "weight_share": 0.0559,
                "finishing_factor": 1.1077,
                "appearance_weight": 0.639,
                "weight_rank": 6,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.0891,
                "goal_rate": 0.0868,
                "goals": 0,
                "shots_on_target": 0.3609,
                "total_shots": 0.9734,
                "expected_assists": 0.0468,
                "key_pass": 0.3941,
                "rating": 6.6263,
                "minutes": 27.06,
                "total_pass": 7.1805,
                "accurate_pass": 5.9162,
                "duels_won": 1.2807,
                "total_long_balls": 0.4069,
                "accurate_long_balls": 0.2882,
                "total_opp_half_passes": 5.0354,
                "accurate_opp_half_passes": 4.0289,
                "crosses_total": 1.4256,
                "crosses_accurate": 0.3196,
                "touches": 12.834,
                "possession_lost": 4.2807,
                "dispossessed": 0.2004,
                "duels_lost": 1.68,
                "aerial_lost": 0.0965,
                "total_contest": 1.4616,
                "won_contest": 0.5834,
                "ball_recovery": 0.6675,
                "challenges_lost": 0.1629,
                "fouls": 0.1473,
                "fouls_drawn": 0.3972,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.1187,
                "tackles_won": 0.0255,
                "tackles": 0.3004,
                "clearances": 0.0514,
                "blocks": 0.0,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0,
                "xgot": 0.0796,
                "offsides": 0.2195,
                "ball_carries": 4.3623,
                "total_progression": 20.4162,
                "progressive_carries": 1.2912,
                "shots_off_target": 0.6124,
                "bench_appearance_probability": 0.639,
                "bench_expected_minutes": 27.06,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0832,
                "projected_assists": 0,
                "assist_probability": 0.0451,
                "finishing_factor": 1.1077,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0451,
                "assist_rate": 0.0,
                "provider_weight": 0.0374,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0275,
                "creation_factor": 0.8,
                "appearance_weight": 0.639,
                "weight_rank": 9,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Marco Palestra": {
          "player_id": 1397736,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 2,
          "height": 186,
          "market_value": 47000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0165,
            "assist_rate": 0.0351,
            "assists": 0,
            "expected_goals": 0.0419,
            "goal_rate": 0.0483,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6178,
            "minutes": 23,
            "total_pass": 5,
            "accurate_pass": 3,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 5.2911,
            "dispossessed": 0.8224,
            "duels_lost": 3,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 4,
            "total_progression": 5,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.566,
            "bench_expected_minutes": 23.46,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.364,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0404,
            "projected_assists": 0,
            "assist_probability": 0.0163,
            "finishing_factor": 1.1045,
            "creation_factor": 1.25,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363893,
              "match_date": "2026-10-24",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 25,
                "rating": 6.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 6,
                "accurate_pass": 3,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 2,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363884,
              "match_date": "2026-10-17",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 12,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363873,
              "match_date": "2026-10-10",
              "home_team": "Chelsea",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 18,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3060,
            "combined_rank_score": 1022.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 915.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1130.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6178,
            "source_file": "data/player_rankings.csv",
            "player_name": "Marco Palestra",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jun-heui Lee",
                  "ranking": 3055
                },
                {
                  "player_name": "Óscar Valentín",
                  "ranking": 3056
                },
                {
                  "player_name": "Joe Allen",
                  "ranking": 3057
                },
                {
                  "player_name": "Jorge Cuenca",
                  "ranking": 3058
                },
                {
                  "player_name": "Anthony Moris",
                  "ranking": 3059
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Gregoritsch",
                  "ranking": 3061
                },
                {
                  "player_name": "Ricardo Pepi",
                  "ranking": 3062
                },
                {
                  "player_name": "Joakim Mæhle",
                  "ranking": 3063
                },
                {
                  "player_name": "Jarell Quansah",
                  "ranking": 3064
                },
                {
                  "player_name": "Axel Disasi",
                  "ranking": 3065
                }
              ]
            }
          },
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 23.459219541136527,
            "bench_appearance_prob": 0.5663281609607511,
            "market_value_adjustment": 1.0577,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (3 historical appearances) to 23.5 expected mins (appearance prob 0.57)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.2297,
                "expected_assists": 0.0117,
                "assists": 0.0267,
                "assist_rate": 0.0267,
                "expected_goals": 0.0296,
                "goals": 0.0367,
                "goal_rate": 0.0367,
                "shots_on_target": 0.0978,
                "total_shots": 0.3452,
                "rating": 6.6178,
                "minutes": 18.84,
                "total_pass": 4.1166,
                "accurate_pass": 2.1079,
                "duels_won": 1.0583,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 3.5549,
                "accurate_own_half_passes": 2.1079,
                "total_opp_half_passes": 0.5617,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 9.4577,
                "possession_lost": 4.0175,
                "dispossessed": 0.7775,
                "duels_lost": 2.0087,
                "aerial_won": 0.2809,
                "aerial_lost": 0.2809,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.3304,
                "total_contest": 0.5617,
                "won_contest": 0.0,
                "challenges_lost": 0.3887,
                "fouls": 0.0,
                "fouls_drawn": 0.7775,
                "blocks": 0.3887,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.6783,
                "total_progression": 3.971,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2474
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 25.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Everton",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Bournemouth",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.0,
                  "creative_index": 0.0,
                  "expectedGoals": 0.0,
                  "expectedAssists": 0.0,
                  "totalOppositionHalfPasses": 0.5617
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.2297051101922989,
                    "model_output": 0.2297,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4257
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0589
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0456
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0359
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0164
                        }
                      ],
                      "others": -0.0781,
                      "total": 0.2297,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.650464
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.135546
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.119143
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.105174
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.052048
                        }
                      ],
                      "others_margin": -0.292358
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.011676843278110027,
                    "model_output": 0.0117,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0408
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0114
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0077
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0049
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.0066,
                      "total": 0.0117,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.654972
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.300099
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.269269
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.218069
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.093016
                        }
                      ],
                      "others_margin": -0.448943
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.02666916325688362,
                    "model_output": 0.0267,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0221
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0116
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.007
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0056
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0035
                        }
                      ],
                      "others": -0.0085,
                      "total": 0.0267,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.301753
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.203892
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.146756
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.134149
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.095934
                        }
                      ],
                      "others_margin": -0.276927
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.029603254050016403,
                    "model_output": 0.0296,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0341
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0208
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0065
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0044
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0029
                        }
                      ],
                      "others": 0.0011,
                      "total": 0.0296,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.46724
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.450528
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.195407
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.157796
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.106981
                        }
                      ],
                      "others_margin": 0.036297
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.03670947253704071,
                    "model_output": 0.0367,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0325
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0128
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0087
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0033
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0032
                        }
                      ],
                      "others": -0.0108,
                      "total": 0.0367,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.419302
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.230265
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.191931
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.077615
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.070426
                        }
                      ],
                      "others_margin": -0.257232
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.09776667505502701,
                    "model_output": 0.0978,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1335
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0622
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0248
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0192
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.007
                        }
                      ],
                      "others": 0.0122,
                      "total": 0.0978,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.543531
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.410449
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.226383
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.219119
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.085453
                        }
                      ],
                      "others_margin": 0.133631
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3451536297798157,
                    "model_output": 0.3452,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.337
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2444
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0445
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.036
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0313
                        }
                      ],
                      "others": 0.0543,
                      "total": 0.3452,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.336961
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.244384
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.044513
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.03601
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.031313
                        }
                      ],
                      "others_margin": 0.054226
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.617770671844482,
                    "model_output": 6.6178,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0463
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0459
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0423
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.018
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0164
                        }
                      ],
                      "others": -0.0685,
                      "total": 6.6178,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.04626
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.045916
                        },
                        {
                          "name": "rating",
                          "margin": -0.042307
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.01801
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.016407
                        }
                      ],
                      "others_margin": -0.068522
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 3,
                  "role_matches": 3,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0577, quality 0.813)",
              "stats": {
                "key_pass": 0.243,
                "expected_assists": 0.0124,
                "assists": 0.0282,
                "assist_rate": 0.0282,
                "expected_goals": 0.0313,
                "goals": 0.0388,
                "goal_rate": 0.0388,
                "shots_on_target": 0.1034,
                "total_shots": 0.3651,
                "rating": 6.6178,
                "minutes": 18.84,
                "total_pass": 4.3541,
                "accurate_pass": 2.2295,
                "duels_won": 1.1194,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 3.76,
                "accurate_own_half_passes": 2.2295,
                "total_opp_half_passes": 0.5941,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 10.0034,
                "possession_lost": 4.2493,
                "dispossessed": 0.8224,
                "duels_lost": 2.1246,
                "aerial_won": 0.2971,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.3495,
                "total_contest": 0.5941,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 0.8224,
                "blocks": 0.4111,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 2.8328,
                "total_progression": 4.2001,
                "progressive_carries": 0.0,
                "shots_off_target": 0.2617
              },
              "params": {
                "market_value_eur": 47000000,
                "quality_factor": 0.8129,
                "boost_factor": 1.0577,
                "reference_quality": 0.505,
                "history_matches": 3,
                "history_shrink": 0.625,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 18.8 to 23.5 expected minutes (appearance prob 0.57)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0154,
                "assists": 0.0351,
                "assist_rate": 0.0351,
                "expected_goals": 0.039,
                "goals": 0.0483,
                "goal_rate": 0.0483,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46
              },
              "params": {
                "expected_minutes": 23.46,
                "projection_minutes": 18.84,
                "minutes_scale": 1.2452,
                "appearance_probability": 0.566
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0154,
                "assists": 0.0351,
                "assist_rate": 0.0351,
                "expected_goals": 0.039,
                "goals": 0.0483,
                "goal_rate": 0.0483,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0154,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.039,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.66 (squad xG sum 0.8758, xG scale 1.8965, xA scale 1.8965, team xA 1.28 = 0.77 x lambda)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0165,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.0419,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1045,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.661,
                "squad_xg_sum": 0.8758,
                "squad_xa_sum": 0.6759,
                "team_expected_assists": 1.2818,
                "team_xa_to_xg_ratio": 0.7717,
                "bench_appearance_weighted": true,
                "xg_scale": 1.8965,
                "xa_scale": 1.8965,
                "opponent_lambda": 1.422,
                "scoreline_reset": true,
                "appearance_weight": 0.566
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 18 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0165,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.0419,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1045,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3060,
                "fifa_rank": 1130.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0165,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.0419,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0404,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1045,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0404,
                "goal_rate": 0.0483,
                "scorer_weight": 0.0463,
                "squad_weight_total": 1.766,
                "weight_share": 0.0262,
                "finishing_factor": 1.1045,
                "appearance_weight": 0.566,
                "weight_rank": 8,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.4673,
                    "already": 0,
                    "effective_weight": 0.4673,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3652
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3652,
                    "already": 0,
                    "effective_weight": 0.3652,
                    "runner_up": "Danny Welbeck",
                    "runner_up_effective_weight": 0.2868
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 2 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.3026,
                "expected_assists": 0.0165,
                "assist_rate": 0.0351,
                "assists": 0,
                "expected_goals": 0.0419,
                "goal_rate": 0.0483,
                "goals": 0,
                "shots_on_target": 0.1288,
                "total_shots": 0.4547,
                "rating": 6.6178,
                "minutes": 23.46,
                "total_pass": 5.4216,
                "accurate_pass": 2.7761,
                "duels_won": 1.3939,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 4.6819,
                "accurate_own_half_passes": 2.7761,
                "total_opp_half_passes": 0.7398,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 12.456,
                "possession_lost": 5.2911,
                "dispossessed": 0.8224,
                "duels_lost": 2.6455,
                "aerial_won": 0.3699,
                "aerial_lost": 0.2971,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4352,
                "total_contest": 0.7398,
                "won_contest": 0.0,
                "challenges_lost": 0.4111,
                "fouls": 0.0,
                "fouls_drawn": 1.024,
                "blocks": 0.5119,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.5274,
                "total_progression": 5.2299,
                "progressive_carries": 0.0,
                "shots_off_target": 0.3259,
                "bench_appearance_probability": 0.566,
                "bench_expected_minutes": 23.46,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.364,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0404,
                "projected_assists": 0,
                "assist_probability": 0.0163,
                "finishing_factor": 1.1045,
                "creation_factor": 1.25,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 2,
                "assists_allocated": 0,
                "assist_probability": 0.0163,
                "assist_rate": 0.0351,
                "provider_weight": 0.0206,
                "squad_weight_total": 1.3609,
                "weight_share": 0.0152,
                "creation_factor": 1.25,
                "appearance_weight": 0.566,
                "weight_rank": 10,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Cole Palmer",
                    "weight": 0.3388,
                    "already": 0,
                    "effective_weight": 0.3388,
                    "runner_up": "Pedro Neto",
                    "runner_up_effective_weight": 0.3359
                  },
                  {
                    "n": 2,
                    "player": "Pedro Neto",
                    "weight": 0.3359,
                    "already": 0,
                    "effective_weight": 0.3359,
                    "runner_up": "Jordan Henderson",
                    "runner_up_effective_weight": 0.2033,
                    "blocked_own_goal": [
                      "Cole Palmer"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 2,
        "expected_goals": 1.66,
        "expected_assists": 1.28,
        "total_shots": 10,
        "shots_on_target": 2,
        "total_passes": 406,
        "interceptions": 6,
        "tackles": 14,
        "avg_rating": 6.84,
        "possession_estimated_pct": 50.2,
        "pressing_actions_per_90": 8.4
      }
    },
    "Man Utd": {
      "formation": "4-2-3-1",
      "players": {
        "Bryan Mbeumo": {
          "player_id": 927083,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 19,
          "height": 173,
          "market_value": 73000000,
          "stats": {
            "expected_goals": 0.3808,
            "goal_rate": 0.3603,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.126,
            "key_pass": 1,
            "rating": 6.9071,
            "minutes": 87,
            "total_pass": 24,
            "accurate_pass": 20,
            "duels_won": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 14,
            "crosses_total": 3,
            "crosses_accurate": 1,
            "touches": 40,
            "possession_lost": 11.4375,
            "dispossessed": 1.1074,
            "duels_lost": 7,
            "aerial_lost": 3,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.0184,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.5191,
            "offsides": 0,
            "ball_carries": 12,
            "total_progression": 50,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9624,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "HIGH",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Josh Acheampong, Jorrel Hato",
            "opponent_faced": "Josh Acheampong, Jorrel Hato",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.3167,
            "projected_assists": 0,
            "assist_probability": 0.1184,
            "finishing_factor": 1.048,
            "creation_factor": 0.8,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2573,
                "expected_assists": 0.0438,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 30,
                "accurate_pass": 22,
                "key_pass": 2,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.6451,
                "expected_assists": 0.002,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 11,
                "accurate_pass": 5,
                "tackles": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 8.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2439,
                "expected_assists": 0.1011,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 18,
                "accurate_pass": 16,
                "key_pass": 1,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2709,
                "expected_assists": 0.2464,
                "total_shots": 5,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 38,
                "accurate_pass": 38,
                "key_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4885,
                "expected_assists": 0.0784,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 27,
                "accurate_pass": 20,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0502,
                "expected_assists": 0.0346,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 23,
                "accurate_pass": 20,
                "key_pass": 1,
                "interceptions": 3,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 1.758,
                "expected_assists": 0.2115,
                "total_shots": 5,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 23,
                "key_pass": 3,
                "tackles": 3,
                "tackles_won": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4969,
                "expected_assists": 0.2278,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 44,
                "accurate_pass": 38,
                "key_pass": 1,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 74,
                "rating": 6.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.9174,
                "expected_assists": 0.0103,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 13,
                "accurate_pass": 10,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 80,
                "rating": 6.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 2.5675,
                "expected_assists": 0.0228,
                "total_shots": 6,
                "shots_on_target": 1,
                "shots_off_target": 3,
                "total_pass": 18,
                "accurate_pass": 16,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 318,
            "combined_rank_score": 216.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 229.0,
            "sofascore_rating": 7.15,
            "sofascore_appearances": 2.0,
            "fifa_rank": 203.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9071,
            "source_file": "data/player_rankings.csv",
            "player_name": "Bryan Mbeumo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Morgan Gibbs-White",
                  "ranking": 313
                },
                {
                  "player_name": "Bojan Ciger",
                  "ranking": 314
                },
                {
                  "player_name": "Juan Musso",
                  "ranking": 315
                },
                {
                  "player_name": "Ju-kong Kim",
                  "ranking": 316
                },
                {
                  "player_name": "Jae-yong Bak",
                  "ranking": 317
                }
              ],
              "lower": [
                {
                  "player_name": "Sandzhar Kuvvatov",
                  "ranking": 319
                },
                {
                  "player_name": "Jon Ander Olasagasti",
                  "ranking": 320
                },
                {
                  "player_name": "Mario Rivas",
                  "ranking": 321
                },
                {
                  "player_name": "Nico Paz",
                  "ranking": 322
                },
                {
                  "player_name": "Unai Simón",
                  "ranking": 323
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.77,
          "history_matches": 41,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 41,
            "data_confidence": 0.77,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0121,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.5,
              "assists_per90": 0.0,
              "shots_per90": 4.5,
              "shots_on_target_pct": 33.3,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (F_service) evaluated 41 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Manchester Utd, rel: 0.13, gls/90: 0.5, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.3506,
                "goals": 0.369,
                "goal_rate": 0.369,
                "shots_on_target": 0.9142,
                "total_shots": 2.3667,
                "expected_assists": 0.1117,
                "key_pass": 1.4176,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 23.9898,
                "accurate_pass": 19.4724,
                "duels_won": 3.1231,
                "total_long_balls": 0.4171,
                "accurate_long_balls": 0.2051,
                "total_opp_half_passes": 18.0637,
                "accurate_opp_half_passes": 14.2201,
                "crosses_total": 2.4502,
                "crosses_accurate": 0.7535,
                "touches": 39.9338,
                "possession_lost": 11.3008,
                "dispossessed": 1.0942,
                "duels_lost": 6.5392,
                "aerial_lost": 2.9261,
                "total_contest": 1.892,
                "won_contest": 0.8661,
                "ball_recovery": 2.3036,
                "challenges_lost": 0.7151,
                "fouls": 0.7778,
                "fouls_drawn": 0.8957,
                "assists": 0.0184,
                "assist_rate": 0.0184,
                "interceptions": 0.4693,
                "tackles_won": 0.3904,
                "tackles": 0.6777,
                "clearances": 0.3236,
                "blocks": 0.0834,
                "big_chances_created": 0.215,
                "big_chances_missed": 0.6374,
                "xgot": 0.478,
                "offsides": 0.2711,
                "ball_carries": 11.5619,
                "total_progression": 49.6838,
                "progressive_carries": 2.2934,
                "shots_off_target": 1.4525
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 8.5
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 74.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.4977,
                  "accuratePass": 18.8642,
                  "totalOppositionHalfPasses": 17.4434,
                  "accurateOppositionHalfPasses": 13.7885,
                  "totalShots": 2.759
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.3505594730377197,
                    "model_output": 0.3506,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0691
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0569
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0252
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0193
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": 0.0123
                        }
                      ],
                      "others": 0.0105,
                      "total": 0.3506,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.30195
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.194543
                        },
                        {
                          "name": "goals",
                          "margin": 0.075474
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.057113
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": 0.036854
                        }
                      ],
                      "others_margin": 0.030026
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.3689633905887604,
                    "model_output": 0.369,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.087
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0409
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0249
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.018
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0159
                        }
                      ],
                      "others": 0.0496,
                      "total": 0.369,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.36036
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.133171
                        },
                        {
                          "name": "goals",
                          "margin": 0.072981
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.052245
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.048576
                        }
                      ],
                      "others_margin": 0.14431
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.9142090082168579,
                    "model_output": 0.9142,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1769
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0596
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0512
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0465
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.043
                        }
                      ],
                      "others": 0.0048,
                      "total": 0.9142,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.287039
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.080718
                        },
                        {
                          "name": "goals",
                          "margin": 0.064454
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.055137
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.048478
                        }
                      ],
                      "others_margin": 0.00525
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 2.366713523864746,
                    "model_output": 2.3667,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4886
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1901
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0696
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0554
                        },
                        {
                          "name": "shotOffTarget",
                          "contribution": 0.0475
                        }
                      ],
                      "others": 0.1353,
                      "total": 2.3667,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.488558
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.190057
                        },
                        {
                          "name": "goals",
                          "margin": 0.069561
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.055355
                        },
                        {
                          "name": "shotOffTarget",
                          "margin": 0.047471
                        }
                      ],
                      "others_margin": 0.135559
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.1116885393857956,
                    "model_output": 0.1117,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0126
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0129
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.009
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0079
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0063
                        }
                      ],
                      "others": 0.0145,
                      "total": 0.1117,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.179425
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.154856
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.0953
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.083124
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.066726
                        }
                      ],
                      "others_margin": 0.138849
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 1.4175691604614258,
                    "model_output": 1.4176,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.177
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.1093
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.1177
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.1216
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0936
                        }
                      ],
                      "others": 0.1117,
                      "total": 1.4176,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.229269
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.119206
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.114218
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.105704
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.074342
                        }
                      ],
                      "others_margin": 0.082009
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.9070916175842285,
                    "model_output": 6.9071,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0637
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0404
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0276
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0197
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0186
                        }
                      ],
                      "others": 0.0215,
                      "total": 6.9071,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.063729
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.040396
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": -0.027576
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.019694
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.01862
                        }
                      ],
                      "others_margin": 0.021383
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 41,
                  "role_matches": 39,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0121, quality 0.875)",
              "stats": {
                "expected_goals": 0.3548,
                "goals": 0.3734,
                "goal_rate": 0.3734,
                "shots_on_target": 0.9253,
                "total_shots": 2.3954,
                "expected_assists": 0.113,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.4798,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7872,
                "fouls_drawn": 0.9065,
                "assists": 0.0186,
                "assist_rate": 0.0186,
                "interceptions": 0.475,
                "tackles_won": 0.3951,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6451,
                "xgot": 0.4838,
                "offsides": 0.2744,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4701
              },
              "params": {
                "market_value_eur": 73000000,
                "quality_factor": 0.8747,
                "boost_factor": 1.0121,
                "reference_quality": 0.505,
                "history_matches": 41,
                "history_shrink": 0.1087,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0094)",
              "stats": {
                "expected_goals": 0.3548,
                "goals": 0.3744,
                "goal_rate": 0.3744,
                "shots_on_target": 0.9302,
                "total_shots": 2.4136,
                "expected_assists": 0.113,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.5244,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7843,
                "fouls_drawn": 0.9025,
                "assists": 0.0184,
                "assist_rate": 0.0184,
                "interceptions": 0.4705,
                "tackles_won": 0.4004,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6451,
                "xgot": 0.4838,
                "offsides": 0.2763,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4701
              },
              "params": {
                "blend_weight": 0.0094,
                "history_matches": 41,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9621,
                "prior_reliability": 0.1333,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 2.4798,
                  "after": 2.5244
                },
                {
                  "stat": "totalShots",
                  "before": 2.3954,
                  "after": 2.4136
                },
                {
                  "stat": "wonTackle",
                  "before": 0.3951,
                  "after": 0.4004
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.3548,
                "goals": 0.3744,
                "goal_rate": 0.3744,
                "shots_on_target": 0.9302,
                "total_shots": 2.4136,
                "expected_assists": 0.113,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.5244,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7843,
                "fouls_drawn": 0.9025,
                "assists": 0.0184,
                "assist_rate": 0.0184,
                "interceptions": 0.4705,
                "tackles_won": 0.4004,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6451,
                "xgot": 0.4838,
                "offsides": 0.2763,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4701
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.3415,
                "goals": 0.3603,
                "goal_rate": 0.3603,
                "shots_on_target": 0.8952,
                "total_shots": 2.3228,
                "expected_assists": 0.113,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.5244,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7843,
                "fouls_drawn": 0.9025,
                "assists": 0.0184,
                "assist_rate": 0.0184,
                "interceptions": 0.4705,
                "tackles_won": 0.4004,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6208,
                "xgot": 0.4656,
                "offsides": 0.2763,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4148,
                "duel_xg_multiplier": 0.9624,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Josh Acheampong, Jorrel Hato",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "HIGH",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.9624,
                  "skill_edge": 0.0264,
                  "height_edge": -0.052,
                  "attacker_skill": 0.8747,
                  "defender_skill": 0.8159,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Josh Acheampong",
                      "market_value": 29000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.7736
                    },
                    {
                      "player": "Jorrel Hato",
                      "market_value": 47000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.8582
                    }
                  ],
                  "xg_override": 0.3415
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 2.4136,
                  "after": 2.3228
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.4701,
                  "after": 1.4148
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.9302,
                  "after": 0.8952
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.6451,
                  "after": 0.6208
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.4838,
                  "after": 0.4656
                },
                {
                  "stat": "goals",
                  "before": 0.3744,
                  "after": 0.3603
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.3548,
                  "after": 0.3415
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.3415,
                "goal_rate": 0.3603,
                "goals": 0,
                "shots_on_target": 0.8952,
                "total_shots": 2.3228,
                "expected_assists": 0.113,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.5244,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7843,
                "fouls_drawn": 0.9025,
                "assist_rate": 0.0184,
                "assists": 0,
                "interceptions": 0.4705,
                "tackles_won": 0.4004,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6208,
                "xgot": 0.4656,
                "offsides": 0.2763,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4148,
                "duel_xg_multiplier": 0.9624,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "expected_goals": 0.3808,
                "goal_rate": 0.3603,
                "goals": 0,
                "shots_on_target": 0.8952,
                "total_shots": 2.3228,
                "expected_assists": 0.126,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.5244,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7843,
                "fouls_drawn": 0.9025,
                "assist_rate": 0.0184,
                "assists": 0,
                "interceptions": 0.4705,
                "tackles_won": 0.4004,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6208,
                "xgot": 0.5191,
                "offsides": 0.2763,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4148,
                "duel_xg_multiplier": 0.9624,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.048,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.3415,
                  "after": 0.3808
                },
                {
                  "stat": "expected_assists",
                  "before": 0.113,
                  "after": 0.126
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 7 by projected rating, fifa_overall 84.0)",
              "stats": {
                "expected_goals": 0.3808,
                "goal_rate": 0.3603,
                "goals": 0,
                "shots_on_target": 0.8952,
                "total_shots": 2.3228,
                "expected_assists": 0.126,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.5244,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7843,
                "fouls_drawn": 0.9025,
                "assist_rate": 0.0184,
                "assists": 0,
                "interceptions": 0.4705,
                "tackles_won": 0.4004,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6208,
                "xgot": 0.5191,
                "offsides": 0.2763,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4148,
                "duel_xg_multiplier": 0.9624,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.048,
                "creation_factor": 0.8,
                "fifa_overall": 84.0
              },
              "params": {
                "match_squad_rank": 7,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 318,
                "fifa_rank": 203.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.3808,
                "goal_rate": 0.3603,
                "goals": 1,
                "shots_on_target": 0.8952,
                "total_shots": 2.3228,
                "expected_assists": 0.126,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.5244,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7843,
                "fouls_drawn": 0.9025,
                "assist_rate": 0.0184,
                "assists": 0,
                "interceptions": 0.4705,
                "tackles_won": 0.4004,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6208,
                "xgot": 0.5191,
                "offsides": 0.2763,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4148,
                "duel_xg_multiplier": 0.9624,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.3167,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.048,
                "creation_factor": 0.8,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 1,
                "goal_probability": 0.3167,
                "goal_rate": 0.3603,
                "scorer_weight": 0.3991,
                "squad_weight_total": 1.4656,
                "weight_share": 0.2723,
                "finishing_factor": 1.048,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.3808,
                "goal_rate": 0.3603,
                "goals": 1,
                "shots_on_target": 0.8952,
                "total_shots": 2.3228,
                "expected_assists": 0.126,
                "key_pass": 1.4347,
                "rating": 6.9071,
                "minutes": 86.59,
                "total_pass": 24.2801,
                "accurate_pass": 19.708,
                "duels_won": 3.1609,
                "total_long_balls": 0.4221,
                "accurate_long_balls": 0.2076,
                "total_opp_half_passes": 18.2823,
                "accurate_opp_half_passes": 14.3922,
                "crosses_total": 2.5244,
                "crosses_accurate": 0.7626,
                "touches": 40.417,
                "possession_lost": 11.4375,
                "dispossessed": 1.1074,
                "duels_lost": 6.6183,
                "aerial_lost": 2.9615,
                "total_contest": 1.9149,
                "won_contest": 0.8766,
                "ball_recovery": 2.3315,
                "challenges_lost": 0.7238,
                "fouls": 0.7843,
                "fouls_drawn": 0.9025,
                "assist_rate": 0.0184,
                "assists": 0,
                "interceptions": 0.4705,
                "tackles_won": 0.4004,
                "tackles": 0.6859,
                "clearances": 0.3275,
                "blocks": 0.0844,
                "big_chances_created": 0.2176,
                "big_chances_missed": 0.6208,
                "xgot": 0.5191,
                "offsides": 0.2763,
                "ball_carries": 11.7018,
                "total_progression": 50.285,
                "progressive_carries": 2.3212,
                "shots_off_target": 1.4148,
                "duel_xg_multiplier": 0.9624,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.3167,
                "projected_assists": 0,
                "assist_probability": 0.1184,
                "finishing_factor": 1.048,
                "creation_factor": 0.8,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1184,
                "assist_rate": 0.0184,
                "provider_weight": 0.1008,
                "squad_weight_total": 0.9934,
                "weight_share": 0.1015,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Mason Mount": {
          "player_id": 836694,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 7,
          "height": 181,
          "market_value": 23000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1219,
            "assist_rate": 0.0906,
            "assists": 0,
            "expected_goals": 0.0978,
            "goal_rate": 0.0714,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.8988,
            "minutes": 77,
            "total_pass": 37,
            "accurate_pass": 30,
            "duels_won": 5,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 12,
            "accurate_own_half_passes": 10,
            "total_opp_half_passes": 24,
            "accurate_opp_half_passes": 20,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 52,
            "possession_lost": 12.9277,
            "dispossessed": 1.6418,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0722,
            "ball_carries": 12,
            "total_progression": 15,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 1.0048,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.243,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Moisés Caicedo, Jordan Henderson",
            "opponent_faced": "Moisés Caicedo, Jordan Henderson",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0932,
            "projected_assists": 0,
            "assist_probability": 0.1148,
            "finishing_factor": 0.8816,
            "creation_factor": 0.8826,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0761,
                "expected_assists": 0.1516,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 59,
                "accurate_pass": 48,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 10,
                "ball_recovery": 6,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 16,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0639,
                "expected_assists": 0.0249,
                "total_shots": 1,
                "total_pass": 13,
                "accurate_pass": 13,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 10,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0943,
                "expected_assists": 0.0078,
                "total_shots": 1,
                "total_pass": 6,
                "accurate_pass": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 74,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1347,
                "total_shots": 0,
                "total_pass": 44,
                "accurate_pass": 38,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 7,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 9,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0169,
                "expected_assists": 0.004,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 5,
                "accurate_pass": 5,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023938,
              "match_date": "2026-05-09",
              "home_team": "Sunderland",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0508,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 33,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023926,
              "match_date": "2026-04-27",
              "home_team": "Manchester United",
              "away_team": "Brentford",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Brentford",
              "stats": {
                "minutes": 16,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0252,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 9,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 9,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0056,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 9,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023997,
              "match_date": "2026-03-20",
              "home_team": "Bournemouth",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025079,
              "match_date": "2026-01-17",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2088,
            "combined_rank_score": 794.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 495.0,
            "sofascore_rating": 6.8619,
            "sofascore_appearances": 23.0,
            "fifa_rank": 1093.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8988,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mason Mount",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Matija Rom",
                  "ranking": 2083
                },
                {
                  "player_name": "Franco Rami",
                  "ranking": 2084
                },
                {
                  "player_name": "Jon Aramburu",
                  "ranking": 2085
                },
                {
                  "player_name": "Nikita Haikin",
                  "ranking": 2086
                },
                {
                  "player_name": "Santiago Mouriño",
                  "ranking": 2087
                }
              ],
              "lower": [
                {
                  "player_name": "Thomas Partey",
                  "ranking": 2089
                },
                {
                  "player_name": "Sukhrob Izzatov",
                  "ranking": 2090
                },
                {
                  "player_name": "Gyu-baeg Lee",
                  "ranking": 2091
                },
                {
                  "player_name": "Brian Oyola",
                  "ranking": 2092
                },
                {
                  "player_name": "Lee Sang-yong",
                  "ranking": 2093
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 26,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 26,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0075,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 26 historical appearances across 8 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.1135,
                "expected_assists": 0.1085,
                "assists": 0.0899,
                "assist_rate": 0.0899,
                "expected_goals": 0.0866,
                "goals": 0.0706,
                "goal_rate": 0.0706,
                "shots_on_target": 0.351,
                "total_shots": 1.154,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.365,
                "accurate_pass": 29.5274,
                "duels_won": 4.575,
                "total_long_balls": 2.693,
                "accurate_long_balls": 1.5558,
                "total_own_half_passes": 12.2508,
                "accurate_own_half_passes": 9.9897,
                "total_opp_half_passes": 24.1142,
                "accurate_opp_half_passes": 19.5377,
                "crosses_total": 2.2122,
                "crosses_accurate": 0.2754,
                "touches": 51.6131,
                "possession_lost": 12.8315,
                "dispossessed": 1.6296,
                "duels_lost": 4.901,
                "aerial_won": 0.2644,
                "aerial_lost": 0.7405,
                "interceptions": 0.8141,
                "tackles_won": 0.9998,
                "tackles": 1.913,
                "clearances": 0.5685,
                "total_contest": 1.518,
                "won_contest": 0.9541,
                "challenges_lost": 0.694,
                "fouls": 1.273,
                "fouls_drawn": 1.4435,
                "blocks": 0.1233,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0477,
                "xgot": 0.064,
                "ball_carries": 12.2154,
                "total_progression": 14.824,
                "progressive_carries": 0.5972,
                "shots_off_target": 0.803
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1522,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 16.0,
                    "is_starting": false,
                    "weight": 0.1294,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.11,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 74.0,
                    "is_starting": true,
                    "weight": 0.0935,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.0795,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0675,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Brentford",
                    "minutes": 16.0,
                    "is_starting": false,
                    "weight": 0.0574,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Chelsea",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.0488,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-03-20",
                    "opponent": "Bournemouth",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0415,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-01-17",
                    "opponent": "Manchester City",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0353,
                    "rating": 0.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.9859,
                  "creative_index": 0.3706,
                  "expectedGoals": 0.0495,
                  "expectedAssists": 0.0607,
                  "totalOppositionHalfPasses": 15.9213
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.1135493516921997,
                    "model_output": 1.1135,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1381
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0632
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.063
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0249
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0227
                        }
                      ],
                      "others": 0.1325,
                      "total": 1.1135,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.144162
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.059605
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.059425
                        },
                        {
                          "name": "duelWon_p90",
                          "margin": -0.024554
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": -0.022909
                        }
                      ],
                      "others_margin": 0.126901
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.10852234065532684,
                    "model_output": 0.1085,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0123
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0104
                        },
                        {
                          "name": "goalAssist",
                          "contribution": -0.0044
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0039
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.004
                        }
                      ],
                      "others": -0.0026,
                      "total": 0.1085,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.135034
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.101595
                        },
                        {
                          "name": "goalAssist",
                          "margin": -0.041848
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.03706
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.036515
                        }
                      ],
                      "others_margin": -0.023374
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.08988942950963974,
                    "model_output": 0.0899,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0063
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0061
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0057
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0058
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0051
                        }
                      ],
                      "others": -0.0013,
                      "total": 0.0899,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.077191
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.074387
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.064995
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.061621
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.053929
                        }
                      ],
                      "others_margin": -0.014222
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.0866108387708664,
                    "model_output": 0.0866,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0134
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.012
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0058
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0044
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0029
                        }
                      ],
                      "others": -0.0047,
                      "total": 0.0866,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.136373
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.121154
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.060893
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.0459
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.030768
                        }
                      ],
                      "others_margin": -0.053596
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.07061077654361725,
                    "model_output": 0.0706,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0148
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0109
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0057
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0043
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0028
                        }
                      ],
                      "others": -0.0077,
                      "total": 0.0706,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.169481
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.127084
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.065118
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.051546
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.035142
                        }
                      ],
                      "others_margin": -0.102339
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.3509799540042877,
                    "model_output": 0.351,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0461
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0285
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0245
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0149
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0121
                        }
                      ],
                      "others": -0.0122,
                      "total": 0.351,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.135279
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.08145
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.070487
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.040532
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.032648
                        }
                      ],
                      "others_margin": -0.034455
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.1540107727050781,
                    "model_output": 1.154,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1535
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0638
                        },
                        {
                          "name": "goalAssist",
                          "contribution": -0.0256
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0248
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0133
                        }
                      ],
                      "others": -0.0333,
                      "total": 1.154,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.153461
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.063839
                        },
                        {
                          "name": "goalAssist",
                          "margin": -0.025598
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.024753
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.013338
                        }
                      ],
                      "others_margin": -0.033216
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.898762226104736,
                    "model_output": 6.8988,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0397
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0264
                        },
                        {
                          "name": "rating",
                          "contribution": -0.014
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": 0.0128
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0074
                        }
                      ],
                      "others": -0.0139,
                      "total": 6.8988,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.039746
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.02643
                        },
                        {
                          "name": "rating",
                          "margin": -0.014027
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": 0.012799
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.00741
                        }
                      ],
                      "others_margin": -0.013969
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 26,
                  "role_matches": 13,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0075, quality 0.660)",
              "stats": {
                "key_pass": 1.1219,
                "expected_assists": 0.1093,
                "assists": 0.0906,
                "assist_rate": 0.0906,
                "expected_goals": 0.0873,
                "goals": 0.0711,
                "goal_rate": 0.0711,
                "shots_on_target": 0.3536,
                "total_shots": 1.1627,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.6377,
                "accurate_pass": 29.7489,
                "duels_won": 4.6093,
                "total_long_balls": 2.7132,
                "accurate_long_balls": 1.5675,
                "total_own_half_passes": 12.3427,
                "accurate_own_half_passes": 10.0646,
                "total_opp_half_passes": 24.2951,
                "accurate_opp_half_passes": 19.6842,
                "crosses_total": 2.2288,
                "crosses_accurate": 0.2775,
                "touches": 52.0002,
                "possession_lost": 12.9277,
                "dispossessed": 1.6418,
                "duels_lost": 4.9378,
                "aerial_won": 0.2664,
                "aerial_lost": 0.7461,
                "interceptions": 0.8202,
                "tackles_won": 1.0073,
                "tackles": 1.9273,
                "clearances": 0.5728,
                "total_contest": 1.5294,
                "won_contest": 0.9613,
                "challenges_lost": 0.6992,
                "fouls": 1.2825,
                "fouls_drawn": 1.4543,
                "blocks": 0.1242,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0481,
                "xgot": 0.0645,
                "ball_carries": 12.307,
                "total_progression": 14.9352,
                "progressive_carries": 0.6017,
                "shots_off_target": 0.809
              },
              "params": {
                "market_value_eur": 23000000,
                "quality_factor": 0.6595,
                "boost_factor": 1.0075,
                "reference_quality": 0.505,
                "history_matches": 26,
                "history_shrink": 0.1613,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.1219,
                "expected_assists": 0.1093,
                "assists": 0.0906,
                "assist_rate": 0.0906,
                "expected_goals": 0.0873,
                "goals": 0.0711,
                "goal_rate": 0.0711,
                "shots_on_target": 0.3536,
                "total_shots": 1.1627,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.6377,
                "accurate_pass": 29.7489,
                "duels_won": 4.6093,
                "total_long_balls": 2.7132,
                "accurate_long_balls": 1.5675,
                "total_own_half_passes": 12.3427,
                "accurate_own_half_passes": 10.0646,
                "total_opp_half_passes": 24.2951,
                "accurate_opp_half_passes": 19.6842,
                "crosses_total": 2.2288,
                "crosses_accurate": 0.2775,
                "touches": 52.0002,
                "possession_lost": 12.9277,
                "dispossessed": 1.6418,
                "duels_lost": 4.9378,
                "aerial_won": 0.2664,
                "aerial_lost": 0.7461,
                "interceptions": 0.8202,
                "tackles_won": 1.0073,
                "tackles": 1.9273,
                "clearances": 0.5728,
                "total_contest": 1.5294,
                "won_contest": 0.9613,
                "challenges_lost": 0.6992,
                "fouls": 1.2825,
                "fouls_drawn": 1.4543,
                "blocks": 0.1242,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0481,
                "xgot": 0.0645,
                "ball_carries": 12.307,
                "total_progression": 14.9352,
                "progressive_carries": 0.6017,
                "shots_off_target": 0.809
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.1219,
                "expected_assists": 0.1093,
                "assists": 0.0906,
                "assist_rate": 0.0906,
                "expected_goals": 0.0877,
                "goals": 0.0714,
                "goal_rate": 0.0714,
                "shots_on_target": 0.3553,
                "total_shots": 1.1683,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.6377,
                "accurate_pass": 29.7489,
                "duels_won": 4.6093,
                "total_long_balls": 2.7132,
                "accurate_long_balls": 1.5675,
                "total_own_half_passes": 12.3427,
                "accurate_own_half_passes": 10.0646,
                "total_opp_half_passes": 24.2951,
                "accurate_opp_half_passes": 19.6842,
                "crosses_total": 2.2288,
                "crosses_accurate": 0.2775,
                "touches": 52.0002,
                "possession_lost": 12.9277,
                "dispossessed": 1.6418,
                "duels_lost": 4.9378,
                "aerial_won": 1.1,
                "aerial_lost": 0.7461,
                "interceptions": 0.8202,
                "tackles_won": 1.0073,
                "tackles": 1.9273,
                "clearances": 0.5728,
                "total_contest": 1.5294,
                "won_contest": 0.9613,
                "challenges_lost": 0.6992,
                "fouls": 1.2825,
                "fouls_drawn": 1.4543,
                "blocks": 0.1242,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0483,
                "xgot": 0.0648,
                "ball_carries": 12.307,
                "total_progression": 14.9352,
                "progressive_carries": 0.6017,
                "shots_off_target": 0.8129,
                "duel_xg_multiplier": 1.0048,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.243,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Moisés Caicedo, Jordan Henderson",
                "opponent_faced": "Moisés Caicedo, Jordan Henderson",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Moisés Caicedo, Jordan Henderson",
                  "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                  "duel_win_rate": 0.243,
                  "pressing_faced": "MEDIUM",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 1.0048,
                  "skill_edge": 0.0012,
                  "height_edge": 0.002,
                  "attacker_skill": 0.6704,
                  "defender_skill": 0.6676,
                  "attacker_role": "CAM",
                  "attacker_mv_price_index": 0.95,
                  "defender_adjusted_parts": [
                    {
                      "player": "Moisés Caicedo",
                      "market_value": 104000000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.8978
                    },
                    {
                      "player": "Jordan Henderson",
                      "market_value": 1300000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.4374
                    }
                  ],
                  "xg_override": 0.0877
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.2664,
                  "after": 1.1
                },
                {
                  "stat": "totalShots",
                  "before": 1.1627,
                  "after": 1.1683
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 1.1219,
                "expected_assists": 0.1093,
                "assist_rate": 0.0906,
                "assists": 0,
                "expected_goals": 0.0877,
                "goal_rate": 0.0714,
                "goals": 0,
                "shots_on_target": 0.3553,
                "total_shots": 1.1683,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.6377,
                "accurate_pass": 29.7489,
                "duels_won": 4.6093,
                "total_long_balls": 2.7132,
                "accurate_long_balls": 1.5675,
                "total_own_half_passes": 12.3427,
                "accurate_own_half_passes": 10.0646,
                "total_opp_half_passes": 24.2951,
                "accurate_opp_half_passes": 19.6842,
                "crosses_total": 2.2288,
                "crosses_accurate": 0.2775,
                "touches": 52.0002,
                "possession_lost": 12.9277,
                "dispossessed": 1.6418,
                "duels_lost": 4.9378,
                "aerial_won": 1.1,
                "aerial_lost": 0.7461,
                "interceptions": 0.8202,
                "tackles_won": 1.0073,
                "tackles": 1.9273,
                "clearances": 0.5728,
                "total_contest": 1.5294,
                "won_contest": 0.9613,
                "challenges_lost": 0.6992,
                "fouls": 1.2825,
                "fouls_drawn": 1.4543,
                "blocks": 0.1242,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0483,
                "xgot": 0.0648,
                "ball_carries": 12.307,
                "total_progression": 14.9352,
                "progressive_carries": 0.6017,
                "shots_off_target": 0.8129,
                "duel_xg_multiplier": 1.0048,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.243,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Moisés Caicedo, Jordan Henderson",
                "opponent_faced": "Moisés Caicedo, Jordan Henderson",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "key_pass": 1.1219,
                "expected_assists": 0.1219,
                "assist_rate": 0.0906,
                "assists": 0,
                "expected_goals": 0.0978,
                "goal_rate": 0.0714,
                "goals": 0,
                "shots_on_target": 0.3553,
                "total_shots": 1.1683,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.6377,
                "accurate_pass": 29.7489,
                "duels_won": 4.6093,
                "total_long_balls": 2.7132,
                "accurate_long_balls": 1.5675,
                "total_own_half_passes": 12.3427,
                "accurate_own_half_passes": 10.0646,
                "total_opp_half_passes": 24.2951,
                "accurate_opp_half_passes": 19.6842,
                "crosses_total": 2.2288,
                "crosses_accurate": 0.2775,
                "touches": 52.0002,
                "possession_lost": 12.9277,
                "dispossessed": 1.6418,
                "duels_lost": 4.9378,
                "aerial_won": 1.1,
                "aerial_lost": 0.7461,
                "interceptions": 0.8202,
                "tackles_won": 1.0073,
                "tackles": 1.9273,
                "clearances": 0.5728,
                "total_contest": 1.5294,
                "won_contest": 0.9613,
                "challenges_lost": 0.6992,
                "fouls": 1.2825,
                "fouls_drawn": 1.4543,
                "blocks": 0.1242,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0483,
                "xgot": 0.0722,
                "ball_carries": 12.307,
                "total_progression": 14.9352,
                "progressive_carries": 0.6017,
                "shots_off_target": 0.8129,
                "duel_xg_multiplier": 1.0048,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.243,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Moisés Caicedo, Jordan Henderson",
                "opponent_faced": "Moisés Caicedo, Jordan Henderson",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8816,
                "creation_factor": 0.8826
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0877,
                  "after": 0.0978
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1093,
                  "after": 0.1219
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 9 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 1.1219,
                "expected_assists": 0.1219,
                "assist_rate": 0.0906,
                "assists": 0,
                "expected_goals": 0.0978,
                "goal_rate": 0.0714,
                "goals": 0,
                "shots_on_target": 0.3553,
                "total_shots": 1.1683,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.6377,
                "accurate_pass": 29.7489,
                "duels_won": 4.6093,
                "total_long_balls": 2.7132,
                "accurate_long_balls": 1.5675,
                "total_own_half_passes": 12.3427,
                "accurate_own_half_passes": 10.0646,
                "total_opp_half_passes": 24.2951,
                "accurate_opp_half_passes": 19.6842,
                "crosses_total": 2.2288,
                "crosses_accurate": 0.2775,
                "touches": 52.0002,
                "possession_lost": 12.9277,
                "dispossessed": 1.6418,
                "duels_lost": 4.9378,
                "aerial_won": 1.1,
                "aerial_lost": 0.7461,
                "interceptions": 0.8202,
                "tackles_won": 1.0073,
                "tackles": 1.9273,
                "clearances": 0.5728,
                "total_contest": 1.5294,
                "won_contest": 0.9613,
                "challenges_lost": 0.6992,
                "fouls": 1.2825,
                "fouls_drawn": 1.4543,
                "blocks": 0.1242,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0483,
                "xgot": 0.0722,
                "ball_carries": 12.307,
                "total_progression": 14.9352,
                "progressive_carries": 0.6017,
                "shots_off_target": 0.8129,
                "duel_xg_multiplier": 1.0048,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.243,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Moisés Caicedo, Jordan Henderson",
                "opponent_faced": "Moisés Caicedo, Jordan Henderson",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8816,
                "creation_factor": 0.8826,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 9,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2088,
                "fifa_rank": 1093.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 1.1219,
                "expected_assists": 0.1219,
                "assist_rate": 0.0906,
                "assists": 0,
                "expected_goals": 0.0978,
                "goal_rate": 0.0714,
                "goals": 0,
                "shots_on_target": 0.3553,
                "total_shots": 1.1683,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.6377,
                "accurate_pass": 29.7489,
                "duels_won": 4.6093,
                "total_long_balls": 2.7132,
                "accurate_long_balls": 1.5675,
                "total_own_half_passes": 12.3427,
                "accurate_own_half_passes": 10.0646,
                "total_opp_half_passes": 24.2951,
                "accurate_opp_half_passes": 19.6842,
                "crosses_total": 2.2288,
                "crosses_accurate": 0.2775,
                "touches": 52.0002,
                "possession_lost": 12.9277,
                "dispossessed": 1.6418,
                "duels_lost": 4.9378,
                "aerial_won": 1.1,
                "aerial_lost": 0.7461,
                "interceptions": 0.8202,
                "tackles_won": 1.0073,
                "tackles": 1.9273,
                "clearances": 0.5728,
                "total_contest": 1.5294,
                "won_contest": 0.9613,
                "challenges_lost": 0.6992,
                "fouls": 1.2825,
                "fouls_drawn": 1.4543,
                "blocks": 0.1242,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0483,
                "xgot": 0.0722,
                "ball_carries": 12.307,
                "total_progression": 14.9352,
                "progressive_carries": 0.6017,
                "shots_off_target": 0.8129,
                "duel_xg_multiplier": 1.0048,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.243,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Moisés Caicedo, Jordan Henderson",
                "opponent_faced": "Moisés Caicedo, Jordan Henderson",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0932,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8816,
                "creation_factor": 0.8826,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0932,
                "goal_rate": 0.0714,
                "scorer_weight": 0.0862,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0588,
                "finishing_factor": 0.8816,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.1219,
                "expected_assists": 0.1219,
                "assist_rate": 0.0906,
                "assists": 0,
                "expected_goals": 0.0978,
                "goal_rate": 0.0714,
                "goals": 0,
                "shots_on_target": 0.3553,
                "total_shots": 1.1683,
                "rating": 6.8988,
                "minutes": 77.33,
                "total_pass": 36.6377,
                "accurate_pass": 29.7489,
                "duels_won": 4.6093,
                "total_long_balls": 2.7132,
                "accurate_long_balls": 1.5675,
                "total_own_half_passes": 12.3427,
                "accurate_own_half_passes": 10.0646,
                "total_opp_half_passes": 24.2951,
                "accurate_opp_half_passes": 19.6842,
                "crosses_total": 2.2288,
                "crosses_accurate": 0.2775,
                "touches": 52.0002,
                "possession_lost": 12.9277,
                "dispossessed": 1.6418,
                "duels_lost": 4.9378,
                "aerial_won": 1.1,
                "aerial_lost": 0.7461,
                "interceptions": 0.8202,
                "tackles_won": 1.0073,
                "tackles": 1.9273,
                "clearances": 0.5728,
                "total_contest": 1.5294,
                "won_contest": 0.9613,
                "challenges_lost": 0.6992,
                "fouls": 1.2825,
                "fouls_drawn": 1.4543,
                "blocks": 0.1242,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0483,
                "xgot": 0.0722,
                "ball_carries": 12.307,
                "total_progression": 14.9352,
                "progressive_carries": 0.6017,
                "shots_off_target": 0.8129,
                "duel_xg_multiplier": 1.0048,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.243,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Moisés Caicedo, Jordan Henderson",
                "opponent_faced": "Moisés Caicedo, Jordan Henderson",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0932,
                "projected_assists": 0,
                "assist_probability": 0.1148,
                "finishing_factor": 0.8816,
                "creation_factor": 0.8826,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1148,
                "assist_rate": 0.0906,
                "provider_weight": 0.1076,
                "squad_weight_total": 0.9934,
                "weight_share": 0.1083,
                "creation_factor": 0.8826,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Bruno Fernandes": {
          "player_id": 288205,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 179,
          "market_value": 32000000,
          "stats": {
            "key_pass": 2,
            "expected_assists": 0.2225,
            "assist_rate": 0.2571,
            "assists": 1,
            "expected_goals": 0.2341,
            "goal_rate": 0.2723,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "rating": 7.135,
            "minutes": 90,
            "total_pass": 55,
            "accurate_pass": 45,
            "duels_won": 2,
            "total_long_balls": 7,
            "accurate_long_balls": 4,
            "total_own_half_passes": 15,
            "accurate_own_half_passes": 13,
            "total_opp_half_passes": 40,
            "accurate_opp_half_passes": 32,
            "crosses_total": 6,
            "crosses_accurate": 2,
            "touches": 73,
            "possession_lost": 18.0998,
            "dispossessed": 0.666,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.2243,
            "ball_carries": 15,
            "total_progression": 64,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9049,
            "dribbles_attempted": 4,
            "dribbles_successful": 1.5,
            "crosses_attempted": 2.4,
            "duel_win_rate": 0.415,
            "pressing_faced": "HIGH",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Wesley Fofana",
            "opponent_faced": "Wesley Fofana",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.2087,
            "projected_assists": 1,
            "assist_probability": 0.1995,
            "finishing_factor": 1.2396,
            "creation_factor": 1.2304,
            "fifa_overall": 89.0
          },
          "latest_10_games": [
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0779,
                "expected_assists": 0.0443,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 37,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0208,
                "expected_assists": 0.1391,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 45,
                "accurate_pass": 36,
                "key_pass": 2,
                "tackles": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2779,
                "expected_assists": 0.1929,
                "total_shots": 3,
                "shots_off_target": 1,
                "total_pass": 63,
                "accurate_pass": 53,
                "key_pass": 4,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0292,
                "expected_assists": 0.3259,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 59,
                "accurate_pass": 52,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1542,
                "expected_assists": 0.0615,
                "total_shots": 4,
                "shots_off_target": 2,
                "total_pass": 52,
                "accurate_pass": 43,
                "key_pass": 2,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 10.0,
                "goal_rate": 3.0,
                "goals": 3,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 2.0223,
                "expected_assists": 0.4802,
                "total_shots": 8,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 65,
                "accurate_pass": 56,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0835,
                "expected_assists": 0.2565,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 88,
                "accurate_pass": 74,
                "key_pass": 3,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 8.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0669,
                "expected_assists": 0.1451,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 54,
                "accurate_pass": 47,
                "key_pass": 4,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 8.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1944,
                "expected_assists": 0.8829,
                "total_shots": 5,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 60,
                "accurate_pass": 48,
                "key_pass": 8,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023938,
              "match_date": "2026-05-09",
              "home_team": "Sunderland",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0448,
                "expected_assists": 0.1268,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 55,
                "accurate_pass": 42,
                "key_pass": 4,
                "interceptions": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 8,
            "combined_rank_score": 14.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 8.0,
            "sofascore_rating": 8.6,
            "sofascore_appearances": 2.0,
            "fifa_rank": 20.0,
            "fifa_overall": 89.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.135,
            "source_file": "data/player_rankings.csv",
            "player_name": "Bruno Fernandes",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Erling Haaland",
                  "ranking": 3
                },
                {
                  "player_name": "Mariano Díaz",
                  "ranking": 4
                },
                {
                  "player_name": "Jude Bellingham",
                  "ranking": 5
                },
                {
                  "player_name": "Pedri",
                  "ranking": 6
                },
                {
                  "player_name": "Ryu Won-Woo",
                  "ranking": 7
                }
              ],
              "lower": [
                {
                  "player_name": "Felix Horn Myhre",
                  "ranking": 9
                },
                {
                  "player_name": "Raphinha",
                  "ranking": 10
                },
                {
                  "player_name": "Vini Jr.",
                  "ranking": 11
                },
                {
                  "player_name": "Nico López",
                  "ranking": 12
                },
                {
                  "player_name": "Harry Kane",
                  "ranking": 13
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.77,
          "history_matches": 42,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 42,
            "data_confidence": 0.77,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0072,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 1.5,
              "assists_per90": 0.5,
              "shots_per90": 5.5,
              "shots_on_target_pct": 36.4,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (M_service) evaluated 42 historical appearances across 8 target models; FBref 2026-2027 prior blended (Premier League, Manchester Utd, rel: 0.13, gls/90: 1.5, ast/90: 0.5)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 2.4463,
                "expected_assists": 0.1982,
                "assists": 0.2531,
                "assist_rate": 0.2531,
                "expected_goals": 0.2305,
                "goals": 0.2877,
                "goal_rate": 0.2877,
                "shots_on_target": 0.6842,
                "total_shots": 2.2863,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 54.784,
                "accurate_pass": 44.3296,
                "duels_won": 2.1357,
                "total_long_balls": 6.7172,
                "accurate_long_balls": 3.8483,
                "total_own_half_passes": 15.143,
                "accurate_own_half_passes": 12.9172,
                "total_opp_half_passes": 39.641,
                "accurate_opp_half_passes": 31.4124,
                "crosses_total": 6.2404,
                "crosses_accurate": 1.6983,
                "touches": 72.1069,
                "possession_lost": 17.9704,
                "dispossessed": 0.6612,
                "duels_lost": 3.8593,
                "aerial_won": 0.243,
                "aerial_lost": 0.6088,
                "interceptions": 0.3789,
                "tackles_won": 0.7561,
                "tackles": 1.1199,
                "clearances": 0.3112,
                "total_contest": 0.9807,
                "won_contest": 0.1794,
                "challenges_lost": 1.0676,
                "fouls": 0.7204,
                "fouls_drawn": 0.5936,
                "blocks": 0.1992,
                "big_chances_created": 0.4704,
                "big_chances_missed": 0.1384,
                "xgot": 0.2207,
                "ball_carries": 15.3525,
                "total_progression": 63.1265,
                "progressive_carries": 1.562,
                "shots_off_target": 1.6021
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 10.0
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 8.5
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 8.6
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 2.7315,
                  "creative_index": 1.3823,
                  "expectedGoals": 0.2559,
                  "expectedAssists": 0.2705,
                  "totalOppositionHalfPasses": 39.641
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 2.446298599243164,
                    "model_output": 2.4463,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "creative_index",
                          "contribution": 0.2302
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1546
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.1375
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.1294
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.1117
                        }
                      ],
                      "others": 0.7926,
                      "total": 2.4463,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "creative_index",
                          "margin": 0.229943
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.129249
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.102427
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.087627
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.069916
                        }
                      ],
                      "others_margin": 0.391642
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.19819779694080353,
                    "model_output": 0.1982,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0127
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0131
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0116
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0064
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0065
                        }
                      ],
                      "others": 0.063,
                      "total": 0.1982,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": 0.139629
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.125558
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.099645
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.051287
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.049315
                        }
                      ],
                      "others_margin": 0.381855
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.2530880868434906,
                    "model_output": 0.2531,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0295
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0195
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0143
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0153
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0135
                        }
                      ],
                      "others": 0.076,
                      "total": 0.2531,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.298236
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.157321
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.101407
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.097846
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.079429
                        }
                      ],
                      "others_margin": 0.35658
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.2304759919643402,
                    "model_output": 0.2305,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0454
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0327
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0211
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0107
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.01
                        }
                      ],
                      "others": 0.0392,
                      "total": 0.2305,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": 0.403265
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.214059
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.117148
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.054526
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": -0.050966
                        }
                      ],
                      "others_margin": 0.186537
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.28770482540130615,
                    "model_output": 0.2877,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0511
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0253
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0193
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0189
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.0135
                        }
                      ],
                      "others": 0.0646,
                      "total": 0.2877,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.43071
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.159935
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.106576
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.094457
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.062356
                        }
                      ],
                      "others_margin": 0.254177
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6841979026794434,
                    "model_output": 0.6842,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.1086
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0869
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0684
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.036
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0253
                        }
                      ],
                      "others": 0.0913,
                      "total": 0.6842,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.29354
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.185227
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.12496
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.059976
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.041844
                        }
                      ],
                      "others_margin": 0.143405
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 2.286248207092285,
                    "model_output": 2.2862,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.7054
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1697
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.1237
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0666
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0623
                        }
                      ],
                      "others": 0.1744,
                      "total": 2.2862,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.705367
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.169695
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.123658
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.066554
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.062301
                        }
                      ],
                      "others_margin": 0.174563
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.135036468505859,
                    "model_output": 7.135,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.0749
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0708
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0406
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0305
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0282
                        }
                      ],
                      "others": 0.116,
                      "total": 7.135,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.074883
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.070783
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.040597
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.03053
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.02824
                        }
                      ],
                      "others_margin": 0.116004
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 42,
                  "role_matches": 42,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0072, quality 0.732)",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.1996,
                "assists": 0.2549,
                "assist_rate": 0.2549,
                "expected_goals": 0.2321,
                "goals": 0.2898,
                "goal_rate": 0.2898,
                "shots_on_target": 0.6891,
                "total_shots": 2.3028,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2853,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 0.2447,
                "aerial_lost": 0.6132,
                "interceptions": 0.3816,
                "tackles_won": 0.7615,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7256,
                "fouls_drawn": 0.5979,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1394,
                "xgot": 0.2223,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.6136
              },
              "params": {
                "market_value_eur": 32000000,
                "quality_factor": 0.732,
                "boost_factor": 1.0072,
                "reference_quality": 0.505,
                "history_matches": 42,
                "history_shrink": 0.1064,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0092)",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.1996,
                "assists": 0.2571,
                "assist_rate": 0.2571,
                "expected_goals": 0.2321,
                "goals": 0.3009,
                "goal_rate": 0.3009,
                "shots_on_target": 0.7011,
                "total_shots": 2.332,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2916,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 0.2447,
                "aerial_lost": 0.6132,
                "interceptions": 0.3827,
                "tackles_won": 0.7591,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7235,
                "fouls_drawn": 0.5924,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1394,
                "xgot": 0.2223,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.6136
              },
              "params": {
                "blend_weight": 0.0092,
                "history_matches": 42,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9954,
                "prior_reliability": 0.1333,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 2.3028,
                  "after": 2.332
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.6891,
                  "after": 0.7011
                },
                {
                  "stat": "goals",
                  "before": 0.2898,
                  "after": 0.3009
                },
                {
                  "stat": "totalCross",
                  "before": 6.2853,
                  "after": 6.2916
                },
                {
                  "stat": "wasFouled",
                  "before": 0.5979,
                  "after": 0.5924
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.1996,
                "assists": 0.2571,
                "assist_rate": 0.2571,
                "expected_goals": 0.2321,
                "goals": 0.3009,
                "goal_rate": 0.3009,
                "shots_on_target": 0.7011,
                "total_shots": 2.332,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2916,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 0.2447,
                "aerial_lost": 0.6132,
                "interceptions": 0.3827,
                "tackles_won": 0.7591,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7235,
                "fouls_drawn": 0.5924,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1394,
                "xgot": 0.2223,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.6136
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.1996,
                "assists": 0.2571,
                "assist_rate": 0.2571,
                "expected_goals": 0.21,
                "goals": 0.2723,
                "goal_rate": 0.2723,
                "shots_on_target": 0.6344,
                "total_shots": 2.1102,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2916,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 1.0,
                "aerial_lost": 0.6132,
                "interceptions": 0.3827,
                "tackles_won": 0.7591,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7235,
                "fouls_drawn": 0.5924,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1261,
                "xgot": 0.2012,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.4601,
                "duel_xg_multiplier": 0.9049,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.415,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Wesley Fofana",
                "opponent_faced": "Wesley Fofana",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Wesley Fofana",
                  "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                  "duel_win_rate": 0.415,
                  "pressing_faced": "HIGH",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.9049,
                  "skill_edge": -0.0367,
                  "height_edge": -0.028,
                  "attacker_skill": 0.732,
                  "defender_skill": 0.8135,
                  "attacker_role": "LW",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Wesley Fofana",
                      "market_value": 33000000,
                      "role": "RB",
                      "price_index": 0.7,
                      "adjusted_quality": 0.8135
                    }
                  ],
                  "xg_override": 0.21
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.2447,
                  "after": 1.0
                },
                {
                  "stat": "totalShots",
                  "before": 2.332,
                  "after": 2.1102
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.6136,
                  "after": 1.4601
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7011,
                  "after": 0.6344
                },
                {
                  "stat": "goals",
                  "before": 0.3009,
                  "after": 0.2723
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.2321,
                  "after": 0.21
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.2223,
                  "after": 0.2012
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.1394,
                  "after": 0.1261
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.1996,
                "assist_rate": 0.2571,
                "assists": 0,
                "expected_goals": 0.21,
                "goal_rate": 0.2723,
                "goals": 0,
                "shots_on_target": 0.6344,
                "total_shots": 2.1102,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2916,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 1.0,
                "aerial_lost": 0.6132,
                "interceptions": 0.3827,
                "tackles_won": 0.7591,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7235,
                "fouls_drawn": 0.5924,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1261,
                "xgot": 0.2012,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.4601,
                "duel_xg_multiplier": 0.9049,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.415,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Wesley Fofana",
                "opponent_faced": "Wesley Fofana",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.2225,
                "assist_rate": 0.2571,
                "assists": 0,
                "expected_goals": 0.2341,
                "goal_rate": 0.2723,
                "goals": 0,
                "shots_on_target": 0.6344,
                "total_shots": 2.1102,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2916,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 1.0,
                "aerial_lost": 0.6132,
                "interceptions": 0.3827,
                "tackles_won": 0.7591,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7235,
                "fouls_drawn": 0.5924,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1261,
                "xgot": 0.2243,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.4601,
                "duel_xg_multiplier": 0.9049,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.415,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Wesley Fofana",
                "opponent_faced": "Wesley Fofana",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.2396,
                "creation_factor": 1.2304
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.21,
                  "after": 0.2341
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1996,
                  "after": 0.2225
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 1 by projected rating, fifa_overall 89.0)",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.2225,
                "assist_rate": 0.2571,
                "assists": 0,
                "expected_goals": 0.2341,
                "goal_rate": 0.2723,
                "goals": 0,
                "shots_on_target": 0.6344,
                "total_shots": 2.1102,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2916,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 1.0,
                "aerial_lost": 0.6132,
                "interceptions": 0.3827,
                "tackles_won": 0.7591,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7235,
                "fouls_drawn": 0.5924,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1261,
                "xgot": 0.2243,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.4601,
                "duel_xg_multiplier": 0.9049,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.415,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Wesley Fofana",
                "opponent_faced": "Wesley Fofana",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.2396,
                "creation_factor": 1.2304,
                "fifa_overall": 89.0
              },
              "params": {
                "match_squad_rank": 1,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 8,
                "fifa_rank": 20.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 89.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.2225,
                "assist_rate": 0.2571,
                "assists": 0,
                "expected_goals": 0.2341,
                "goal_rate": 0.2723,
                "goals": 0,
                "shots_on_target": 0.6344,
                "total_shots": 2.1102,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2916,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 1.0,
                "aerial_lost": 0.6132,
                "interceptions": 0.3827,
                "tackles_won": 0.7591,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7235,
                "fouls_drawn": 0.5924,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1261,
                "xgot": 0.2243,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.4601,
                "duel_xg_multiplier": 0.9049,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.415,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Wesley Fofana",
                "opponent_faced": "Wesley Fofana",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2087,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.2396,
                "creation_factor": 1.2304,
                "fifa_overall": 89.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.2087,
                "goal_rate": 0.2723,
                "scorer_weight": 0.2902,
                "squad_weight_total": 1.4656,
                "weight_share": 0.198,
                "finishing_factor": 1.2396,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 2.4639,
                "expected_assists": 0.2225,
                "assist_rate": 0.2571,
                "assists": 1,
                "expected_goals": 0.2341,
                "goal_rate": 0.2723,
                "goals": 0,
                "shots_on_target": 0.6344,
                "total_shots": 2.1102,
                "rating": 7.135,
                "minutes": 89.59,
                "total_pass": 55.1784,
                "accurate_pass": 44.6488,
                "duels_won": 2.1511,
                "total_long_balls": 6.7656,
                "accurate_long_balls": 3.876,
                "total_own_half_passes": 15.252,
                "accurate_own_half_passes": 13.0102,
                "total_opp_half_passes": 39.9264,
                "accurate_opp_half_passes": 31.6386,
                "crosses_total": 6.2916,
                "crosses_accurate": 1.7105,
                "touches": 72.6261,
                "possession_lost": 18.0998,
                "dispossessed": 0.666,
                "duels_lost": 3.8871,
                "aerial_won": 1.0,
                "aerial_lost": 0.6132,
                "interceptions": 0.3827,
                "tackles_won": 0.7591,
                "tackles": 1.128,
                "clearances": 0.3134,
                "total_contest": 0.9878,
                "won_contest": 0.1807,
                "challenges_lost": 1.0753,
                "fouls": 0.7235,
                "fouls_drawn": 0.5924,
                "blocks": 0.2006,
                "big_chances_created": 0.4738,
                "big_chances_missed": 0.1261,
                "xgot": 0.2243,
                "ball_carries": 15.463,
                "total_progression": 63.581,
                "progressive_carries": 1.5732,
                "shots_off_target": 1.4601,
                "duel_xg_multiplier": 0.9049,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.415,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Wesley Fofana",
                "opponent_faced": "Wesley Fofana",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2087,
                "projected_assists": 1,
                "assist_probability": 0.1995,
                "finishing_factor": 1.2396,
                "creation_factor": 1.2304,
                "fifa_overall": 89.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 1,
                "assist_probability": 0.1995,
                "assist_rate": 0.2571,
                "provider_weight": 0.2738,
                "squad_weight_total": 0.9934,
                "weight_share": 0.2756,
                "creation_factor": 1.2304,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Amad Diallo": {
          "player_id": 971037,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 16,
          "height": 173,
          "market_value": 44000000,
          "stats": {
            "expected_goals": 0.1355,
            "goal_rate": 0.1715,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 2,
            "expected_assists": 0.0912,
            "key_pass": 1,
            "rating": 6.8742,
            "minutes": 79,
            "total_pass": 27,
            "accurate_pass": 23,
            "duels_won": 4,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 16,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 41,
            "possession_lost": 7.7986,
            "dispossessed": 0.62,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 3,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.102,
            "assists": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1178,
            "offsides": 0,
            "ball_carries": 15,
            "total_progression": 63,
            "progressive_carries": 3,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9132,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "HIGH",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Josh Acheampong, Jorrel Hato",
            "opponent_faced": "Josh Acheampong, Jorrel Hato",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.1267,
            "projected_assists": 0,
            "assist_probability": 0.0872,
            "finishing_factor": 1.25,
            "creation_factor": 1.1533,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 78,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0223,
                "expected_assists": 0.0948,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 32,
                "accurate_pass": 28,
                "key_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 4,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0769,
                "expected_assists": 0.0218,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 23,
                "accurate_pass": 21,
                "tackles": 5,
                "tackles_won": 4,
                "clearances": 1,
                "duels_won": 7,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 59,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0569,
                "expected_assists": 0.0333,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 10,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1607,
                "expected_assists": 0.791,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 35,
                "accurate_pass": 31,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "duels_won": 2,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1239,
                "expected_assists": 0.3311,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 20,
                "accurate_pass": 17,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023938,
              "match_date": "2026-05-09",
              "home_team": "Sunderland",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 75,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0554,
                "expected_assists": 0.0438,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 19,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023939,
              "match_date": "2026-05-03",
              "home_team": "Manchester United",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0325,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 8,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023926,
              "match_date": "2026-04-27",
              "home_team": "Manchester United",
              "away_team": "Brentford",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brentford",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4818,
                "expected_assists": 0.029,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 11,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 10,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025024,
              "match_date": "2026-04-13",
              "home_team": "Manchester United",
              "away_team": "Leeds United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 70,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0437,
                "expected_assists": 0.0168,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 16,
                "tackles": 2,
                "tackles_won": 2,
                "aerial_won": 1,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1014,
            "combined_rank_score": 573.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 449.0,
            "sofascore_rating": 6.8937,
            "sofascore_appearances": 32.0,
            "fifa_rank": 698.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8742,
            "source_file": "data/player_rankings.csv",
            "player_name": "Amad Diallo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicolás González",
                  "ranking": 1009
                },
                {
                  "player_name": "Alejandro Francés",
                  "ranking": 1010
                },
                {
                  "player_name": "Mohammed Kudus",
                  "ranking": 1011
                },
                {
                  "player_name": "Nicolas Seiwald",
                  "ranking": 1012
                },
                {
                  "player_name": "Mateus Fernandes",
                  "ranking": 1013
                }
              ],
              "lower": [
                {
                  "player_name": "Dani Parejo",
                  "ranking": 1015
                },
                {
                  "player_name": "Giovanni Di Lorenzo",
                  "ranking": 1016
                },
                {
                  "player_name": "Min-hyeok Kim",
                  "ranking": 1017
                },
                {
                  "player_name": "Tim Hartzell",
                  "ranking": 1018
                },
                {
                  "player_name": "Dae-kwang Lee",
                  "ranking": 1019
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 35,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 35,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0111,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 35 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1317,
                "goals": 0.1857,
                "goal_rate": 0.1857,
                "shots_on_target": 0.5369,
                "total_shots": 1.7396,
                "expected_assists": 0.0809,
                "key_pass": 0.9251,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.2502,
                "accurate_pass": 23.1716,
                "duels_won": 3.9364,
                "total_long_balls": 0.3925,
                "accurate_long_balls": 0.328,
                "total_opp_half_passes": 17.9435,
                "accurate_opp_half_passes": 15.5729,
                "crosses_total": 0.9589,
                "crosses_accurate": 0.1438,
                "touches": 40.6416,
                "possession_lost": 7.713,
                "dispossessed": 0.6132,
                "duels_lost": 3.6622,
                "aerial_lost": 0.5127,
                "total_contest": 2.5296,
                "won_contest": 1.1276,
                "ball_recovery": 3.5086,
                "challenges_lost": 0.3582,
                "fouls": 0.8059,
                "fouls_drawn": 1.1272,
                "assists": 0.1009,
                "assist_rate": 0.1009,
                "interceptions": 0.6712,
                "tackles_won": 1.0422,
                "tackles": 1.374,
                "clearances": 0.5197,
                "blocks": 0.0713,
                "big_chances_created": 0.2137,
                "big_chances_missed": 0.1342,
                "xgot": 0.1145,
                "offsides": 0.4312,
                "ball_carries": 14.9842,
                "total_progression": 61.9322,
                "progressive_carries": 3.0566,
                "shots_off_target": 1.2027
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 78.0,
                    "is_starting": true,
                    "weight": 0.1505,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1279,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.1087,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0924,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Sunderland",
                    "minutes": 75.0,
                    "is_starting": true,
                    "weight": 0.0668,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-03",
                    "opponent": "Liverpool FC",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0568,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Brentford",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Chelsea",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-13",
                    "opponent": "Leeds United",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0349,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.1017,
                  "accuratePass": 20.2438,
                  "totalOppositionHalfPasses": 16.0974,
                  "accurateOppositionHalfPasses": 13.8567,
                  "totalShots": 1.574
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13168556988239288,
                    "model_output": 0.1317,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0571
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0442
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0268
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0127
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0093
                        }
                      ],
                      "others": -0.0283,
                      "total": 0.1317,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.25575
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.191954
                        },
                        {
                          "name": "goals",
                          "margin": -0.137237
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.072382
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.056245
                        }
                      ],
                      "others_margin": -0.195312
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.18569481372833252,
                    "model_output": 0.1857,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0669
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0332
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0288
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0128
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0051
                        }
                      ],
                      "others": -0.012,
                      "total": 0.1857,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.288064
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.132767
                        },
                        {
                          "name": "goals",
                          "margin": -0.131374
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.064515
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.026256
                        }
                      ],
                      "others_margin": -0.062256
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.536910355091095,
                    "model_output": 0.5369,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1348
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0666
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0396
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0206
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0107
                        }
                      ],
                      "others": -0.014,
                      "total": 0.5369,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.225717
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.105196
                        },
                        {
                          "name": "goals",
                          "margin": -0.068149
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.037411
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.019609
                        }
                      ],
                      "others_margin": -0.025723
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.7395806312561035,
                    "model_output": 1.7396,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4332
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1249
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0838
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0654
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0613
                        }
                      ],
                      "others": 0.0118,
                      "total": 1.7396,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.433207
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.124898
                        },
                        {
                          "name": "goals",
                          "margin": -0.083783
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.065376
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.061264
                        }
                      ],
                      "others_margin": 0.011748
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0808735266327858,
                    "model_output": 0.0809,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0112
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.007
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0067
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0073
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0068
                        }
                      ],
                      "others": 0.0052,
                      "total": 0.0809,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.160143
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.096792
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.093587
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.092354
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.085895
                        }
                      ],
                      "others_margin": 0.065808
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.9251169562339783,
                    "model_output": 0.9251,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1761
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.09
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0707
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0604
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.055
                        }
                      ],
                      "others": 0.087,
                      "total": 0.9251,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.228296
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.110149
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.087515
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.074309
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.067924
                        }
                      ],
                      "others_margin": 0.098692
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.874167442321777,
                    "model_output": 6.8742,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0588
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0193
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": -0.018
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0177
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0156
                        }
                      ],
                      "others": 0.01,
                      "total": 6.8742,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.058767
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.019284
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": -0.018026
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.017693
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.015604
                        }
                      ],
                      "others_margin": 0.009998
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 35,
                  "role_matches": 30,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0111, quality 0.800)",
              "stats": {
                "expected_goals": 0.1331,
                "goals": 0.1878,
                "goal_rate": 0.1878,
                "shots_on_target": 0.5429,
                "total_shots": 1.7589,
                "expected_assists": 0.0818,
                "key_pass": 0.9354,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.5416,
                "accurate_pass": 23.4288,
                "duels_won": 3.9801,
                "total_long_balls": 0.3969,
                "accurate_long_balls": 0.3316,
                "total_opp_half_passes": 18.1427,
                "accurate_opp_half_passes": 15.7458,
                "crosses_total": 0.9695,
                "crosses_accurate": 0.1454,
                "touches": 41.0927,
                "possession_lost": 7.7986,
                "dispossessed": 0.62,
                "duels_lost": 3.7029,
                "aerial_lost": 0.5184,
                "total_contest": 2.5577,
                "won_contest": 1.1401,
                "ball_recovery": 3.5475,
                "challenges_lost": 0.3622,
                "fouls": 0.8148,
                "fouls_drawn": 1.1397,
                "assists": 0.102,
                "assist_rate": 0.102,
                "interceptions": 0.6787,
                "tackles_won": 1.0538,
                "tackles": 1.3893,
                "clearances": 0.5255,
                "blocks": 0.0721,
                "big_chances_created": 0.2161,
                "big_chances_missed": 0.1357,
                "xgot": 0.1158,
                "offsides": 0.436,
                "ball_carries": 15.1505,
                "total_progression": 62.6196,
                "progressive_carries": 3.0905,
                "shots_off_target": 1.216
              },
              "params": {
                "market_value_eur": 44000000,
                "quality_factor": 0.8002,
                "boost_factor": 1.0111,
                "reference_quality": 0.505,
                "history_matches": 35,
                "history_shrink": 0.125,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1331,
                "goals": 0.1878,
                "goal_rate": 0.1878,
                "shots_on_target": 0.5429,
                "total_shots": 1.7589,
                "expected_assists": 0.0818,
                "key_pass": 0.9354,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.5416,
                "accurate_pass": 23.4288,
                "duels_won": 3.9801,
                "total_long_balls": 0.3969,
                "accurate_long_balls": 0.3316,
                "total_opp_half_passes": 18.1427,
                "accurate_opp_half_passes": 15.7458,
                "crosses_total": 0.9695,
                "crosses_accurate": 0.1454,
                "touches": 41.0927,
                "possession_lost": 7.7986,
                "dispossessed": 0.62,
                "duels_lost": 3.7029,
                "aerial_lost": 0.5184,
                "total_contest": 2.5577,
                "won_contest": 1.1401,
                "ball_recovery": 3.5475,
                "challenges_lost": 0.3622,
                "fouls": 0.8148,
                "fouls_drawn": 1.1397,
                "assists": 0.102,
                "assist_rate": 0.102,
                "interceptions": 0.6787,
                "tackles_won": 1.0538,
                "tackles": 1.3893,
                "clearances": 0.5255,
                "blocks": 0.0721,
                "big_chances_created": 0.2161,
                "big_chances_missed": 0.1357,
                "xgot": 0.1158,
                "offsides": 0.436,
                "ball_carries": 15.1505,
                "total_progression": 62.6196,
                "progressive_carries": 3.0905,
                "shots_off_target": 1.216
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": true
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1215,
                "goals": 0.1715,
                "goal_rate": 0.1715,
                "shots_on_target": 0.4958,
                "total_shots": 1.6063,
                "expected_assists": 0.0818,
                "key_pass": 0.9354,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.5416,
                "accurate_pass": 23.4288,
                "duels_won": 3.9801,
                "total_long_balls": 0.3969,
                "accurate_long_balls": 0.3316,
                "total_opp_half_passes": 18.1427,
                "accurate_opp_half_passes": 15.7458,
                "crosses_total": 0.9695,
                "crosses_accurate": 0.1454,
                "touches": 41.0927,
                "possession_lost": 7.7986,
                "dispossessed": 0.62,
                "duels_lost": 3.7029,
                "aerial_lost": 0.5184,
                "total_contest": 2.5577,
                "won_contest": 1.1401,
                "ball_recovery": 3.5475,
                "challenges_lost": 0.3622,
                "fouls": 0.8148,
                "fouls_drawn": 1.1397,
                "assists": 0.102,
                "assist_rate": 0.102,
                "interceptions": 0.6787,
                "tackles_won": 1.0538,
                "tackles": 1.3893,
                "clearances": 0.5255,
                "blocks": 0.0721,
                "big_chances_created": 0.2161,
                "big_chances_missed": 0.1239,
                "xgot": 0.1057,
                "offsides": 0.436,
                "ball_carries": 15.1505,
                "total_progression": 62.6196,
                "progressive_carries": 3.0905,
                "shots_off_target": 1.1105,
                "duel_xg_multiplier": 0.9132,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Josh Acheampong, Jorrel Hato",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "HIGH",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.9132,
                  "skill_edge": -0.0071,
                  "height_edge": -0.052,
                  "attacker_skill": 0.8002,
                  "defender_skill": 0.8159,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Josh Acheampong",
                      "market_value": 29000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.7736
                    },
                    {
                      "player": "Jorrel Hato",
                      "market_value": 47000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.8582
                    }
                  ],
                  "xg_override": 0.1215
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.7589,
                  "after": 1.6063
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.216,
                  "after": 1.1105
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5429,
                  "after": 0.4958
                },
                {
                  "stat": "goals",
                  "before": 0.1878,
                  "after": 0.1715
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.1357,
                  "after": 0.1239
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1331,
                  "after": 0.1215
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.1158,
                  "after": 0.1057
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1215,
                "goal_rate": 0.1715,
                "goals": 0,
                "shots_on_target": 0.4958,
                "total_shots": 1.6063,
                "expected_assists": 0.0818,
                "key_pass": 0.9354,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.5416,
                "accurate_pass": 23.4288,
                "duels_won": 3.9801,
                "total_long_balls": 0.3969,
                "accurate_long_balls": 0.3316,
                "total_opp_half_passes": 18.1427,
                "accurate_opp_half_passes": 15.7458,
                "crosses_total": 0.9695,
                "crosses_accurate": 0.1454,
                "touches": 41.0927,
                "possession_lost": 7.7986,
                "dispossessed": 0.62,
                "duels_lost": 3.7029,
                "aerial_lost": 0.5184,
                "total_contest": 2.5577,
                "won_contest": 1.1401,
                "ball_recovery": 3.5475,
                "challenges_lost": 0.3622,
                "fouls": 0.8148,
                "fouls_drawn": 1.1397,
                "assist_rate": 0.102,
                "assists": 0,
                "interceptions": 0.6787,
                "tackles_won": 1.0538,
                "tackles": 1.3893,
                "clearances": 0.5255,
                "blocks": 0.0721,
                "big_chances_created": 0.2161,
                "big_chances_missed": 0.1239,
                "xgot": 0.1057,
                "offsides": 0.436,
                "ball_carries": 15.1505,
                "total_progression": 62.6196,
                "progressive_carries": 3.0905,
                "shots_off_target": 1.1105,
                "duel_xg_multiplier": 0.9132,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "expected_goals": 0.1355,
                "goal_rate": 0.1715,
                "goals": 0,
                "shots_on_target": 0.4958,
                "total_shots": 1.6063,
                "expected_assists": 0.0912,
                "key_pass": 0.9354,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.5416,
                "accurate_pass": 23.4288,
                "duels_won": 3.9801,
                "total_long_balls": 0.3969,
                "accurate_long_balls": 0.3316,
                "total_opp_half_passes": 18.1427,
                "accurate_opp_half_passes": 15.7458,
                "crosses_total": 0.9695,
                "crosses_accurate": 0.1454,
                "touches": 41.0927,
                "possession_lost": 7.7986,
                "dispossessed": 0.62,
                "duels_lost": 3.7029,
                "aerial_lost": 0.5184,
                "total_contest": 2.5577,
                "won_contest": 1.1401,
                "ball_recovery": 3.5475,
                "challenges_lost": 0.3622,
                "fouls": 0.8148,
                "fouls_drawn": 1.1397,
                "assist_rate": 0.102,
                "assists": 0,
                "interceptions": 0.6787,
                "tackles_won": 1.0538,
                "tackles": 1.3893,
                "clearances": 0.5255,
                "blocks": 0.0721,
                "big_chances_created": 0.2161,
                "big_chances_missed": 0.1239,
                "xgot": 0.1178,
                "offsides": 0.436,
                "ball_carries": 15.1505,
                "total_progression": 62.6196,
                "progressive_carries": 3.0905,
                "shots_off_target": 1.1105,
                "duel_xg_multiplier": 0.9132,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.1533
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1215,
                  "after": 0.1355
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0818,
                  "after": 0.0912
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 11 by projected rating, fifa_overall 80.0)",
              "stats": {
                "expected_goals": 0.1355,
                "goal_rate": 0.1715,
                "goals": 0,
                "shots_on_target": 0.4958,
                "total_shots": 1.6063,
                "expected_assists": 0.0912,
                "key_pass": 0.9354,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.5416,
                "accurate_pass": 23.4288,
                "duels_won": 3.9801,
                "total_long_balls": 0.3969,
                "accurate_long_balls": 0.3316,
                "total_opp_half_passes": 18.1427,
                "accurate_opp_half_passes": 15.7458,
                "crosses_total": 0.9695,
                "crosses_accurate": 0.1454,
                "touches": 41.0927,
                "possession_lost": 7.7986,
                "dispossessed": 0.62,
                "duels_lost": 3.7029,
                "aerial_lost": 0.5184,
                "total_contest": 2.5577,
                "won_contest": 1.1401,
                "ball_recovery": 3.5475,
                "challenges_lost": 0.3622,
                "fouls": 0.8148,
                "fouls_drawn": 1.1397,
                "assist_rate": 0.102,
                "assists": 0,
                "interceptions": 0.6787,
                "tackles_won": 1.0538,
                "tackles": 1.3893,
                "clearances": 0.5255,
                "blocks": 0.0721,
                "big_chances_created": 0.2161,
                "big_chances_missed": 0.1239,
                "xgot": 0.1178,
                "offsides": 0.436,
                "ball_carries": 15.1505,
                "total_progression": 62.6196,
                "progressive_carries": 3.0905,
                "shots_off_target": 1.1105,
                "duel_xg_multiplier": 0.9132,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.1533,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1014,
                "fifa_rank": 698.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.1355,
                "goal_rate": 0.1715,
                "goals": 0,
                "shots_on_target": 0.4958,
                "total_shots": 1.6063,
                "expected_assists": 0.0912,
                "key_pass": 0.9354,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.5416,
                "accurate_pass": 23.4288,
                "duels_won": 3.9801,
                "total_long_balls": 0.3969,
                "accurate_long_balls": 0.3316,
                "total_opp_half_passes": 18.1427,
                "accurate_opp_half_passes": 15.7458,
                "crosses_total": 0.9695,
                "crosses_accurate": 0.1454,
                "touches": 41.0927,
                "possession_lost": 7.7986,
                "dispossessed": 0.62,
                "duels_lost": 3.7029,
                "aerial_lost": 0.5184,
                "total_contest": 2.5577,
                "won_contest": 1.1401,
                "ball_recovery": 3.5475,
                "challenges_lost": 0.3622,
                "fouls": 0.8148,
                "fouls_drawn": 1.1397,
                "assist_rate": 0.102,
                "assists": 0,
                "interceptions": 0.6787,
                "tackles_won": 1.0538,
                "tackles": 1.3893,
                "clearances": 0.5255,
                "blocks": 0.0721,
                "big_chances_created": 0.2161,
                "big_chances_missed": 0.1239,
                "xgot": 0.1178,
                "offsides": 0.436,
                "ball_carries": 15.1505,
                "total_progression": 62.6196,
                "progressive_carries": 3.0905,
                "shots_off_target": 1.1105,
                "duel_xg_multiplier": 0.9132,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.1267,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.1533,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1267,
                "goal_rate": 0.1715,
                "scorer_weight": 0.1694,
                "squad_weight_total": 1.4656,
                "weight_share": 0.1156,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1355,
                "goal_rate": 0.1715,
                "goals": 0,
                "shots_on_target": 0.4958,
                "total_shots": 1.6063,
                "expected_assists": 0.0912,
                "key_pass": 0.9354,
                "rating": 6.8742,
                "minutes": 79.07,
                "total_pass": 26.5416,
                "accurate_pass": 23.4288,
                "duels_won": 3.9801,
                "total_long_balls": 0.3969,
                "accurate_long_balls": 0.3316,
                "total_opp_half_passes": 18.1427,
                "accurate_opp_half_passes": 15.7458,
                "crosses_total": 0.9695,
                "crosses_accurate": 0.1454,
                "touches": 41.0927,
                "possession_lost": 7.7986,
                "dispossessed": 0.62,
                "duels_lost": 3.7029,
                "aerial_lost": 0.5184,
                "total_contest": 2.5577,
                "won_contest": 1.1401,
                "ball_recovery": 3.5475,
                "challenges_lost": 0.3622,
                "fouls": 0.8148,
                "fouls_drawn": 1.1397,
                "assist_rate": 0.102,
                "assists": 0,
                "interceptions": 0.6787,
                "tackles_won": 1.0538,
                "tackles": 1.3893,
                "clearances": 0.5255,
                "blocks": 0.0721,
                "big_chances_created": 0.2161,
                "big_chances_missed": 0.1239,
                "xgot": 0.1178,
                "offsides": 0.436,
                "ball_carries": 15.1505,
                "total_progression": 62.6196,
                "progressive_carries": 3.0905,
                "shots_off_target": 1.1105,
                "duel_xg_multiplier": 0.9132,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Josh Acheampong, Jorrel Hato",
                "opponent_faced": "Josh Acheampong, Jorrel Hato",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.1267,
                "projected_assists": 0,
                "assist_probability": 0.0872,
                "finishing_factor": 1.25,
                "creation_factor": 1.1533,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0872,
                "assist_rate": 0.102,
                "provider_weight": 0.1052,
                "squad_weight_total": 0.9934,
                "weight_share": 0.1059,
                "creation_factor": 1.1533,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Carlos Baleba": {
          "player_id": 1199043,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 20,
          "height": 179,
          "market_value": 63000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.044,
            "assist_rate": 0.052,
            "assists": 0,
            "expected_goals": 0.0632,
            "goal_rate": 0.0547,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.8472,
            "minutes": 74,
            "total_pass": 36,
            "accurate_pass": 31,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 19,
            "accurate_own_half_passes": 18,
            "total_opp_half_passes": 16,
            "accurate_opp_half_passes": 13,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 49,
            "possession_lost": 7.6311,
            "dispossessed": 1.0088,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0211,
            "ball_carries": 14,
            "total_progression": 21,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9915,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.414,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Moisés Caicedo",
            "opponent_faced": "Moisés Caicedo",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0612,
            "projected_assists": 0,
            "assist_probability": 0.043,
            "finishing_factor": 0.9813,
            "creation_factor": 1.1397,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 72,
                "rating": 6.6,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0458,
                "expected_assists": 0.0199,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 48,
                "accurate_pass": 42,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 2,
                "ball_recovery": 5,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 74,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0077,
                "expected_assists": 0.007,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 26,
                "accurate_pass": 23,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 31,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0562,
                "expected_assists": 0.0055,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 19,
                "accurate_pass": 17,
                "key_pass": 2,
                "tackles": 2,
                "interceptions": 3,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Brighton & Hove Albion",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 31,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.029,
                "expected_assists": 0.0522,
                "total_shots": 1,
                "total_pass": 19,
                "accurate_pass": 15,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023954,
              "match_date": "2026-05-17",
              "home_team": "Leeds United",
              "away_team": "Brighton & Hove Albion",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Brighton & Hove Albion",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 82,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0599,
                "expected_assists": 0.0241,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 37,
                "accurate_pass": 31,
                "key_pass": 1,
                "clearances": 4,
                "aerial_won": 6,
                "duels_won": 8,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023935,
              "match_date": "2026-05-09",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Wolverhampton",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Brighton & Hove Albion",
              "opponent": "Wolverhampton",
              "stats": {
                "minutes": 76,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.085,
                "expected_assists": 0.0096,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 49,
                "accurate_pass": 44,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 2,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023949,
              "match_date": "2026-05-02",
              "home_team": "Newcastle United",
              "away_team": "Brighton & Hove Albion",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Brighton & Hove Albion",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 80,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0399,
                "expected_assists": 0.0285,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 32,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 7,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024001,
              "match_date": "2026-04-21",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Brighton & Hove Albion",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.3317,
                "total_shots": 0,
                "total_pass": 46,
                "accurate_pass": 41,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024002,
              "match_date": "2026-04-11",
              "home_team": "Burnley",
              "away_team": "Brighton & Hove Albion",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Brighton & Hove Albion",
              "opponent": "Burnley",
              "stats": {
                "minutes": 15,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0026,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "interceptions": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024015,
              "match_date": "2026-03-21",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Brighton & Hove Albion",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 14,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1907,
            "combined_rank_score": 737.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 775.0,
            "sofascore_rating": 6.64,
            "sofascore_appearances": 31.0,
            "fifa_rank": 700.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8472,
            "source_file": "data/player_rankings.csv",
            "player_name": "Carlos Baleba",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Santi Comesaña",
                  "ranking": 1902
                },
                {
                  "player_name": "Federico Lanzillotta",
                  "ranking": 1903
                },
                {
                  "player_name": "Dong-su Lee",
                  "ranking": 1904
                },
                {
                  "player_name": "Armand Laurienté",
                  "ranking": 1905
                },
                {
                  "player_name": "Álex Jiménez",
                  "ranking": 1906
                }
              ],
              "lower": [
                {
                  "player_name": "Ibrahim Sangaré",
                  "ranking": 1908
                },
                {
                  "player_name": "Ramy Najjarine",
                  "ranking": 1909
                },
                {
                  "player_name": "Pape Matar Sarr",
                  "ranking": 1910
                },
                {
                  "player_name": "Christian Moreno",
                  "ranking": 1911
                },
                {
                  "player_name": "Juan Fuentes",
                  "ranking": 1912
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 34,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 34,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0136,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 34 historical appearances across 8 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.5907,
                "expected_assists": 0.039,
                "assists": 0.0513,
                "assist_rate": 0.0513,
                "expected_goals": 0.0564,
                "goals": 0.0545,
                "goal_rate": 0.0545,
                "shots_on_target": 0.202,
                "total_shots": 0.8907,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.3916,
                "accurate_pass": 30.7646,
                "duels_won": 4.2349,
                "total_long_balls": 2.7198,
                "accurate_long_balls": 1.4741,
                "total_own_half_passes": 19.2358,
                "accurate_own_half_passes": 17.8167,
                "total_opp_half_passes": 16.1557,
                "accurate_opp_half_passes": 12.9479,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 47.997,
                "possession_lost": 7.5287,
                "dispossessed": 0.9953,
                "duels_lost": 4.1613,
                "aerial_won": 1.3332,
                "aerial_lost": 1.0017,
                "interceptions": 1.3482,
                "tackles_won": 0.9255,
                "tackles": 1.3427,
                "clearances": 1.2722,
                "total_contest": 0.955,
                "won_contest": 0.5018,
                "challenges_lost": 0.6352,
                "fouls": 1.076,
                "fouls_drawn": 1.0572,
                "blocks": 0.38,
                "big_chances_created": 0.0769,
                "big_chances_missed": 0.0608,
                "xgot": 0.0188,
                "ball_carries": 13.8261,
                "total_progression": 21.1989,
                "progressive_carries": 0.5035,
                "shots_off_target": 0.6887
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1506,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 74.0,
                    "is_starting": true,
                    "weight": 0.128,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 31.0,
                    "is_starting": false,
                    "weight": 0.1088,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Manchester United",
                    "minutes": 31.0,
                    "is_starting": false,
                    "weight": 0.0925,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Leeds United",
                    "minutes": 82.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Wolverhampton",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.0668,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Newcastle United",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-04-21",
                    "opponent": "Chelsea",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-04-11",
                    "opponent": "Burnley",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-03-21",
                    "opponent": "Liverpool FC",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.0349,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.9858,
                  "creative_index": 0.2618,
                  "expectedGoals": 0.0374,
                  "expectedAssists": 0.0313,
                  "totalOppositionHalfPasses": 13.9837
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5906537175178528,
                    "model_output": 0.5907,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.1047
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0909
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0784
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0672
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0526
                        }
                      ],
                      "others": -0.0626,
                      "total": 0.5907,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.125102
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.122996
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.106961
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.090949
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.077512
                        }
                      ],
                      "others_margin": -0.100701
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03896535560488701,
                    "model_output": 0.039,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0188
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0129
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0077
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0064
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0029
                        }
                      ],
                      "others": -0.0126,
                      "total": 0.039,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.249632
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.217396
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.135719
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.110559
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.054842
                        }
                      ],
                      "others_margin": -0.282594
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.05134664103388786,
                    "model_output": 0.0513,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0127
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0074
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.007
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0044
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0041
                        }
                      ],
                      "others": -0.0129,
                      "total": 0.0513,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.161925
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.09689
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.091614
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.061906
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.061776
                        }
                      ],
                      "others_margin": -0.223988
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.05639076232910156,
                    "model_output": 0.0564,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0116
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0113
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0111
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0083
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0039
                        }
                      ],
                      "others": -0.0114,
                      "total": 0.0564,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.135684
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.13271
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.12922
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.109763
                        },
                        {
                          "name": "goals",
                          "margin": -0.056159
                        }
                      ],
                      "others_margin": -0.185157
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.05447360873222351,
                    "model_output": 0.0545,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0182
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0112
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0076
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0042
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0036
                        }
                      ],
                      "others": -0.0109,
                      "total": 0.0545,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.213093
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.158336
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.109205
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.059182
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.054017
                        }
                      ],
                      "others_margin": -0.180588
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.20196868479251862,
                    "model_output": 0.202,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0497
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0397
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0327
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0221
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.016
                        }
                      ],
                      "others": -0.0535,
                      "total": 0.202,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.16986
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.15975
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.133461
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.088335
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.064556
                        }
                      ],
                      "others_margin": -0.234942
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.8906757235527039,
                    "model_output": 0.8907,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1324
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0521
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0499
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0305
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.028
                        }
                      ],
                      "others": -0.1213,
                      "total": 0.8907,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.132385
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.052055
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.04994
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.030461
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.027971
                        }
                      ],
                      "others_margin": -0.121334
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.847248077392578,
                    "model_output": 6.8472,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.034
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0186
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0163
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0148
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0102
                        }
                      ],
                      "others": -0.0025,
                      "total": 6.8472,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.034003
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.018598
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.016267
                        },
                        {
                          "name": "rating",
                          "margin": -0.014791
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.010169
                        }
                      ],
                      "others_margin": -0.002465
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 34,
                  "role_matches": 25,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0136, quality 0.859)",
              "stats": {
                "key_pass": 0.5987,
                "expected_assists": 0.0395,
                "assists": 0.052,
                "assist_rate": 0.052,
                "expected_goals": 0.0572,
                "goals": 0.0552,
                "goal_rate": 0.0552,
                "shots_on_target": 0.2047,
                "total_shots": 0.9028,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.8729,
                "accurate_pass": 31.183,
                "duels_won": 4.2925,
                "total_long_balls": 2.7568,
                "accurate_long_balls": 1.4941,
                "total_own_half_passes": 19.4974,
                "accurate_own_half_passes": 18.059,
                "total_opp_half_passes": 16.3754,
                "accurate_opp_half_passes": 13.124,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 48.6498,
                "possession_lost": 7.6311,
                "dispossessed": 1.0088,
                "duels_lost": 4.2179,
                "aerial_won": 1.3513,
                "aerial_lost": 1.0153,
                "interceptions": 1.3665,
                "tackles_won": 0.9381,
                "tackles": 1.361,
                "clearances": 1.2895,
                "total_contest": 0.968,
                "won_contest": 0.5086,
                "challenges_lost": 0.6438,
                "fouls": 1.0906,
                "fouls_drawn": 1.0716,
                "blocks": 0.3852,
                "big_chances_created": 0.0779,
                "big_chances_missed": 0.0616,
                "xgot": 0.0191,
                "ball_carries": 14.0141,
                "total_progression": 21.4872,
                "progressive_carries": 0.5103,
                "shots_off_target": 0.6981
              },
              "params": {
                "market_value_eur": 63000000,
                "quality_factor": 0.8589,
                "boost_factor": 1.0136,
                "reference_quality": 0.505,
                "history_matches": 34,
                "history_shrink": 0.1282,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.5987,
                "expected_assists": 0.0395,
                "assists": 0.052,
                "assist_rate": 0.052,
                "expected_goals": 0.0572,
                "goals": 0.0552,
                "goal_rate": 0.0552,
                "shots_on_target": 0.2047,
                "total_shots": 0.9028,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.8729,
                "accurate_pass": 31.183,
                "duels_won": 4.2925,
                "total_long_balls": 2.7568,
                "accurate_long_balls": 1.4941,
                "total_own_half_passes": 19.4974,
                "accurate_own_half_passes": 18.059,
                "total_opp_half_passes": 16.3754,
                "accurate_opp_half_passes": 13.124,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 48.6498,
                "possession_lost": 7.6311,
                "dispossessed": 1.0088,
                "duels_lost": 4.2179,
                "aerial_won": 1.3513,
                "aerial_lost": 1.0153,
                "interceptions": 1.3665,
                "tackles_won": 0.9381,
                "tackles": 1.361,
                "clearances": 1.2895,
                "total_contest": 0.968,
                "won_contest": 0.5086,
                "challenges_lost": 0.6438,
                "fouls": 1.0906,
                "fouls_drawn": 1.0716,
                "blocks": 0.3852,
                "big_chances_created": 0.0779,
                "big_chances_missed": 0.0616,
                "xgot": 0.0191,
                "ball_carries": 14.0141,
                "total_progression": 21.4872,
                "progressive_carries": 0.5103,
                "shots_off_target": 0.6981
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 0.5987,
                "expected_assists": 0.0395,
                "assists": 0.052,
                "assist_rate": 0.052,
                "expected_goals": 0.0567,
                "goals": 0.0547,
                "goal_rate": 0.0547,
                "shots_on_target": 0.203,
                "total_shots": 0.8952,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.8729,
                "accurate_pass": 31.183,
                "duels_won": 4.2925,
                "total_long_balls": 2.7568,
                "accurate_long_balls": 1.4941,
                "total_own_half_passes": 19.4974,
                "accurate_own_half_passes": 18.059,
                "total_opp_half_passes": 16.3754,
                "accurate_opp_half_passes": 13.124,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 48.6498,
                "possession_lost": 7.6311,
                "dispossessed": 1.0088,
                "duels_lost": 4.2179,
                "aerial_won": 1.0,
                "aerial_lost": 1.0153,
                "interceptions": 1.3665,
                "tackles_won": 0.9381,
                "tackles": 1.361,
                "clearances": 1.2895,
                "total_contest": 0.968,
                "won_contest": 0.5086,
                "challenges_lost": 0.6438,
                "fouls": 1.0906,
                "fouls_drawn": 1.0716,
                "blocks": 0.3852,
                "big_chances_created": 0.0779,
                "big_chances_missed": 0.0611,
                "xgot": 0.0189,
                "ball_carries": 14.0141,
                "total_progression": 21.4872,
                "progressive_carries": 0.5103,
                "shots_off_target": 0.6922,
                "duel_xg_multiplier": 0.9915,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.414,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Moisés Caicedo",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.414,
                  "pressing_faced": "ULTRA_HIGH",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.9915,
                  "skill_edge": -0.0098,
                  "height_edge": 0.004,
                  "attacker_skill": 0.876,
                  "defender_skill": 0.8978,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Moisés Caicedo",
                      "market_value": 104000000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.8978
                    }
                  ],
                  "xg_override": 0.0567
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 1.3513,
                  "after": 1.0
                },
                {
                  "stat": "totalShots",
                  "before": 0.9028,
                  "after": 0.8952
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.6981,
                  "after": 0.6922
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.5987,
                "expected_assists": 0.0395,
                "assist_rate": 0.052,
                "assists": 0,
                "expected_goals": 0.0567,
                "goal_rate": 0.0547,
                "goals": 0,
                "shots_on_target": 0.203,
                "total_shots": 0.8952,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.8729,
                "accurate_pass": 31.183,
                "duels_won": 4.2925,
                "total_long_balls": 2.7568,
                "accurate_long_balls": 1.4941,
                "total_own_half_passes": 19.4974,
                "accurate_own_half_passes": 18.059,
                "total_opp_half_passes": 16.3754,
                "accurate_opp_half_passes": 13.124,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 48.6498,
                "possession_lost": 7.6311,
                "dispossessed": 1.0088,
                "duels_lost": 4.2179,
                "aerial_won": 1.0,
                "aerial_lost": 1.0153,
                "interceptions": 1.3665,
                "tackles_won": 0.9381,
                "tackles": 1.361,
                "clearances": 1.2895,
                "total_contest": 0.968,
                "won_contest": 0.5086,
                "challenges_lost": 0.6438,
                "fouls": 1.0906,
                "fouls_drawn": 1.0716,
                "blocks": 0.3852,
                "big_chances_created": 0.0779,
                "big_chances_missed": 0.0611,
                "xgot": 0.0189,
                "ball_carries": 14.0141,
                "total_progression": 21.4872,
                "progressive_carries": 0.5103,
                "shots_off_target": 0.6922,
                "duel_xg_multiplier": 0.9915,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.414,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "key_pass": 0.5987,
                "expected_assists": 0.044,
                "assist_rate": 0.052,
                "assists": 0,
                "expected_goals": 0.0632,
                "goal_rate": 0.0547,
                "goals": 0,
                "shots_on_target": 0.203,
                "total_shots": 0.8952,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.8729,
                "accurate_pass": 31.183,
                "duels_won": 4.2925,
                "total_long_balls": 2.7568,
                "accurate_long_balls": 1.4941,
                "total_own_half_passes": 19.4974,
                "accurate_own_half_passes": 18.059,
                "total_opp_half_passes": 16.3754,
                "accurate_opp_half_passes": 13.124,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 48.6498,
                "possession_lost": 7.6311,
                "dispossessed": 1.0088,
                "duels_lost": 4.2179,
                "aerial_won": 1.0,
                "aerial_lost": 1.0153,
                "interceptions": 1.3665,
                "tackles_won": 0.9381,
                "tackles": 1.361,
                "clearances": 1.2895,
                "total_contest": 0.968,
                "won_contest": 0.5086,
                "challenges_lost": 0.6438,
                "fouls": 1.0906,
                "fouls_drawn": 1.0716,
                "blocks": 0.3852,
                "big_chances_created": 0.0779,
                "big_chances_missed": 0.0611,
                "xgot": 0.0211,
                "ball_carries": 14.0141,
                "total_progression": 21.4872,
                "progressive_carries": 0.5103,
                "shots_off_target": 0.6922,
                "duel_xg_multiplier": 0.9915,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.414,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9813,
                "creation_factor": 1.1397
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0567,
                  "after": 0.0632
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 12 by projected rating, fifa_overall 80.0)",
              "stats": {
                "key_pass": 0.5987,
                "expected_assists": 0.044,
                "assist_rate": 0.052,
                "assists": 0,
                "expected_goals": 0.0632,
                "goal_rate": 0.0547,
                "goals": 0,
                "shots_on_target": 0.203,
                "total_shots": 0.8952,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.8729,
                "accurate_pass": 31.183,
                "duels_won": 4.2925,
                "total_long_balls": 2.7568,
                "accurate_long_balls": 1.4941,
                "total_own_half_passes": 19.4974,
                "accurate_own_half_passes": 18.059,
                "total_opp_half_passes": 16.3754,
                "accurate_opp_half_passes": 13.124,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 48.6498,
                "possession_lost": 7.6311,
                "dispossessed": 1.0088,
                "duels_lost": 4.2179,
                "aerial_won": 1.0,
                "aerial_lost": 1.0153,
                "interceptions": 1.3665,
                "tackles_won": 0.9381,
                "tackles": 1.361,
                "clearances": 1.2895,
                "total_contest": 0.968,
                "won_contest": 0.5086,
                "challenges_lost": 0.6438,
                "fouls": 1.0906,
                "fouls_drawn": 1.0716,
                "blocks": 0.3852,
                "big_chances_created": 0.0779,
                "big_chances_missed": 0.0611,
                "xgot": 0.0211,
                "ball_carries": 14.0141,
                "total_progression": 21.4872,
                "progressive_carries": 0.5103,
                "shots_off_target": 0.6922,
                "duel_xg_multiplier": 0.9915,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.414,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9813,
                "creation_factor": 1.1397,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 12,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1907,
                "fifa_rank": 700.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.5987,
                "expected_assists": 0.044,
                "assist_rate": 0.052,
                "assists": 0,
                "expected_goals": 0.0632,
                "goal_rate": 0.0547,
                "goals": 0,
                "shots_on_target": 0.203,
                "total_shots": 0.8952,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.8729,
                "accurate_pass": 31.183,
                "duels_won": 4.2925,
                "total_long_balls": 2.7568,
                "accurate_long_balls": 1.4941,
                "total_own_half_passes": 19.4974,
                "accurate_own_half_passes": 18.059,
                "total_opp_half_passes": 16.3754,
                "accurate_opp_half_passes": 13.124,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 48.6498,
                "possession_lost": 7.6311,
                "dispossessed": 1.0088,
                "duels_lost": 4.2179,
                "aerial_won": 1.0,
                "aerial_lost": 1.0153,
                "interceptions": 1.3665,
                "tackles_won": 0.9381,
                "tackles": 1.361,
                "clearances": 1.2895,
                "total_contest": 0.968,
                "won_contest": 0.5086,
                "challenges_lost": 0.6438,
                "fouls": 1.0906,
                "fouls_drawn": 1.0716,
                "blocks": 0.3852,
                "big_chances_created": 0.0779,
                "big_chances_missed": 0.0611,
                "xgot": 0.0211,
                "ball_carries": 14.0141,
                "total_progression": 21.4872,
                "progressive_carries": 0.5103,
                "shots_off_target": 0.6922,
                "duel_xg_multiplier": 0.9915,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.414,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0612,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9813,
                "creation_factor": 1.1397,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0612,
                "goal_rate": 0.0547,
                "scorer_weight": 0.062,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0423,
                "finishing_factor": 0.9813,
                "appearance_weight": 1.0,
                "weight_rank": 8,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.5987,
                "expected_assists": 0.044,
                "assist_rate": 0.052,
                "assists": 0,
                "expected_goals": 0.0632,
                "goal_rate": 0.0547,
                "goals": 0,
                "shots_on_target": 0.203,
                "total_shots": 0.8952,
                "rating": 6.8472,
                "minutes": 74.13,
                "total_pass": 35.8729,
                "accurate_pass": 31.183,
                "duels_won": 4.2925,
                "total_long_balls": 2.7568,
                "accurate_long_balls": 1.4941,
                "total_own_half_passes": 19.4974,
                "accurate_own_half_passes": 18.059,
                "total_opp_half_passes": 16.3754,
                "accurate_opp_half_passes": 13.124,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 48.6498,
                "possession_lost": 7.6311,
                "dispossessed": 1.0088,
                "duels_lost": 4.2179,
                "aerial_won": 1.0,
                "aerial_lost": 1.0153,
                "interceptions": 1.3665,
                "tackles_won": 0.9381,
                "tackles": 1.361,
                "clearances": 1.2895,
                "total_contest": 0.968,
                "won_contest": 0.5086,
                "challenges_lost": 0.6438,
                "fouls": 1.0906,
                "fouls_drawn": 1.0716,
                "blocks": 0.3852,
                "big_chances_created": 0.0779,
                "big_chances_missed": 0.0611,
                "xgot": 0.0211,
                "ball_carries": 14.0141,
                "total_progression": 21.4872,
                "progressive_carries": 0.5103,
                "shots_off_target": 0.6922,
                "duel_xg_multiplier": 0.9915,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.414,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0612,
                "projected_assists": 0,
                "assist_probability": 0.043,
                "finishing_factor": 0.9813,
                "creation_factor": 1.1397,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.043,
                "assist_rate": 0.052,
                "provider_weight": 0.0501,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0505,
                "creation_factor": 1.1397,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Youri Tielemans": {
          "player_id": 331737,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 18,
          "height": 177,
          "market_value": 43000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1269,
            "assist_rate": 0.0858,
            "assists": 0,
            "expected_goals": 0.0634,
            "goal_rate": 0.0569,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 7.1008,
            "minutes": 76,
            "total_pass": 47,
            "accurate_pass": 40,
            "duels_won": 5,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 19,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 24,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 60,
            "possession_lost": 10.3585,
            "dispossessed": 0.9569,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0329,
            "ball_carries": 14,
            "total_progression": 47,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.9467,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.384,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Moisés Caicedo",
            "opponent_faced": "Moisés Caicedo",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0614,
            "projected_assists": 0,
            "assist_probability": 0.1192,
            "finishing_factor": 1.0,
            "creation_factor": 0.8291,
            "fifa_overall": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 45,
                "rating": 5.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.003,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 84,
                "rating": 7.5,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0207,
                "expected_assists": 0.4084,
                "total_shots": 1,
                "total_pass": 28,
                "accurate_pass": 22,
                "key_pass": 3,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 59,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1429,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 21,
                "tackles": 5,
                "tackles_won": 3,
                "duels_won": 9,
                "ball_recovery": 13
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0858,
                "expected_assists": 0.2046,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 77,
                "accurate_pass": 70,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 2,
                "duels_won": 4,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 67,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0362,
                "total_shots": 0,
                "total_pass": 44,
                "accurate_pass": 39,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0473,
                "expected_assists": 0.0613,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 81,
                "accurate_pass": 74,
                "key_pass": 1,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4705,
                "expected_assists": 0.1058,
                "total_shots": 3,
                "shots_on_target": 2,
                "total_pass": 72,
                "accurate_pass": 66,
                "key_pass": 4,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 67,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0366,
                "expected_assists": 0.107,
                "total_shots": 1,
                "total_pass": 73,
                "accurate_pass": 65,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023961,
              "match_date": "2026-05-24",
              "home_team": "Manchester City",
              "away_team": "Aston Villa",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Aston Villa",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 17,
                "rating": 7.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0181,
                "expected_assists": 0.2791,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 17,
                "accurate_pass": 17,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023928,
              "match_date": "2026-05-15",
              "home_team": "Aston Villa",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Aston Villa",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 89,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0222,
                "expected_assists": 0.018,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 40,
                "accurate_pass": 33,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 76,
            "combined_rank_score": 84.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 30.0,
            "sofascore_rating": 8.0,
            "sofascore_appearances": 6.0,
            "fifa_rank": 138.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.1008,
            "source_file": "data/player_rankings.csv",
            "player_name": "Youri Tielemans",
            "ranking_neighbors": {
              "upper": [
                {
                  "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
                },
                {
                  "player_name": "Chema Andrés",
                  "ranking": 75
                }
              ],
              "lower": [
                {
                  "player_name": "Marc Cucurella",
                  "ranking": 77
                },
                {
                  "player_name": "Dominik Szoboszlai",
                  "ranking": 78
                },
                {
                  "player_name": "Thibaut Courtois",
                  "ranking": 79
                },
                {
                  "player_name": "Otávio Costa",
                  "ranking": 80
                },
                {
                  "player_name": "Marc Guéhi",
                  "ranking": 81
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.767,
          "history_matches": 33,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 33,
            "data_confidence": 0.767,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0115,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 156.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 2.31,
              "shots_on_target_pct": 50.0,
              "prior_reliability": 0.1133
            },
            "rationale": "XGBoost regressor (M_service) evaluated 33 historical appearances across 8 target models; FBref 2026-2027 prior blended (Premier League, Manchester Utd, rel: 0.11, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.1304,
                "expected_assists": 0.1125,
                "assists": 0.0856,
                "assist_rate": 0.0856,
                "expected_goals": 0.0595,
                "goals": 0.06,
                "goal_rate": 0.06,
                "shots_on_target": 0.2738,
                "total_shots": 0.8827,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.0514,
                "accurate_pass": 40.0073,
                "duels_won": 4.9477,
                "total_long_balls": 3.2447,
                "accurate_long_balls": 1.5359,
                "total_own_half_passes": 18.3777,
                "accurate_own_half_passes": 16.6886,
                "total_opp_half_passes": 27.6738,
                "accurate_opp_half_passes": 23.3188,
                "crosses_total": 1.441,
                "crosses_accurate": 0.516,
                "touches": 59.7711,
                "possession_lost": 10.2407,
                "dispossessed": 0.946,
                "duels_lost": 4.5975,
                "aerial_won": 1.0,
                "aerial_lost": 1.1764,
                "interceptions": 0.8912,
                "tackles_won": 1.1575,
                "tackles": 1.8812,
                "clearances": 0.8227,
                "total_contest": 0.7977,
                "won_contest": 0.1609,
                "challenges_lost": 1.0805,
                "fouls": 0.7593,
                "fouls_drawn": 1.9086,
                "blocks": 0.2537,
                "big_chances_created": 0.3124,
                "big_chances_missed": 0.0739,
                "xgot": 0.0308,
                "ball_carries": 14.0802,
                "total_progression": 46.6792,
                "progressive_carries": 0.777,
                "shots_off_target": 0.6088
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1507,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.1281,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.1089,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0926,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0787,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0669,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Manchester City",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.0411,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-05-15",
                    "opponent": "Liverpool FC",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.0349,
                    "rating": 7.3
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.8299,
                  "creative_index": 0.5414,
                  "expectedGoals": 0.0514,
                  "expectedAssists": 0.1402,
                  "totalOppositionHalfPasses": 26.3245
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.1303950548171997,
                    "model_output": 1.1304,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1199
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0873
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0791
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0576
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.043
                        }
                      ],
                      "others": -0.0316,
                      "total": 1.1304,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.126315
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.082868
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.069558
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.050211
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.037684
                        }
                      ],
                      "others_margin": -0.027419
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.11251746118068695,
                    "model_output": 0.1125,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0121
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0124
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0041
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0039
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.004
                        }
                      ],
                      "others": -0.0007,
                      "total": 0.1125,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.133146
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.119822
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.038557
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.03634
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.035979
                        }
                      ],
                      "others_margin": -0.005597
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.08558044582605362,
                    "model_output": 0.0856,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0072
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0069
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.006
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0057
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0038
                        }
                      ],
                      "others": -0.017,
                      "total": 0.0856,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.080894
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.072557
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.062064
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.059197
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.037312
                        }
                      ],
                      "others_margin": -0.181357
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.059458885341882706,
                    "model_output": 0.0595,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0122
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.01
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.006
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0055
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0033
                        }
                      ],
                      "others": -0.0149,
                      "total": 0.0595,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.143389
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.118828
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.06931
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.068365
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.043712
                        }
                      ],
                      "others_margin": -0.224345
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.05999968200922012,
                    "model_output": 0.06,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0166
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0119
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0067
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0039
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0025
                        }
                      ],
                      "others": -0.0118,
                      "total": 0.06,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.191527
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.164078
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.096244
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.05476
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.034824
                        }
                      ],
                      "others_margin": -0.180091
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2738247215747833,
                    "model_output": 0.2738,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0464
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0296
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0203
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0136
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0098
                        }
                      ],
                      "others": -0.0176,
                      "total": 0.2738,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.136136
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.084502
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.062398
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.04403
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "margin": -0.033105
                        }
                      ],
                      "others_margin": -0.062597
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.8826659321784973,
                    "model_output": 0.8827,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1363
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0509
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0403
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.02
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0199
                        }
                      ],
                      "others": -0.1066,
                      "total": 0.8827,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.136253
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.050871
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.040289
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.019967
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.019872
                        }
                      ],
                      "others_margin": -0.106698
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.100849151611328,
                    "model_output": 7.1008,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.0856
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0744
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0297
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0227
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0127
                        }
                      ],
                      "others": 0.0205,
                      "total": 7.1008,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.085611
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.074448
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.029684
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.022707
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.012653
                        }
                      ],
                      "others_margin": 0.02055
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 33,
                  "role_matches": 29,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0115, quality 0.796)",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1138,
                "assists": 0.0866,
                "assist_rate": 0.0866,
                "expected_goals": 0.0601,
                "goals": 0.0607,
                "goal_rate": 0.0607,
                "shots_on_target": 0.277,
                "total_shots": 0.8928,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4576,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0115,
                "aerial_lost": 1.1899,
                "interceptions": 0.9014,
                "tackles_won": 1.1708,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.768,
                "fouls_drawn": 1.9305,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0747,
                "xgot": 0.0312,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.6158
              },
              "params": {
                "market_value_eur": 43000000,
                "quality_factor": 0.7957,
                "boost_factor": 1.0115,
                "reference_quality": 0.505,
                "history_matches": 33,
                "history_shrink": 0.1316,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0097)",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1138,
                "assists": 0.0858,
                "assist_rate": 0.0858,
                "expected_goals": 0.0601,
                "goals": 0.0601,
                "goal_rate": 0.0601,
                "shots_on_target": 0.2837,
                "total_shots": 0.903,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4483,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0115,
                "aerial_lost": 1.1899,
                "interceptions": 0.9023,
                "tackles_won": 1.1643,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.7654,
                "fouls_drawn": 1.9406,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0747,
                "xgot": 0.0312,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.6158
              },
              "params": {
                "blend_weight": 0.0097,
                "history_matches": 33,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8427,
                "prior_reliability": 0.1133,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.8928,
                  "after": 0.903
                },
                {
                  "stat": "wasFouled",
                  "before": 1.9305,
                  "after": 1.9406
                },
                {
                  "stat": "totalCross",
                  "before": 1.4576,
                  "after": 1.4483
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.277,
                  "after": 0.2837
                },
                {
                  "stat": "wonTackle",
                  "before": 1.1708,
                  "after": 1.1643
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1138,
                "assists": 0.0858,
                "assist_rate": 0.0858,
                "expected_goals": 0.0601,
                "goals": 0.0601,
                "goal_rate": 0.0601,
                "shots_on_target": 0.2837,
                "total_shots": 0.903,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4483,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0115,
                "aerial_lost": 1.1899,
                "interceptions": 0.9023,
                "tackles_won": 1.1643,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.7654,
                "fouls_drawn": 1.9406,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0747,
                "xgot": 0.0312,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.6158
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1138,
                "assists": 0.0858,
                "assist_rate": 0.0858,
                "expected_goals": 0.0569,
                "goals": 0.0569,
                "goal_rate": 0.0569,
                "shots_on_target": 0.2686,
                "total_shots": 0.8549,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4483,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0,
                "aerial_lost": 1.1899,
                "interceptions": 0.9023,
                "tackles_won": 1.1643,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.7654,
                "fouls_drawn": 1.9406,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0707,
                "xgot": 0.0295,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.583,
                "duel_xg_multiplier": 0.9467,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.384,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Moisés Caicedo",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.384,
                  "pressing_faced": "ULTRA_HIGH",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.9467,
                  "skill_edge": -0.0322,
                  "height_edge": -0.004,
                  "attacker_skill": 0.8262,
                  "defender_skill": 0.8978,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Moisés Caicedo",
                      "market_value": 104000000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.8978
                    }
                  ],
                  "xg_override": 0.0569
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.903,
                  "after": 0.8549
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.6158,
                  "after": 0.583
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.2837,
                  "after": 0.2686
                },
                {
                  "stat": "aerialWon",
                  "before": 1.0115,
                  "after": 1.0
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1138,
                "assist_rate": 0.0858,
                "assists": 0,
                "expected_goals": 0.0569,
                "goal_rate": 0.0569,
                "goals": 0,
                "shots_on_target": 0.2686,
                "total_shots": 0.8549,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4483,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0,
                "aerial_lost": 1.1899,
                "interceptions": 0.9023,
                "tackles_won": 1.1643,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.7654,
                "fouls_drawn": 1.9406,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0707,
                "xgot": 0.0295,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.583,
                "duel_xg_multiplier": 0.9467,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.384,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1269,
                "assist_rate": 0.0858,
                "assists": 0,
                "expected_goals": 0.0634,
                "goal_rate": 0.0569,
                "goals": 0,
                "shots_on_target": 0.2686,
                "total_shots": 0.8549,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4483,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0,
                "aerial_lost": 1.1899,
                "interceptions": 0.9023,
                "tackles_won": 1.1643,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.7654,
                "fouls_drawn": 1.9406,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0707,
                "xgot": 0.0329,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.583,
                "duel_xg_multiplier": 0.9467,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.384,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 0.8291
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0569,
                  "after": 0.0634
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1138,
                  "after": 0.1269
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 2 by projected rating, fifa_overall 85.0)",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1269,
                "assist_rate": 0.0858,
                "assists": 0,
                "expected_goals": 0.0634,
                "goal_rate": 0.0569,
                "goals": 0,
                "shots_on_target": 0.2686,
                "total_shots": 0.8549,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4483,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0,
                "aerial_lost": 1.1899,
                "interceptions": 0.9023,
                "tackles_won": 1.1643,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.7654,
                "fouls_drawn": 1.9406,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0707,
                "xgot": 0.0329,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.583,
                "duel_xg_multiplier": 0.9467,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.384,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 0.8291,
                "fifa_overall": 85.0
              },
              "params": {
                "match_squad_rank": 2,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 76,
                "fifa_rank": 138.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1269,
                "assist_rate": 0.0858,
                "assists": 0,
                "expected_goals": 0.0634,
                "goal_rate": 0.0569,
                "goals": 0,
                "shots_on_target": 0.2686,
                "total_shots": 0.8549,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4483,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0,
                "aerial_lost": 1.1899,
                "interceptions": 0.9023,
                "tackles_won": 1.1643,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.7654,
                "fouls_drawn": 1.9406,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0707,
                "xgot": 0.0329,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.583,
                "duel_xg_multiplier": 0.9467,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.384,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0614,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 0.8291,
                "fifa_overall": 85.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0614,
                "goal_rate": 0.0569,
                "scorer_weight": 0.0634,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0433,
                "finishing_factor": 1.0,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.1434,
                "expected_assists": 0.1269,
                "assist_rate": 0.0858,
                "assists": 0,
                "expected_goals": 0.0634,
                "goal_rate": 0.0569,
                "goals": 0,
                "shots_on_target": 0.2686,
                "total_shots": 0.8549,
                "rating": 7.1008,
                "minutes": 75.84,
                "total_pass": 46.581,
                "accurate_pass": 40.4674,
                "duels_won": 5.0046,
                "total_long_balls": 3.282,
                "accurate_long_balls": 1.5536,
                "total_own_half_passes": 18.589,
                "accurate_own_half_passes": 16.8805,
                "total_opp_half_passes": 27.992,
                "accurate_opp_half_passes": 23.587,
                "crosses_total": 1.4483,
                "crosses_accurate": 0.5219,
                "touches": 60.4585,
                "possession_lost": 10.3585,
                "dispossessed": 0.9569,
                "duels_lost": 4.6504,
                "aerial_won": 1.0,
                "aerial_lost": 1.1899,
                "interceptions": 0.9023,
                "tackles_won": 1.1643,
                "tackles": 1.9028,
                "clearances": 0.8322,
                "total_contest": 0.8069,
                "won_contest": 0.1628,
                "challenges_lost": 1.0929,
                "fouls": 0.7654,
                "fouls_drawn": 1.9406,
                "blocks": 0.2566,
                "big_chances_created": 0.316,
                "big_chances_missed": 0.0707,
                "xgot": 0.0329,
                "ball_carries": 14.2421,
                "total_progression": 47.216,
                "progressive_carries": 0.7859,
                "shots_off_target": 0.583,
                "duel_xg_multiplier": 0.9467,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.384,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Moisés Caicedo",
                "opponent_faced": "Moisés Caicedo",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0614,
                "projected_assists": 0,
                "assist_probability": 0.1192,
                "finishing_factor": 1.0,
                "creation_factor": 0.8291,
                "fifa_overall": 85.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1192,
                "assist_rate": 0.0858,
                "provider_weight": 0.1052,
                "squad_weight_total": 0.9934,
                "weight_share": 0.1059,
                "creation_factor": 0.8291,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Ayden Heaven": {
          "player_id": 1445799,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 26,
          "height": 189,
          "market_value": 32000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 2,
            "total_shots": 0,
            "rating": 6.8429,
            "minutes": 82,
            "total_pass": 52,
            "accurate_pass": 46,
            "duels_won": 5,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 37,
            "accurate_own_half_passes": 35,
            "total_opp_half_passes": 14,
            "accurate_opp_half_passes": 12,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 63,
            "possession_lost": 6.277,
            "dispossessed": 0.1871,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0467,
            "expected_assists": 0.0129,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 17,
            "total_progression": 47,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.0,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Pedro Neto",
            "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.0456,
            "projected_assists": 0,
            "assist_probability": 0.0128,
            "finishing_factor": 0.8,
            "creation_factor": 0.8117,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 65,
                "rating": 6.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0019,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 63,
                "accurate_pass": 54,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1,
                "tackles": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1212,
                "expected_assists": 0.0358,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 67,
                "accurate_pass": 61,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023939,
              "match_date": "2026-05-03",
              "home_team": "Manchester United",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0041,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 34,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023926,
              "match_date": "2026-04-27",
              "home_team": "Manchester United",
              "away_team": "Brentford",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0081,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 31,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0028,
                "total_shots": 0,
                "total_pass": 54,
                "accurate_pass": 49,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023997,
              "match_date": "2026-03-20",
              "home_team": "Bournemouth",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 8,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "clearances": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023978,
              "match_date": "2026-03-01",
              "home_team": "Manchester United",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 14,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 6,
                "clearances": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15238290,
              "match_date": "2026-02-23",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025079,
              "match_date": "2026-01-17",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 3363,
            "combined_rank_score": 1313.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 442.0,
            "sofascore_rating": 6.9067,
            "sofascore_appearances": 17.0,
            "fifa_rank": 2184.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8429,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ayden Heaven",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Billy Gilmour",
                  "ranking": 3358
                },
                {
                  "player_name": "Bernardo",
                  "ranking": 3359
                },
                {
                  "player_name": "Lucas Torró",
                  "ranking": 3360
                },
                {
                  "player_name": "Kyle Walker",
                  "ranking": 3361
                },
                {
                  "player_name": "Nikola Moro",
                  "ranking": 3362
                }
              ],
              "lower": [
                {
                  "player_name": "Aron Dønnum",
                  "ranking": 3364
                },
                {
                  "player_name": "Iñaki Peña",
                  "ranking": 3365
                },
                {
                  "player_name": "Liam Scales",
                  "ranking": 3366
                },
                {
                  "player_name": "Matías Vecino",
                  "ranking": 3367
                },
                {
                  "player_name": "Maxime Estève",
                  "ranking": 3368
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.76,
          "history_matches": 20,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 20,
            "data_confidence": 0.76,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0136,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "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": 2.0,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.0667
            },
            "rationale": "XGBoost regressor (D_service) evaluated 20 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Manchester Utd, rel: 0.07, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.822,
                "tackles": 1.3445,
                "tackles_won": 0.773,
                "clearances": 4.3021,
                "aerial_won": 1.6787,
                "total_shots": 0.4032,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.1308,
                "accurate_pass": 45.68,
                "duels_won": 4.9835,
                "total_long_balls": 3.8678,
                "accurate_long_balls": 1.6513,
                "total_own_half_passes": 36.9887,
                "accurate_own_half_passes": 34.0721,
                "total_opp_half_passes": 14.1421,
                "accurate_opp_half_passes": 11.6079,
                "crosses_total": 0.0757,
                "crosses_accurate": 0.0,
                "touches": 61.8264,
                "possession_lost": 6.1928,
                "dispossessed": 0.1846,
                "duels_lost": 2.2415,
                "aerial_lost": 0.9513,
                "total_contest": 0.5859,
                "won_contest": 0.4475,
                "ball_recovery": 3.5019,
                "challenges_lost": 0.327,
                "fouls": 0.6403,
                "fouls_drawn": 1.1433,
                "blocks": 0.6394,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0413,
                "expected_assists": 0.0114,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.5747,
                "total_progression": 46.3472,
                "progressive_carries": 0.5161,
                "key_pass": 0.0336,
                "shots_off_target": 0.4032
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.156,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.1326,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1127,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-05-03",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0958,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Brentford",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0815,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Chelsea",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0692,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-03-20",
                    "opponent": "Bournemouth",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0589,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-03-01",
                    "opponent": "Crystal Palace",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.05,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-02-23",
                    "opponent": "Everton",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0425,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-01-17",
                    "opponent": "Manchester City",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0361,
                    "rating": 0.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.6222,
                  "aerialWon": 1.0595,
                  "totalClearance_p90": 7.247,
                  "totalTackle": 1.2626,
                  "totalPass": 35.3863
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.8220431208610535,
                    "model_output": 0.822,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.1003
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1002
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0221
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": -0.0177
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0158
                        }
                      ],
                      "others": 0.0092,
                      "total": 0.822,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.122671
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.122574
                        },
                        {
                          "name": "touches",
                          "margin": -0.025778
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": -0.021142
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.019312
                        }
                      ],
                      "others_margin": 0.011333
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.344537377357483,
                    "model_output": 1.3445,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.183
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0745
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0656
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0649
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0347
                        }
                      ],
                      "others": -0.1143,
                      "total": 1.3445,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.124059
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.048675
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.044905
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.044418
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.02353
                        }
                      ],
                      "others_margin": -0.081504
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7730436325073242,
                    "model_output": 0.773,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1195
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0458
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0403
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0335
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0253
                        }
                      ],
                      "others": -0.1279,
                      "total": 0.773,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.132204
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.048565
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.042938
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.035516
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.027706
                        }
                      ],
                      "others_margin": -0.153188
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.302074432373047,
                    "model_output": 4.3021,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4623
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.4039
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.3793
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.2777
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.1917
                        }
                      ],
                      "others": -0.0367,
                      "total": 4.3021,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.126378
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.1095
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.103166
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.069303
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.04518
                        }
                      ],
                      "others_margin": -0.008492
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.6787153482437134,
                    "model_output": 1.6787,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.2008
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.167
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1456
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1239
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0737
                        }
                      ],
                      "others": 0.1391,
                      "total": 1.6787,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.157563
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.132674
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.102905
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.079922
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.046788
                        }
                      ],
                      "others_margin": 0.086521
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4032078981399536,
                    "model_output": 0.4032,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0982
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0508
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0194
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0115
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": 0.0093
                        }
                      ],
                      "others": -0.0451,
                      "total": 0.4032,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.098178
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.050753
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.019355
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.011544
                        },
                        {
                          "name": "duelWon_p90",
                          "margin": 0.009316
                        }
                      ],
                      "others_margin": -0.045034
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.842935085296631,
                    "model_output": 6.8429,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "touches_p90",
                          "contribution": 0.0378
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0141
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.0125
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0091
                        },
                        {
                          "name": "errorLeadToAShot",
                          "contribution": -0.0088
                        }
                      ],
                      "others": 0.0109,
                      "total": 6.8429,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "touches_p90",
                          "margin": 0.037755
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.014124
                        },
                        {
                          "name": "duel_win_rate",
                          "margin": 0.012521
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.009106
                        },
                        {
                          "name": "errorLeadToAShot",
                          "margin": -0.008796
                        }
                      ],
                      "others_margin": 0.010957
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 20,
                  "role_matches": 13,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0136, quality 0.732)",
              "stats": {
                "interceptions": 0.8332,
                "tackles": 1.3628,
                "tackles_won": 0.7836,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.4087,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.0767,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.649,
                "fouls_drawn": 1.1588,
                "blocks": 0.6481,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0419,
                "expected_assists": 0.0116,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087
              },
              "params": {
                "market_value_eur": 32000000,
                "quality_factor": 0.732,
                "boost_factor": 1.0136,
                "reference_quality": 0.505,
                "history_matches": 20,
                "history_shrink": 0.2,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0087)",
              "stats": {
                "interceptions": 0.826,
                "tackles": 1.3628,
                "tackles_won": 0.7768,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.421,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.076,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.6513,
                "fouls_drawn": 1.1646,
                "blocks": 0.6481,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0419,
                "expected_assists": 0.0116,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087
              },
              "params": {
                "blend_weight": 0.0087,
                "history_matches": 20,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9136,
                "prior_reliability": 0.0667,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.4087,
                  "after": 0.421
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.8332,
                  "after": 0.826
                },
                {
                  "stat": "wonTackle",
                  "before": 0.7836,
                  "after": 0.7768
                },
                {
                  "stat": "wasFouled",
                  "before": 1.1588,
                  "after": 1.1646
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.826,
                "tackles": 1.3628,
                "tackles_won": 0.7768,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.421,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.076,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.6513,
                "fouls_drawn": 1.1646,
                "blocks": 0.6481,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0419,
                "expected_assists": 0.0116,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.826,
                "tackles": 1.3628,
                "tackles_won": 0.7768,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.421,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.076,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.6513,
                "fouls_drawn": 1.1646,
                "blocks": 0.6481,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0419,
                "expected_assists": 0.0116,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Pedro Neto",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.826,
                "tackles": 1.3628,
                "tackles_won": 0.7768,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.421,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.076,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.6513,
                "fouls_drawn": 1.1646,
                "blocks": 0.6481,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0419,
                "expected_assists": 0.0116,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "interceptions": 0.826,
                "tackles": 1.3628,
                "tackles_won": 0.7768,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.421,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.076,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.6513,
                "fouls_drawn": 1.1646,
                "blocks": 0.6481,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0467,
                "expected_assists": 0.0129,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8117
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 13 by projected rating, fifa_overall 75.0)",
              "stats": {
                "interceptions": 0.826,
                "tackles": 1.3628,
                "tackles_won": 0.7768,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.421,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.076,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.6513,
                "fouls_drawn": 1.1646,
                "blocks": 0.6481,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0467,
                "expected_assists": 0.0129,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8117,
                "fifa_overall": 75.0
              },
              "params": {
                "match_squad_rank": 13,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3363,
                "fifa_rank": 2184.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.826,
                "tackles": 1.3628,
                "tackles_won": 0.7768,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.421,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.076,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.6513,
                "fouls_drawn": 1.1646,
                "blocks": 0.6481,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0467,
                "expected_assists": 0.0129,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "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.0456,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8117,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0456,
                "goal_rate": 0.0,
                "scorer_weight": 0.0374,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0255,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 11,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.826,
                "tackles": 1.3628,
                "tackles_won": 0.7768,
                "clearances": 4.3606,
                "aerial_won": 1.7015,
                "total_shots": 0.421,
                "rating": 6.8429,
                "minutes": 82.22,
                "total_pass": 51.8262,
                "accurate_pass": 46.3012,
                "duels_won": 5.0513,
                "total_long_balls": 3.9204,
                "accurate_long_balls": 1.6738,
                "total_own_half_passes": 37.4917,
                "accurate_own_half_passes": 34.5355,
                "total_opp_half_passes": 14.3344,
                "accurate_opp_half_passes": 11.7658,
                "crosses_total": 0.076,
                "crosses_accurate": 0.0,
                "touches": 62.6672,
                "possession_lost": 6.277,
                "dispossessed": 0.1871,
                "duels_lost": 2.272,
                "aerial_lost": 0.9642,
                "total_contest": 0.5939,
                "won_contest": 0.4536,
                "ball_recovery": 3.5495,
                "challenges_lost": 0.3314,
                "fouls": 0.6513,
                "fouls_drawn": 1.1646,
                "blocks": 0.6481,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0467,
                "expected_assists": 0.0129,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.8001,
                "total_progression": 46.9775,
                "progressive_carries": 0.5231,
                "key_pass": 0.0341,
                "shots_off_target": 0.4087,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "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.0456,
                "projected_assists": 0,
                "assist_probability": 0.0128,
                "finishing_factor": 0.8,
                "creation_factor": 0.8117,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0128,
                "assist_rate": 0.0,
                "provider_weight": 0.0105,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0105,
                "creation_factor": 0.8117,
                "appearance_weight": 1.0,
                "weight_rank": 13,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Harry Maguire": {
          "player_id": 149380,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 5,
          "height": 194,
          "market_value": 8600000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 3,
            "total_shots": 1,
            "rating": 6.9657,
            "minutes": 89,
            "total_pass": 57,
            "accurate_pass": 51,
            "duels_won": 5,
            "total_long_balls": 5,
            "accurate_long_balls": 3,
            "total_own_half_passes": 34,
            "accurate_own_half_passes": 32,
            "total_opp_half_passes": 23,
            "accurate_opp_half_passes": 19,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 70,
            "possession_lost": 7.3427,
            "dispossessed": 0.0022,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0032,
            "goals": 0,
            "assist_rate": 0.0235,
            "assists": 0,
            "expected_goals": 0.0445,
            "expected_assists": 0.0499,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0134,
            "ball_carries": 25,
            "total_progression": 129,
            "progressive_carries": 2,
            "key_pass": 0,
            "shots_off_target": 0,
            "opponent_faced": "Danny Welbeck",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0435,
            "projected_assists": 0,
            "assist_probability": 0.0487,
            "finishing_factor": 0.8,
            "creation_factor": 0.8,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0534,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 90,
                "accurate_pass": 79,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0056,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 32,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 4,
                "duels_won": 9,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1209,
                "expected_assists": 0.0041,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 46,
                "accurate_pass": 40,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 5,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0132,
                "expected_assists": 0.0282,
                "total_shots": 1,
                "total_pass": 72,
                "accurate_pass": 69,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1218,
                "expected_assists": 0.0112,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 57,
                "accurate_pass": 49,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0064,
                "total_shots": 0,
                "total_pass": 66,
                "accurate_pass": 55,
                "interceptions": 1,
                "clearances": 10,
                "aerial_won": 5,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0316,
                "expected_assists": 0.0111,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 43,
                "accurate_pass": 39,
                "tackles": 1,
                "interceptions": 3,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0448,
                "expected_assists": 0.4045,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 82,
                "accurate_pass": 76,
                "key_pass": 2,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0906,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 45,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0463,
                "expected_assists": 0.0074,
                "total_shots": 1,
                "total_pass": 43,
                "accurate_pass": 37,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 11,
                "aerial_won": 4,
                "duels_won": 7,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 786,
            "combined_rank_score": 379.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 391.0,
            "sofascore_rating": 6.95,
            "sofascore_appearances": 2.0,
            "fifa_rank": 368.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9657,
            "source_file": "data/player_rankings.csv",
            "player_name": "Harry Maguire",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Samandar Shukurullaev",
                  "ranking": 781
                },
                {
                  "player_name": "Jeong-un Hong",
                  "ranking": 782
                },
                {
                  "player_name": "Anvar Khozhimirzaev",
                  "ranking": 783
                },
                {
                  "player_name": "Ollie Watkins",
                  "ranking": 784
                },
                {
                  "player_name": "Emiliano Martínez",
                  "ranking": 785
                }
              ],
              "lower": [
                {
                  "player_name": "Ho-jun Son",
                  "ranking": 787
                },
                {
                  "player_name": "Mukhammadali Usmonov",
                  "ranking": 788
                },
                {
                  "player_name": "Hyeon-uh Jeong",
                  "ranking": 789
                },
                {
                  "player_name": "Julian Andres Bonilla Tovar",
                  "ranking": 790
                },
                {
                  "player_name": "Murillo",
                  "ranking": 791
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.77,
          "history_matches": 31,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 31,
            "data_confidence": 0.77,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "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": 1.5,
              "shots_on_target_pct": 33.3,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 31 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Manchester Utd, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1.1204,
                "tackles": 1.3014,
                "tackles_won": 0.7268,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6157,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3638,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7166,
                "fouls_drawn": 0.8806,
                "blocks": 0.4602,
                "goals": 0.0032,
                "goal_rate": 0.0032,
                "assists": 0.0238,
                "assist_rate": 0.0238,
                "expected_goals": 0.0399,
                "expected_assists": 0.0448,
                "shots_on_target": 0.2106,
                "big_chances_created": 0.0729,
                "xgot": 0.012,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.151,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1283,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1091,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0927,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0788,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.067,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0569,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0484,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0411,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.035,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 4.4977,
                  "aerialWon": 3.1149,
                  "totalClearance_p90": 4.5789,
                  "totalTackle": 1.1067,
                  "totalPass": 56.9154
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.1203621625900269,
                    "model_output": 1.1204,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1101
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0911
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0152
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0135
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0126
                        }
                      ],
                      "others": 0.0094,
                      "total": 1.1204,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.119341
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.089014
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.014142
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.012362
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.011404
                        }
                      ],
                      "others_margin": 0.008356
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.3014273643493652,
                    "model_output": 1.3014,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1766
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0925
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0694
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0351
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0335
                        }
                      ],
                      "others": -0.1692,
                      "total": 1.3014,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.11998
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.061058
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.046162
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.023082
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.022507
                        }
                      ],
                      "others_margin": -0.122219
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7268417477607727,
                    "model_output": 0.7268,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0957
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0505
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0333
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0269
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.019
                        }
                      ],
                      "others": -0.0849,
                      "total": 0.7268,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.107181
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.055091
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.038066
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.031923
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.023106
                        }
                      ],
                      "others_margin": -0.110456
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.6871442794799805,
                    "model_output": 4.6871,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4204
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.3925
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.2253
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.2317
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.1334
                        }
                      ],
                      "others": 0.1189,
                      "total": 4.6871,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.115563
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.097035
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.051726
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.050537
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.028773
                        }
                      ],
                      "others_margin": 0.025673
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 2.5938432216644287,
                    "model_output": 2.5938,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.6514
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.245
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.1174
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0821
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0783
                        }
                      ],
                      "others": 0.1986,
                      "total": 2.5938,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.387191
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.113977
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.050346
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.033766
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.032184
                        }
                      ],
                      "others_margin": 0.079687
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6157450079917908,
                    "model_output": 0.6157,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.1115
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0479
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": -0.0275
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0224
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0218
                        }
                      ],
                      "others": 0.0059,
                      "total": 0.6157,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.111534
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.047916
                        },
                        {
                          "name": "duel_win_rate",
                          "margin": -0.027537
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.022445
                        },
                        {
                          "name": "rating",
                          "margin": 0.02183
                        }
                      ],
                      "others_margin": 0.005909
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.965715408325195,
                    "model_output": 6.9657,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": 0.0461
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0212
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0192
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0147
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0129
                        }
                      ],
                      "others": 0.0561,
                      "total": 6.9657,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": 0.046118
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.021153
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.019189
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.014667
                        },
                        {
                          "name": "duelWon",
                          "margin": 0.012907
                        }
                      ],
                      "others_margin": 0.056166
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 31,
                  "role_matches": 27,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0000, quality 0.506)",
              "stats": {
                "interceptions": 1.1204,
                "tackles": 1.3014,
                "tackles_won": 0.7268,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6157,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3638,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7166,
                "fouls_drawn": 0.8806,
                "blocks": 0.4602,
                "goals": 0.0032,
                "goal_rate": 0.0032,
                "assists": 0.0238,
                "assist_rate": 0.0238,
                "expected_goals": 0.0399,
                "expected_assists": 0.0448,
                "shots_on_target": 0.2106,
                "big_chances_created": 0.0729,
                "xgot": 0.012,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051
              },
              "params": {
                "market_value_eur": 8600000,
                "quality_factor": 0.5059,
                "boost_factor": 1.0,
                "reference_quality": 0.505,
                "history_matches": 31,
                "history_shrink": 0.1389,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0120)",
              "stats": {
                "interceptions": 1.1249,
                "tackles": 1.3014,
                "tackles_won": 0.7181,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6262,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3714,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7199,
                "fouls_drawn": 0.876,
                "blocks": 0.4602,
                "goals": 0.0032,
                "goal_rate": 0.0032,
                "assists": 0.0235,
                "assist_rate": 0.0235,
                "expected_goals": 0.0399,
                "expected_assists": 0.0448,
                "shots_on_target": 0.214,
                "big_chances_created": 0.0729,
                "xgot": 0.012,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051
              },
              "params": {
                "blend_weight": 0.012,
                "history_matches": 31,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9936,
                "prior_reliability": 0.1333,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.6157,
                  "after": 0.6262
                },
                {
                  "stat": "wonTackle",
                  "before": 0.7268,
                  "after": 0.7181
                },
                {
                  "stat": "totalCross",
                  "before": 0.3638,
                  "after": 0.3714
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.1249,
                "tackles": 1.3014,
                "tackles_won": 0.7181,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6262,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3714,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7199,
                "fouls_drawn": 0.876,
                "blocks": 0.4602,
                "goals": 0.0032,
                "goal_rate": 0.0032,
                "assists": 0.0235,
                "assist_rate": 0.0235,
                "expected_goals": 0.0399,
                "expected_assists": 0.0448,
                "shots_on_target": 0.214,
                "big_chances_created": 0.0729,
                "xgot": 0.012,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1.1249,
                "tackles": 1.3014,
                "tackles_won": 0.7181,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6262,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3714,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7199,
                "fouls_drawn": 0.876,
                "blocks": 0.4602,
                "goals": 0.0032,
                "goal_rate": 0.0032,
                "assists": 0.0235,
                "assist_rate": 0.0235,
                "expected_goals": 0.0399,
                "expected_assists": 0.0448,
                "shots_on_target": 0.214,
                "big_chances_created": 0.0729,
                "xgot": 0.012,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051,
                "opponent_faced": "Danny Welbeck",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Danny Welbeck",
                  "matchup_zone": "Shape fallback"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 1.1249,
                "tackles": 1.3014,
                "tackles_won": 0.7181,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6262,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3714,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7199,
                "fouls_drawn": 0.876,
                "blocks": 0.4602,
                "goal_rate": 0.0032,
                "goals": 0,
                "assist_rate": 0.0235,
                "assists": 0,
                "expected_goals": 0.0399,
                "expected_assists": 0.0448,
                "shots_on_target": 0.214,
                "big_chances_created": 0.0729,
                "xgot": 0.012,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051,
                "opponent_faced": "Danny Welbeck",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "interceptions": 1.1249,
                "tackles": 1.3014,
                "tackles_won": 0.7181,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6262,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3714,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7199,
                "fouls_drawn": 0.876,
                "blocks": 0.4602,
                "goal_rate": 0.0032,
                "goals": 0,
                "assist_rate": 0.0235,
                "assists": 0,
                "expected_goals": 0.0445,
                "expected_assists": 0.0499,
                "shots_on_target": 0.214,
                "big_chances_created": 0.0729,
                "xgot": 0.0134,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051,
                "opponent_faced": "Danny Welbeck",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_assists",
                  "before": 0.0448,
                  "after": 0.0499
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 4 by projected rating, fifa_overall 82.0)",
              "stats": {
                "interceptions": 1.1249,
                "tackles": 1.3014,
                "tackles_won": 0.7181,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6262,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3714,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7199,
                "fouls_drawn": 0.876,
                "blocks": 0.4602,
                "goal_rate": 0.0032,
                "goals": 0,
                "assist_rate": 0.0235,
                "assists": 0,
                "expected_goals": 0.0445,
                "expected_assists": 0.0499,
                "shots_on_target": 0.214,
                "big_chances_created": 0.0729,
                "xgot": 0.0134,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051,
                "opponent_faced": "Danny Welbeck",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "match_squad_rank": 4,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 786,
                "fifa_rank": 368.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.1249,
                "tackles": 1.3014,
                "tackles_won": 0.7181,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6262,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3714,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7199,
                "fouls_drawn": 0.876,
                "blocks": 0.4602,
                "goal_rate": 0.0032,
                "goals": 0,
                "assist_rate": 0.0235,
                "assists": 0,
                "expected_goals": 0.0445,
                "expected_assists": 0.0499,
                "shots_on_target": 0.214,
                "big_chances_created": 0.0729,
                "xgot": 0.0134,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051,
                "opponent_faced": "Danny Welbeck",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0435,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0435,
                "goal_rate": 0.0032,
                "scorer_weight": 0.0356,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0243,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 12,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 1.1249,
                "tackles": 1.3014,
                "tackles_won": 0.7181,
                "clearances": 4.6871,
                "aerial_won": 2.5938,
                "total_shots": 0.6262,
                "rating": 6.9657,
                "minutes": 89.42,
                "total_pass": 57.2255,
                "accurate_pass": 50.6975,
                "duels_won": 5.3348,
                "total_long_balls": 4.9734,
                "accurate_long_balls": 2.867,
                "total_own_half_passes": 34.2307,
                "accurate_own_half_passes": 31.5488,
                "total_opp_half_passes": 22.9947,
                "accurate_opp_half_passes": 19.1485,
                "crosses_total": 0.3714,
                "crosses_accurate": 0.1456,
                "touches": 69.5919,
                "possession_lost": 7.3427,
                "dispossessed": 0.0022,
                "duels_lost": 2.384,
                "aerial_lost": 1.0598,
                "total_contest": 0.2251,
                "won_contest": 0.2118,
                "ball_recovery": 4.1758,
                "challenges_lost": 0.5957,
                "fouls": 0.7199,
                "fouls_drawn": 0.876,
                "blocks": 0.4602,
                "goal_rate": 0.0032,
                "goals": 0,
                "assist_rate": 0.0235,
                "assists": 0,
                "expected_goals": 0.0445,
                "expected_assists": 0.0499,
                "shots_on_target": 0.214,
                "big_chances_created": 0.0729,
                "xgot": 0.0134,
                "ball_carries": 24.69,
                "total_progression": 129.4529,
                "progressive_carries": 1.8693,
                "key_pass": 0.2715,
                "shots_off_target": 0.4051,
                "opponent_faced": "Danny Welbeck",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0435,
                "projected_assists": 0,
                "assist_probability": 0.0487,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0487,
                "assist_rate": 0.0235,
                "provider_weight": 0.0399,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0402,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 9,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Leny Yoro": {
          "player_id": 1153315,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 15,
          "height": 190,
          "market_value": 42000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 6.6966,
            "minutes": 84,
            "total_pass": 46,
            "accurate_pass": 41,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 26,
            "accurate_own_half_passes": 23,
            "total_opp_half_passes": 20,
            "accurate_opp_half_passes": 17,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 62,
            "possession_lost": 7.4182,
            "dispossessed": 0.1889,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.1035,
            "expected_assists": 0.073,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.1299,
            "ball_carries": 16,
            "total_progression": 60,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.0,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Pedro Neto",
            "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.0983,
            "projected_assists": 0,
            "assist_probability": 0.0704,
            "finishing_factor": 0.8,
            "creation_factor": 0.8,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1842,
                "expected_assists": 0.1865,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 72,
                "accurate_pass": 64,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 5,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0196,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 19,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 8,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 59,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0115,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 20,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 5,
                "clearances": 3,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 13,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0144,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 5,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 16,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0084,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 17,
                "interceptions": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 16,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0013,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023939,
              "match_date": "2026-05-03",
              "home_team": "Manchester United",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023926,
              "match_date": "2026-04-27",
              "home_team": "Manchester United",
              "away_team": "Brentford",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Brentford",
              "stats": {
                "minutes": 17,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025024,
              "match_date": "2026-04-13",
              "home_team": "Manchester United",
              "away_team": "Leeds United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1966,
                "expected_assists": 0.1879,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 66,
                "accurate_pass": 58,
                "key_pass": 1,
                "interceptions": 5,
                "clearances": 9,
                "aerial_won": 6,
                "duels_won": 9,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023997,
              "match_date": "2026-03-20",
              "home_team": "Bournemouth",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1988,
                "expected_assists": 0.0002,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 13,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 4,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2687,
            "combined_rank_score": 939.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 757.0,
            "sofascore_rating": 6.6567,
            "sofascore_appearances": 32.0,
            "fifa_rank": 1121.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6966,
            "source_file": "data/player_rankings.csv",
            "player_name": "Leny Yoro",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Park Tae-yong",
                  "ranking": 2682
                },
                {
                  "player_name": "Valentín Barco",
                  "ranking": 2683
                },
                {
                  "player_name": "Denis Bouanga",
                  "ranking": 2684
                },
                {
                  "player_name": "Paulo Gazzaniga",
                  "ranking": 2685
                },
                {
                  "player_name": "Evander",
                  "ranking": 2686
                }
              ],
              "lower": [
                {
                  "player_name": "Josh Cullen",
                  "ranking": 2688
                },
                {
                  "player_name": "Jorge Espejo",
                  "ranking": 2689
                },
                {
                  "player_name": "Samuele Zannoni",
                  "ranking": 2690
                },
                {
                  "player_name": "Sukhrobjon Parmonkulov",
                  "ranking": 2691
                },
                {
                  "player_name": "Hislat Khalilov",
                  "ranking": 2692
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.752,
          "history_matches": 37,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 37,
            "data_confidence": 0.752,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0102,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 17.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "XGBoost regressor (D_service) evaluated 37 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Manchester Utd, rel: 0.01, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1.3227,
                "tackles": 1.8281,
                "tackles_won": 1.0686,
                "clearances": 3.7101,
                "aerial_won": 1.2611,
                "total_shots": 0.5634,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 45.6966,
                "accurate_pass": 40.1407,
                "duels_won": 4.1088,
                "total_long_balls": 2.522,
                "accurate_long_balls": 1.1543,
                "total_own_half_passes": 25.4315,
                "accurate_own_half_passes": 23.1134,
                "total_opp_half_passes": 20.2651,
                "accurate_opp_half_passes": 17.0274,
                "crosses_total": 0.0928,
                "crosses_accurate": 0.0083,
                "touches": 61.3995,
                "possession_lost": 7.3433,
                "dispossessed": 0.187,
                "duels_lost": 3.3965,
                "aerial_lost": 1.9845,
                "total_contest": 0.2504,
                "won_contest": 0.2504,
                "ball_recovery": 3.8747,
                "challenges_lost": 0.7136,
                "fouls": 0.5114,
                "fouls_drawn": 0.5152,
                "blocks": 0.3679,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0919,
                "expected_assists": 0.0648,
                "shots_on_target": 0.1897,
                "big_chances_created": 0.0,
                "xgot": 0.1153,
                "ball_carries": 15.9689,
                "total_progression": 58.9949,
                "progressive_carries": 0.4822,
                "key_pass": 0.4268,
                "shots_off_target": 0.3737
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1504,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1278,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.1086,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 13.0,
                    "is_starting": false,
                    "weight": 0.0923,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 16.0,
                    "is_starting": false,
                    "weight": 0.0785,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 16.0,
                    "is_starting": false,
                    "weight": 0.0667,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-03",
                    "opponent": "Liverpool FC",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0567,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Brentford",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.0482,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-04-13",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-03-20",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 5.9
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.9735,
                  "aerialWon": 0.9928,
                  "totalClearance_p90": 5.5669,
                  "totalTackle": 1.2915,
                  "totalPass": 29.4786
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.3226807117462158,
                    "model_output": 1.3227,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1173
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.1254
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.06
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0273
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0225
                        }
                      ],
                      "others": 0.1017,
                      "total": 1.3227,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.126731
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.119747
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.052576
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.023028
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.018609
                        }
                      ],
                      "others_margin": 0.079936
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.828083872795105,
                    "model_output": 1.8281,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.18
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0917
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0878
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0885
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0538
                        }
                      ],
                      "others": 0.0482,
                      "total": 1.8281,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.1221
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.056903
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.051636
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.049491
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.029783
                        }
                      ],
                      "others_margin": 0.026735
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.0685735940933228,
                    "model_output": 1.0686,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1174
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0678
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0575
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0494
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0457
                        }
                      ],
                      "others": 0.0753,
                      "total": 1.0686,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.130042
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.068006
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.054263
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.046422
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.045022
                        }
                      ],
                      "others_margin": 0.073043
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.7100625038146973,
                    "model_output": 3.7101,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.5126
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.4675
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.2432
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.2117
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.1146
                        }
                      ],
                      "others": 0.1502,
                      "total": 3.7101,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.139219
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.126171
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.072503
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.063412
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.032723
                        }
                      ],
                      "others_margin": 0.041307
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.2611205577850342,
                    "model_output": 1.2611,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.2388
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1549
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0643
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0572
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0547
                        }
                      ],
                      "others": -0.0944,
                      "total": 1.2611,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.19038
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.127508
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.048523
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.043038
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.041214
                        }
                      ],
                      "others_margin": -0.072184
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5633558630943298,
                    "model_output": 0.5634,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0642
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0281
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0208
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.019
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0172
                        }
                      ],
                      "others": -0.0228,
                      "total": 0.5634,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.064194
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.028072
                        },
                        {
                          "name": "rating",
                          "margin": -0.020788
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.018988
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.017191
                        }
                      ],
                      "others_margin": -0.022841
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.696633338928223,
                    "model_output": 6.6966,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0215
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0164
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0147
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0121
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0114
                        }
                      ],
                      "others": -0.0228,
                      "total": 6.6966,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.021495
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.016447
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.014691
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.012126
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.011436
                        }
                      ],
                      "others_margin": -0.022686
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 37,
                  "role_matches": 21,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0102, quality 0.791)",
              "stats": {
                "interceptions": 1.3362,
                "tackles": 1.8467,
                "tackles_won": 1.0795,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5691,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0937,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5166,
                "fouls_drawn": 0.5205,
                "blocks": 0.3717,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0928,
                "expected_assists": 0.0655,
                "shots_on_target": 0.1916,
                "big_chances_created": 0.0,
                "xgot": 0.1165,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775
              },
              "params": {
                "market_value_eur": 42000000,
                "quality_factor": 0.7909,
                "boost_factor": 1.0102,
                "reference_quality": 0.505,
                "history_matches": 37,
                "history_shrink": 0.119,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0010)",
              "stats": {
                "interceptions": 1.3444,
                "tackles": 1.8467,
                "tackles_won": 1.0784,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5685,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0936,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5209,
                "fouls_drawn": 0.52,
                "blocks": 0.3717,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0928,
                "expected_assists": 0.0655,
                "shots_on_target": 0.1914,
                "big_chances_created": 0.0,
                "xgot": 0.1165,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775
              },
              "params": {
                "blend_weight": 0.001,
                "history_matches": 37,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9333,
                "prior_reliability": 0.0133,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 1.3362,
                  "after": 1.3444
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.3444,
                "tackles": 1.8467,
                "tackles_won": 1.0784,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5689,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0936,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5209,
                "fouls_drawn": 0.52,
                "blocks": 0.3717,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0928,
                "expected_assists": 0.0655,
                "shots_on_target": 0.1914,
                "big_chances_created": 0.0,
                "xgot": 0.1165,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1.3444,
                "tackles": 1.8467,
                "tackles_won": 1.0784,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5689,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0936,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5209,
                "fouls_drawn": 0.52,
                "blocks": 0.3717,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0928,
                "expected_assists": 0.0655,
                "shots_on_target": 0.1914,
                "big_chances_created": 0.0,
                "xgot": 0.1165,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Pedro Neto",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 1.3444,
                "tackles": 1.8467,
                "tackles_won": 1.0784,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5689,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0936,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5209,
                "fouls_drawn": 0.52,
                "blocks": 0.3717,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0928,
                "expected_assists": 0.0655,
                "shots_on_target": 0.1914,
                "big_chances_created": 0.0,
                "xgot": 0.1165,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "interceptions": 1.3444,
                "tackles": 1.8467,
                "tackles_won": 1.0784,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5689,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0936,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5209,
                "fouls_drawn": 0.52,
                "blocks": 0.3717,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1035,
                "expected_assists": 0.073,
                "shots_on_target": 0.1914,
                "big_chances_created": 0.0,
                "xgot": 0.1299,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0928,
                  "after": 0.1035
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0655,
                  "after": 0.073
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 17 by projected rating, fifa_overall 78.0)",
              "stats": {
                "interceptions": 1.3444,
                "tackles": 1.8467,
                "tackles_won": 1.0784,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5689,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0936,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5209,
                "fouls_drawn": 0.52,
                "blocks": 0.3717,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1035,
                "expected_assists": 0.073,
                "shots_on_target": 0.1914,
                "big_chances_created": 0.0,
                "xgot": 0.1299,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2687,
                "fifa_rank": 1121.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.3444,
                "tackles": 1.8467,
                "tackles_won": 1.0784,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5689,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0936,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5209,
                "fouls_drawn": 0.52,
                "blocks": 0.3717,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1035,
                "expected_assists": 0.073,
                "shots_on_target": 0.1914,
                "big_chances_created": 0.0,
                "xgot": 0.1299,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "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.0983,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0983,
                "goal_rate": 0.0,
                "scorer_weight": 0.0828,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0565,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 1.3444,
                "tackles": 1.8467,
                "tackles_won": 1.0784,
                "clearances": 3.7479,
                "aerial_won": 1.274,
                "total_shots": 0.5689,
                "rating": 6.6966,
                "minutes": 84.0,
                "total_pass": 46.1627,
                "accurate_pass": 40.5501,
                "duels_won": 4.1507,
                "total_long_balls": 2.5477,
                "accurate_long_balls": 1.1661,
                "total_own_half_passes": 25.6909,
                "accurate_own_half_passes": 23.3492,
                "total_opp_half_passes": 20.4718,
                "accurate_opp_half_passes": 17.2011,
                "crosses_total": 0.0936,
                "crosses_accurate": 0.0084,
                "touches": 62.0258,
                "possession_lost": 7.4182,
                "dispossessed": 0.1889,
                "duels_lost": 3.4311,
                "aerial_lost": 2.0047,
                "total_contest": 0.253,
                "won_contest": 0.253,
                "ball_recovery": 3.9142,
                "challenges_lost": 0.7209,
                "fouls": 0.5209,
                "fouls_drawn": 0.52,
                "blocks": 0.3717,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1035,
                "expected_assists": 0.073,
                "shots_on_target": 0.1914,
                "big_chances_created": 0.0,
                "xgot": 0.1299,
                "ball_carries": 16.1318,
                "total_progression": 59.5966,
                "progressive_carries": 0.4871,
                "key_pass": 0.4312,
                "shots_off_target": 0.3775,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Pedro Neto",
                "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.0983,
                "projected_assists": 0,
                "assist_probability": 0.0704,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0704,
                "assist_rate": 0.0,
                "provider_weight": 0.0584,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0588,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Diogo Dalot": {
          "player_id": 843200,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 184,
          "market_value": 28000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 2,
            "total_shots": 1,
            "rating": 6.7818,
            "minutes": 88,
            "total_pass": 43,
            "accurate_pass": 34,
            "duels_won": 7,
            "total_long_balls": 4,
            "accurate_long_balls": 1,
            "total_own_half_passes": 20,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 23,
            "accurate_opp_half_passes": 18,
            "crosses_total": 3,
            "crosses_accurate": 1,
            "touches": 67,
            "possession_lost": 14.5811,
            "dispossessed": 0.318,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 6,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0022,
            "goals": 0,
            "assist_rate": 0.0164,
            "assists": 0,
            "expected_goals": 0.0615,
            "expected_assists": 0.0609,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0431,
            "ball_carries": 15,
            "total_progression": 85,
            "progressive_carries": 3,
            "key_pass": 1,
            "shots_off_target": 1,
            "tackles_in_zone": 2.2,
            "tackles_won_in_zone": 1.6,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.465,
            "opponent_faced": "Cole Palmer",
            "pressing_zone": "Left Wing vs Right Back — Flank Battle",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0596,
            "projected_assists": 0,
            "assist_probability": 0.0591,
            "finishing_factor": 0.8,
            "creation_factor": 0.8,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0339,
                "expected_assists": 0.0341,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 56,
                "accurate_pass": 37,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 3,
                "aerial_won": 5,
                "duels_won": 11,
                "ball_recovery": 7,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0152,
                "total_shots": 0,
                "total_pass": 46,
                "accurate_pass": 31,
                "key_pass": 3,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 3,
                "clearances": 5,
                "aerial_won": 9,
                "duels_won": 15,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 31,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0738,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 10,
                "key_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0566,
                "expected_assists": 0.0532,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 51,
                "accurate_pass": 42,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0195,
                "expected_assists": 0.0471,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 40,
                "accurate_pass": 34,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 9
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 84,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0101,
                "expected_assists": 0.0149,
                "total_shots": 1,
                "total_pass": 36,
                "accurate_pass": 33,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 74,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.152,
                "expected_assists": 0.1158,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 29,
                "accurate_pass": 26,
                "key_pass": 3,
                "interceptions": 2,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 10,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0046,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3016,
                "expected_assists": 0.1528,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 38,
                "accurate_pass": 34,
                "key_pass": 2,
                "tackles": 4,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 7,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023939,
              "match_date": "2026-05-03",
              "home_team": "Manchester United",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0585,
                "expected_assists": 0.0153,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 27,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2123,
            "combined_rank_score": 802.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 510.0,
            "sofascore_rating": 6.8529,
            "sofascore_appearances": 34.0,
            "fifa_rank": 1095.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7818,
            "source_file": "data/player_rankings.csv",
            "player_name": "Diogo Dalot",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "José Ortiz",
                  "ranking": 2118
                },
                {
                  "player_name": "Christian Bracco",
                  "ranking": 2119
                },
                {
                  "player_name": "Park Su-been",
                  "ranking": 2120
                },
                {
                  "player_name": "Edvinas Girdvainis",
                  "ranking": 2121
                },
                {
                  "player_name": "Son Seung-Min",
                  "ranking": 2122
                }
              ],
              "lower": [
                {
                  "player_name": "Ainsley Maitland-Niles",
                  "ranking": 2124
                },
                {
                  "player_name": "Crysencio Summerville",
                  "ranking": 2125
                },
                {
                  "player_name": "Gabriel Jesus",
                  "ranking": 2126
                },
                {
                  "player_name": "Sepp van den Berg",
                  "ranking": 2127
                },
                {
                  "player_name": "Chan-hyung Lee",
                  "ranking": 2128
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.759,
          "history_matches": 42,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 42,
            "data_confidence": 0.759,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0063,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 84.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 4.29,
              "shots_on_target_pct": 25.0,
              "prior_reliability": 0.06
            },
            "rationale": "XGBoost regressor (D_service) evaluated 42 historical appearances across 7 target models; FBref 2026-2027 prior blended (Premier League, Manchester Utd, rel: 0.06, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1.0405,
                "tackles": 2.0433,
                "tackles_won": 1.4227,
                "clearances": 3.0234,
                "aerial_won": 2.0474,
                "total_shots": 0.7284,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 42.8964,
                "accurate_pass": 34.0905,
                "duels_won": 6.5874,
                "total_long_balls": 3.6344,
                "accurate_long_balls": 1.2701,
                "total_own_half_passes": 19.6961,
                "accurate_own_half_passes": 16.5635,
                "total_opp_half_passes": 23.2003,
                "accurate_opp_half_passes": 17.5269,
                "crosses_total": 2.6303,
                "crosses_accurate": 0.6535,
                "touches": 66.4121,
                "possession_lost": 14.4898,
                "dispossessed": 0.316,
                "duels_lost": 4.1078,
                "aerial_lost": 1.2581,
                "total_contest": 2.0102,
                "won_contest": 1.0095,
                "ball_recovery": 5.767,
                "challenges_lost": 0.576,
                "fouls": 0.957,
                "fouls_drawn": 0.4951,
                "blocks": 0.207,
                "goals": 0.0022,
                "goal_rate": 0.0022,
                "assists": 0.0164,
                "assist_rate": 0.0164,
                "expected_goals": 0.0549,
                "expected_assists": 0.0543,
                "shots_on_target": 0.1317,
                "big_chances_created": 0.1257,
                "xgot": 0.0385,
                "ball_carries": 15.1976,
                "total_progression": 84.162,
                "progressive_carries": 2.9678,
                "key_pass": 1.4258,
                "shots_off_target": 0.5967
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 31.0,
                    "is_starting": false,
                    "weight": 0.1085,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 74.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.0481,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-03",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.4739,
                  "aerialWon": 2.8334,
                  "totalClearance_p90": 3.3073,
                  "totalTackle": 2.0128,
                  "totalPass": 37.1712
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.0404930114746094,
                    "model_output": 1.0405,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1117
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0476
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0445
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0382
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0266
                        }
                      ],
                      "others": 0.0456,
                      "total": 1.0405,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.121038
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.047389
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.04428
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.038158
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.026423
                        }
                      ],
                      "others_margin": 0.044781
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 2.043325901031494,
                    "model_output": 2.0433,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2043
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.1094
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.1145
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0854
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0537
                        }
                      ],
                      "others": 0.0903,
                      "total": 2.0433,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.137526
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.066526
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.065203
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.045996
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.027873
                        }
                      ],
                      "others_margin": 0.04527
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.422703742980957,
                    "model_output": 1.4227,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1225
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0738
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0627
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0621
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0579
                        }
                      ],
                      "others": 0.198,
                      "total": 1.4227,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.135228
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.073432
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.058431
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.054726
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.048463
                        }
                      ],
                      "others_margin": 0.149864
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.023362874984741,
                    "model_output": 3.0234,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4741
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.4304
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.2932
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.2399
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.2297
                        }
                      ],
                      "others": -0.1486,
                      "total": 3.0234,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.129415
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.116755
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.088139
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.078385
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.075179
                        }
                      ],
                      "others_margin": -0.048008
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 2.0473837852478027,
                    "model_output": 2.0474,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.7157
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2474
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.1423
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0703
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0674
                        }
                      ],
                      "others": -0.1481,
                      "total": 2.0474,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.418411
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.111691
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.062716
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.032504
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.03118
                        }
                      ],
                      "others_margin": -0.069856
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.7284208536148071,
                    "model_output": 0.7284,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.1458
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0492
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.023
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0227
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0196
                        }
                      ],
                      "others": -0.0104,
                      "total": 0.7284,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.145798
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.049173
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.022954
                        },
                        {
                          "name": "duelWon",
                          "margin": 0.022667
                        },
                        {
                          "name": "history_matches",
                          "margin": 0.019618
                        }
                      ],
                      "others_margin": -0.010329
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.7818403244018555,
                    "model_output": 6.7818,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0295
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "contribution": 0.0294
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0156
                        },
                        {
                          "name": "errorLeadToAShot",
                          "contribution": 0.0129
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0121
                        }
                      ],
                      "others": -0.0578,
                      "total": 6.7818,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.02953
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "margin": 0.029399
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015557
                        },
                        {
                          "name": "errorLeadToAShot",
                          "margin": 0.012943
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.012054
                        }
                      ],
                      "others_margin": -0.057935
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 42,
                  "role_matches": 35,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0063, quality 0.702)",
              "stats": {
                "interceptions": 1.047,
                "tackles": 2.0562,
                "tackles_won": 1.4317,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.733,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6469,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.963,
                "fouls_drawn": 0.4982,
                "blocks": 0.2083,
                "goals": 0.0022,
                "goal_rate": 0.0022,
                "assists": 0.0165,
                "assist_rate": 0.0165,
                "expected_goals": 0.0552,
                "expected_assists": 0.0546,
                "shots_on_target": 0.1325,
                "big_chances_created": 0.1265,
                "xgot": 0.0387,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005
              },
              "params": {
                "market_value_eur": 28000000,
                "quality_factor": 0.7022,
                "boost_factor": 1.0063,
                "reference_quality": 0.505,
                "history_matches": 42,
                "history_shrink": 0.1064,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0041)",
              "stats": {
                "interceptions": 1.0517,
                "tackles": 2.0562,
                "tackles_won": 1.4303,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.7474,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6585,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.959,
                "fouls_drawn": 0.4961,
                "blocks": 0.2083,
                "goals": 0.0022,
                "goal_rate": 0.0022,
                "assists": 0.0164,
                "assist_rate": 0.0164,
                "expected_goals": 0.0552,
                "expected_assists": 0.0546,
                "shots_on_target": 0.1363,
                "big_chances_created": 0.1265,
                "xgot": 0.0387,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005
              },
              "params": {
                "blend_weight": 0.0041,
                "history_matches": 42,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9806,
                "prior_reliability": 0.06,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.733,
                  "after": 0.7474
                },
                {
                  "stat": "totalCross",
                  "before": 2.6469,
                  "after": 2.6585
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.0517,
                "tackles": 2.0562,
                "tackles_won": 1.4303,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.7474,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6585,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.959,
                "fouls_drawn": 0.4961,
                "blocks": 0.2083,
                "goals": 0.0022,
                "goal_rate": 0.0022,
                "assists": 0.0164,
                "assist_rate": 0.0164,
                "expected_goals": 0.0552,
                "expected_assists": 0.0546,
                "shots_on_target": 0.1363,
                "big_chances_created": 0.1265,
                "xgot": 0.0387,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1.0517,
                "tackles": 2.0562,
                "tackles_won": 1.4303,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.7474,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6585,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.959,
                "fouls_drawn": 0.4961,
                "blocks": 0.2083,
                "goals": 0.0022,
                "goal_rate": 0.0022,
                "assists": 0.0164,
                "assist_rate": 0.0164,
                "expected_goals": 0.0552,
                "expected_assists": 0.0546,
                "shots_on_target": 0.1363,
                "big_chances_created": 0.1265,
                "xgot": 0.0387,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.465,
                "opponent_faced": "Cole Palmer",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Cole Palmer",
                  "matchup_zone": "Left Wing vs Right Back — Flank Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 1.0517,
                "tackles": 2.0562,
                "tackles_won": 1.4303,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.7474,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6585,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.959,
                "fouls_drawn": 0.4961,
                "blocks": 0.2083,
                "goal_rate": 0.0022,
                "goals": 0,
                "assist_rate": 0.0164,
                "assists": 0,
                "expected_goals": 0.0552,
                "expected_assists": 0.0546,
                "shots_on_target": 0.1363,
                "big_chances_created": 0.1265,
                "xgot": 0.0387,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.465,
                "opponent_faced": "Cole Palmer",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "interceptions": 1.0517,
                "tackles": 2.0562,
                "tackles_won": 1.4303,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.7474,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6585,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.959,
                "fouls_drawn": 0.4961,
                "blocks": 0.2083,
                "goal_rate": 0.0022,
                "goals": 0,
                "assist_rate": 0.0164,
                "assists": 0,
                "expected_goals": 0.0615,
                "expected_assists": 0.0609,
                "shots_on_target": 0.1363,
                "big_chances_created": 0.1265,
                "xgot": 0.0431,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.465,
                "opponent_faced": "Cole Palmer",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0552,
                  "after": 0.0615
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0546,
                  "after": 0.0609
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 78.0)",
              "stats": {
                "interceptions": 1.0517,
                "tackles": 2.0562,
                "tackles_won": 1.4303,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.7474,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6585,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.959,
                "fouls_drawn": 0.4961,
                "blocks": 0.2083,
                "goal_rate": 0.0022,
                "goals": 0,
                "assist_rate": 0.0164,
                "assists": 0,
                "expected_goals": 0.0615,
                "expected_assists": 0.0609,
                "shots_on_target": 0.1363,
                "big_chances_created": 0.1265,
                "xgot": 0.0431,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.465,
                "opponent_faced": "Cole Palmer",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2123,
                "fifa_rank": 1095.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.0517,
                "tackles": 2.0562,
                "tackles_won": 1.4303,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.7474,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6585,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.959,
                "fouls_drawn": 0.4961,
                "blocks": 0.2083,
                "goal_rate": 0.0022,
                "goals": 0,
                "assist_rate": 0.0164,
                "assists": 0,
                "expected_goals": 0.0615,
                "expected_assists": 0.0609,
                "shots_on_target": 0.1363,
                "big_chances_created": 0.1265,
                "xgot": 0.0431,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.465,
                "opponent_faced": "Cole Palmer",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0596,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0596,
                "goal_rate": 0.0022,
                "scorer_weight": 0.0492,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0336,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 9,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 1.0517,
                "tackles": 2.0562,
                "tackles_won": 1.4303,
                "clearances": 3.0424,
                "aerial_won": 2.0603,
                "total_shots": 0.7474,
                "rating": 6.7818,
                "minutes": 88.25,
                "total_pass": 43.1666,
                "accurate_pass": 34.3053,
                "duels_won": 6.6289,
                "total_long_balls": 3.6573,
                "accurate_long_balls": 1.2781,
                "total_own_half_passes": 19.8202,
                "accurate_own_half_passes": 16.6679,
                "total_opp_half_passes": 23.3465,
                "accurate_opp_half_passes": 17.6373,
                "crosses_total": 2.6585,
                "crosses_accurate": 0.6576,
                "touches": 66.8305,
                "possession_lost": 14.5811,
                "dispossessed": 0.318,
                "duels_lost": 4.1337,
                "aerial_lost": 1.266,
                "total_contest": 2.0229,
                "won_contest": 1.0159,
                "ball_recovery": 5.8033,
                "challenges_lost": 0.5796,
                "fouls": 0.959,
                "fouls_drawn": 0.4961,
                "blocks": 0.2083,
                "goal_rate": 0.0022,
                "goals": 0,
                "assist_rate": 0.0164,
                "assists": 0,
                "expected_goals": 0.0615,
                "expected_assists": 0.0609,
                "shots_on_target": 0.1363,
                "big_chances_created": 0.1265,
                "xgot": 0.0431,
                "ball_carries": 15.2933,
                "total_progression": 84.6922,
                "progressive_carries": 2.9865,
                "key_pass": 1.4348,
                "shots_off_target": 0.6005,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.465,
                "opponent_faced": "Cole Palmer",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0596,
                "projected_assists": 0,
                "assist_probability": 0.0591,
                "finishing_factor": 0.8,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0591,
                "assist_rate": 0.0164,
                "provider_weight": 0.0487,
                "squad_weight_total": 0.9934,
                "weight_share": 0.049,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 8,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Senne Lammens": {
          "player_id": 964753,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 193,
          "market_value": 38000000,
          "stats": {
            "saves": 3,
            "goals_prevented": -0.0278,
            "rating": 6.8795,
            "minutes": 90,
            "total_pass": 27,
            "accurate_pass": 18,
            "total_long_balls": 14,
            "accurate_long_balls": 5,
            "touches": 35,
            "clearances": 1,
            "ball_recovery": 7,
            "high_claims": 1,
            "punches": 0.6251,
            "aerial_won": 0,
            "sweeper_actions": 1,
            "sweeper_accurate": 1,
            "saves_inside_box": 2,
            "possession_lost": 9.6349,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 17,
            "accurate_own_half_passes": 15,
            "gk_engine_opponent_lambda": 1.8102,
            "shots_faced": 15.8,
            "expected_saves": 3.87,
            "high_pressure_saves": 1.33,
            "opponent_faced": "Cole Palmer, 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,
            "finishing_factor": 1.0,
            "creation_factor": 1.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0365,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 36,
                "accurate_pass": 27,
                "key_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 8,
                "saves": 1,
                "goals_prevented": -0.1873
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0024,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 16,
                "clearances": 1,
                "ball_recovery": 9,
                "saves": 3,
                "goals_prevented": -0.006
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 14,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 6,
                "saves": 2,
                "goals_prevented": 0.3804
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 8.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 18,
                "ball_recovery": 5,
                "saves": 6,
                "goals_prevented": 0.494
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 13,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 5,
                "saves": 1,
                "goals_prevented": -0.0345
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 14,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 14,
                "saves": 4,
                "goals_prevented": -0.9145
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 18,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 6,
                "saves": 3,
                "goals_prevented": 0.4931
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 12,
                "clearances": 2,
                "ball_recovery": 8,
                "saves": 2,
                "goals_prevented": -0.0734
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0017,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 13,
                "ball_recovery": 5,
                "saves": 2,
                "goals_prevented": 0.3018
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0008,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 18,
                "clearances": 1,
                "ball_recovery": 9,
                "saves": 2,
                "goals_prevented": -0.089
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 551,
            "combined_rank_score": 305.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 229.0,
            "sofascore_rating": 7.15,
            "sofascore_appearances": 2.0,
            "fifa_rank": 381.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8795,
            "source_file": "data/player_rankings.csv",
            "player_name": "Senne Lammens",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Raniele",
                  "ranking": 546
                },
                {
                  "player_name": "David Button",
                  "ranking": 547
                },
                {
                  "player_name": "Demethryus",
                  "ranking": 548
                },
                {
                  "player_name": "Pil-su Choi",
                  "ranking": 549
                },
                {
                  "player_name": "Aaron Mayol",
                  "ranking": 550
                }
              ],
              "lower": [
                {
                  "player_name": "Agustín Arce",
                  "ranking": 552
                },
                {
                  "player_name": "Alejandro Panach Olmo",
                  "ranking": 553
                },
                {
                  "player_name": "Edu Altozano",
                  "ranking": 554
                },
                {
                  "player_name": "Joseph Otunenche",
                  "ranking": 555
                },
                {
                  "player_name": "Dean Huijsen",
                  "ranking": 556
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.77,
          "history_matches": 40,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "goalsPrevented",
              "rating",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 40,
            "data_confidence": 0.77,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0088,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "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 (G_service) evaluated 40 historical appearances across 3 target models; FBref 2026-2027 prior blended (Premier League, Manchester Utd, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 2.8477,
                "goals_prevented": -0.0276,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.2123,
                "accurate_pass": 17.7047,
                "total_long_balls": 13.9751,
                "accurate_long_balls": 4.5912,
                "touches": 34.9403,
                "clearances": 0.719,
                "ball_recovery": 7.4132,
                "high_claims": 1.0021,
                "punches": 0.6196,
                "aerial_won": 0.2436,
                "sweeper_actions": 0.7417,
                "sweeper_accurate": 0.5373,
                "saves_inside_box": 2.0979,
                "possession_lost": 9.5509,
                "duels_won": 0.397,
                "duels_lost": 0.1657,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1538,
                "total_own_half_passes": 16.851,
                "accurate_own_half_passes": 14.3881
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-10-30T10:03:31.159511+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 201,
                    "rows": 7335
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0923,
                    "rating": 8.6
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.3
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "sweeper_actions_p90": 0.5451,
                  "accurateOwnHalfPasses": 14.3881,
                  "totalLongBalls": 13.9751,
                  "commanding_index": 1.15,
                  "accurateKeeperSweeper": 0.5373,
                  "distribution_accuracy": 0.8396
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.8477065563201904,
                    "model_output": 2.8477,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0453
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0393
                      },
                      {
                        "name": "save_contribution",
                        "importance": 0.038
                      },
                      {
                        "name": "saves",
                        "importance": 0.0361
                      },
                      {
                        "name": "commanding_index",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 2.9243,
                      "items": [
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0239
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0196
                        },
                        {
                          "name": "touches",
                          "contribution": -0.0154
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.0105
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0102
                        }
                      ],
                      "others": -0.0448,
                      "total": 2.8477,
                      "log_link": true,
                      "margin_base": 1.07304,
                      "item_margins": [
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.008124
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.006663
                        },
                        {
                          "name": "touches",
                          "margin": -0.005272
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "margin": -0.003624
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.003504
                        }
                      ],
                      "others_margin": -0.015587
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.02755630388855934,
                    "model_output": -0.0276,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0462
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0392
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0391
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0381
                      },
                      {
                        "name": "punches",
                        "importance": 0.0369
                      }
                    ],
                    "decomposition": {
                      "base": -0.0231,
                      "items": [
                        {
                          "name": "goodHighClaim",
                          "contribution": -0.0119
                        },
                        {
                          "name": "sweeper_accuracy",
                          "contribution": -0.0114
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "contribution": -0.0111
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0086
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0083
                        }
                      ],
                      "others": 0.0302,
                      "total": -0.0276,
                      "log_link": false,
                      "margin_base": -0.023055,
                      "item_margins": [
                        {
                          "name": "goodHighClaim",
                          "margin": -0.011924
                        },
                        {
                          "name": "sweeper_accuracy",
                          "margin": -0.011376
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "margin": -0.011079
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.008583
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.008321
                        }
                      ],
                      "others_margin": 0.030139
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.879461765289307,
                    "model_output": 6.8795,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.039
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0364
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.036
                      },
                      {
                        "name": "totalKeeperSweeper",
                        "importance": 0.0357
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0356
                      }
                    ],
                    "decomposition": {
                      "base": 6.9903,
                      "items": [
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0343
                        },
                        {
                          "name": "totalOwnHalfPasses",
                          "contribution": -0.0224
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.0151
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "contribution": -0.0133
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": -0.0085
                        }
                      ],
                      "others": -0.0172,
                      "total": 6.8795,
                      "log_link": false,
                      "margin_base": 6.99032,
                      "item_margins": [
                        {
                          "name": "long_ball_accuracy",
                          "margin": -0.034331
                        },
                        {
                          "name": "totalOwnHalfPasses",
                          "margin": -0.022382
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "margin": -0.015068
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "margin": -0.013266
                        },
                        {
                          "name": "accurateLongBalls",
                          "margin": -0.008545
                        }
                      ],
                      "others_margin": -0.017266
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 40,
                  "role_matches": 40,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0088, quality 0.770)",
              "stats": {
                "saves": 2.8728,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1552,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147
              },
              "params": {
                "market_value_eur": 38000000,
                "quality_factor": 0.7699,
                "boost_factor": 1.0088,
                "reference_quality": 0.505,
                "history_matches": 40,
                "history_shrink": 0.1111,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0096)",
              "stats": {
                "saves": 2.8692,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1537,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147
              },
              "params": {
                "blend_weight": 0.0096,
                "history_matches": 40,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 1.0,
                "prior_reliability": 0.1333,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 2.8692,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1537,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 2.8692,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1537,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147,
                "gk_engine_opponent_lambda": 1.8102,
                "shots_faced": 17.2,
                "expected_saves": 4.21,
                "high_pressure_saves": 1.45,
                "opponent_faced": "Cole Palmer, Pedro Neto",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Cole Palmer, Pedro Neto",
                  "matchup_zone": "Goalkeeper shot-stopping context",
                  "opponent_lambda": 1.8102
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "saves": 2.8692,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1537,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147,
                "gk_engine_opponent_lambda": 1.8102,
                "shots_faced": 17.2,
                "expected_saves": 4.21,
                "high_pressure_saves": 1.45,
                "opponent_faced": "Cole Palmer, 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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "saves": 2.8692,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1537,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147,
                "gk_engine_opponent_lambda": 1.8102,
                "shots_faced": 15.8,
                "expected_saves": 3.87,
                "high_pressure_saves": 1.33,
                "opponent_faced": "Cole Palmer, 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,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "shots_faced",
                  "before": 17.2,
                  "after": 15.8
                },
                {
                  "stat": "expected_saves",
                  "before": 4.21,
                  "after": 3.87
                },
                {
                  "stat": "high_pressure_saves",
                  "before": 1.45,
                  "after": 1.33
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 10 by projected rating, fifa_overall 82.0)",
              "stats": {
                "saves": 2.8692,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1537,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147,
                "gk_engine_opponent_lambda": 1.8102,
                "shots_faced": 15.8,
                "expected_saves": 3.87,
                "high_pressure_saves": 1.33,
                "opponent_faced": "Cole Palmer, 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,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 82.0
              },
              "params": {
                "match_squad_rank": 10,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 551,
                "fifa_rank": 381.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "saves": 2.8692,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1537,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147,
                "gk_engine_opponent_lambda": 1.8102,
                "shots_faced": 15.8,
                "expected_saves": 3.87,
                "high_pressure_saves": 1.33,
                "opponent_faced": "Cole Palmer, 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,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.0,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0,
                "finishing_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "saves": 2.8692,
                "goals_prevented": -0.0278,
                "rating": 6.8795,
                "minutes": 90.0,
                "total_pass": 27.4518,
                "accurate_pass": 17.8605,
                "total_long_balls": 14.0981,
                "accurate_long_balls": 4.6316,
                "touches": 35.2478,
                "clearances": 0.7253,
                "ball_recovery": 7.4784,
                "high_claims": 1.0109,
                "punches": 0.6251,
                "aerial_won": 0.2457,
                "sweeper_actions": 0.7482,
                "sweeper_accurate": 0.542,
                "saves_inside_box": 2.1164,
                "possession_lost": 9.6349,
                "duels_won": 0.4005,
                "duels_lost": 0.1672,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.1537,
                "total_own_half_passes": 16.9993,
                "accurate_own_half_passes": 14.5147,
                "gk_engine_opponent_lambda": 1.8102,
                "shots_faced": 15.8,
                "expected_saves": 3.87,
                "high_pressure_saves": 1.33,
                "opponent_faced": "Cole Palmer, 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,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0,
                "creation_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "bench_players": {
        "André Onana": {
          "player_id": 787498,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 24,
          "height": 190,
          "market_value": 9300000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.0266,
            "rating": 6.9,
            "minutes": 5,
            "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.0209,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1305,
            "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.123,
            "bench_expected_minutes": 4.7,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "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": 3307,
            "combined_rank_score": 1262.0,
            "ranking_source": "fifa_csv",
            "ranking_status": "missing_sofascore_player_rating",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 1262.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "ranking_match": "name",
            "projected_match_rating": 6.9,
            "source_file": "data/player_rankings.csv",
            "player_name": "André Onana",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Abel Bretones",
                  "ranking": 3302
                },
                {
                  "player_name": "Chiquinho",
                  "ranking": 3303
                },
                {
                  "player_name": "Kaiki",
                  "ranking": 3304
                },
                {
                  "player_name": "Mouctar Diakhaby",
                  "ranking": 3305
                },
                {
                  "player_name": "Diego Carlos",
                  "ranking": 3306
                }
              ],
              "lower": [
                {
                  "player_name": "Luca Ranieri",
                  "ranking": 3308
                },
                {
                  "player_name": "Răzvan Marin",
                  "ranking": 3309
                },
                {
                  "player_name": "Diego Coppola",
                  "ranking": 3310
                },
                {
                  "player_name": "Pablo Rosario",
                  "ranking": 3311
                },
                {
                  "player_name": "Víctor Gómez",
                  "ranking": 3312
                }
              ]
            }
          },
          "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.6962305853965045,
            "bench_appearance_prob": 0.12255593569984113,
            "market_value_adjustment": 0.5142,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€9,300,000) scaled to 4.7 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.51)",
              "stats": {
                "saves": 3.1,
                "goals_prevented": 0.51,
                "rating": 6.9,
                "minutes": 90.0,
                "total_pass": 28.0,
                "accurate_pass": 21.0,
                "total_long_balls": 9.0,
                "accurate_long_balls": 5.0,
                "touches": 33.0,
                "clearances": 1.0,
                "ball_recovery": 1.3,
                "high_claims": 0.6,
                "punches": 0.4,
                "aerial_won": 0.7,
                "sweeper_actions": 1.3,
                "sweeper_accurate": 0.8,
                "saves_inside_box": 1.3,
                "possession_lost": 2.5,
                "duels_won": 0.5,
                "duels_lost": 0.3,
                "total_contest": 0.5,
                "won_contest": 0.3,
                "fouls": 0.2,
                "fouls_drawn": 0.1,
                "total_own_half_passes": 22.0,
                "accurate_own_half_passes": 17.0
              },
              "params": {
                "market_value_eur": 9300000,
                "quality_factor": 0.5142
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 90.0 to 4.7 expected minutes (appearance prob 0.12)",
              "stats": {
                "saves": 0.1618,
                "goals_prevented": 0.0266,
                "rating": 6.9,
                "minutes": 4.7,
                "total_pass": 1.461,
                "accurate_pass": 1.0958,
                "total_long_balls": 0.4696,
                "accurate_long_balls": 0.2609,
                "touches": 1.722,
                "clearances": 0.0522,
                "ball_recovery": 0.0678,
                "high_claims": 0.0313,
                "punches": 0.0209,
                "aerial_won": 0.0365,
                "sweeper_actions": 0.0678,
                "sweeper_accurate": 0.0417,
                "saves_inside_box": 0.0678,
                "possession_lost": 0.1305,
                "duels_won": 0.0261,
                "duels_lost": 0.0157,
                "total_contest": 0.0261,
                "won_contest": 0.0157,
                "fouls": 0.0104,
                "fouls_drawn": 0.0052,
                "total_own_half_passes": 1.148,
                "accurate_own_half_passes": 0.8871,
                "bench_appearance_probability": 0.123,
                "bench_expected_minutes": 4.7
              },
              "params": {
                "expected_minutes": 4.7,
                "projection_minutes": 90.0,
                "minutes_scale": 0.0522,
                "appearance_probability": 0.123
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0.1618,
                "goals_prevented": 0.0266,
                "rating": 6.9,
                "minutes": 4.7,
                "total_pass": 1.461,
                "accurate_pass": 1.0958,
                "total_long_balls": 0.4696,
                "accurate_long_balls": 0.2609,
                "touches": 1.722,
                "clearances": 0.0522,
                "ball_recovery": 0.0678,
                "high_claims": 0.0313,
                "punches": 0.0209,
                "aerial_won": 0.0365,
                "sweeper_actions": 0.0678,
                "sweeper_accurate": 0.0417,
                "saves_inside_box": 0.0678,
                "possession_lost": 0.1305,
                "duels_won": 0.0261,
                "duels_lost": 0.0157,
                "total_contest": 0.0261,
                "won_contest": 0.0157,
                "fouls": 0.0104,
                "fouls_drawn": 0.0052,
                "total_own_half_passes": 1.148,
                "accurate_own_half_passes": 0.8871,
                "bench_appearance_probability": 0.123,
                "bench_expected_minutes": 4.7
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "saves": 0.1618,
                "goals_prevented": 0.0266,
                "rating": 6.9,
                "minutes": 4.7,
                "total_pass": 1.461,
                "accurate_pass": 1.0958,
                "total_long_balls": 0.4696,
                "accurate_long_balls": 0.2609,
                "touches": 1.722,
                "clearances": 0.0522,
                "ball_recovery": 0.0678,
                "high_claims": 0.0313,
                "punches": 0.0209,
                "aerial_won": 0.0365,
                "sweeper_actions": 0.0678,
                "sweeper_accurate": 0.0417,
                "saves_inside_box": 0.0678,
                "possession_lost": 0.1305,
                "duels_won": 0.0261,
                "duels_lost": 0.0157,
                "total_contest": 0.0261,
                "won_contest": 0.0157,
                "fouls": 0.0104,
                "fouls_drawn": 0.0052,
                "total_own_half_passes": 1.148,
                "accurate_own_half_passes": 0.8871,
                "bench_appearance_probability": 0.123,
                "bench_expected_minutes": 4.7,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "appearance_probability": 0.123,
                "projected_substitutes": 4,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 8 by projected rating, fifa_overall 78.0)",
              "stats": {
                "saves": 0.1618,
                "goals_prevented": 0.0266,
                "rating": 6.9,
                "minutes": 4.7,
                "total_pass": 1.461,
                "accurate_pass": 1.0958,
                "total_long_balls": 0.4696,
                "accurate_long_balls": 0.2609,
                "touches": 1.722,
                "clearances": 0.0522,
                "ball_recovery": 0.0678,
                "high_claims": 0.0313,
                "punches": 0.0209,
                "aerial_won": 0.0365,
                "sweeper_actions": 0.0678,
                "sweeper_accurate": 0.0417,
                "saves_inside_box": 0.0678,
                "possession_lost": 0.1305,
                "duels_won": 0.0261,
                "duels_lost": 0.0157,
                "total_contest": 0.0261,
                "won_contest": 0.0157,
                "fouls": 0.0104,
                "fouls_drawn": 0.0052,
                "total_own_half_passes": 1.148,
                "accurate_own_half_passes": 0.8871,
                "bench_appearance_probability": 0.123,
                "bench_expected_minutes": 4.7,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "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
              },
              "params": {
                "match_squad_rank": 8,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "fifa_csv",
                "ranking_status": "missing_sofascore_player_rating",
                "global_player_rank": 3307,
                "fifa_rank": 1262.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "name",
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Lisandro Martínez": {
          "player_id": 859999,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 6,
          "height": 175,
          "market_value": 48000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.9461,
            "minutes": 15,
            "total_pass": 13,
            "accurate_pass": 12,
            "duels_won": 1,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 16,
            "possession_lost": 1.8372,
            "dispossessed": 0.2446,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0061,
            "expected_assists": 0.1163,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0135,
            "ball_carries": 5,
            "total_progression": 18,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.248,
            "bench_expected_minutes": 15.07,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "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": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 25,
                "rating": 7.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0218,
                "expected_assists": 0.6593,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 21,
                "accurate_pass": 20,
                "key_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0141,
                "expected_assists": 0.0015,
                "total_shots": 1,
                "total_pass": 17,
                "accurate_pass": 12,
                "clearances": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0192,
                "total_shots": 0,
                "total_pass": 74,
                "accurate_pass": 67,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 5,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1514,
                "expected_assists": 0.0222,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 87,
                "accurate_pass": 79,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0283,
                "expected_assists": 0.0758,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 66,
                "accurate_pass": 57,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0021,
                "total_shots": 0,
                "total_pass": 44,
                "accurate_pass": 43,
                "interceptions": 1,
                "clearances": 7,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0267,
                "expected_assists": 0.0573,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 92,
                "accurate_pass": 83,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0142,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 43,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0853,
                "expected_assists": 0.0057,
                "total_shots": 1,
                "total_pass": 48,
                "accurate_pass": 46,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 8,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023938,
              "match_date": "2026-05-09",
              "home_team": "Sunderland",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0152,
                "total_shots": 0,
                "total_pass": 81,
                "accurate_pass": 68,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 431,
            "combined_rank_score": 262.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 148.0,
            "sofascore_rating": 7.32,
            "sofascore_appearances": 5.0,
            "fifa_rank": 377.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9461,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lisandro Martínez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Dani Olmo",
                  "ranking": 426
                },
                {
                  "player_name": "Piotr Zieliński",
                  "ranking": 427
                },
                {
                  "player_name": "Anvar Gofurov",
                  "ranking": 428
                },
                {
                  "player_name": "Ibrokhimkhalil Yuldoshev",
                  "ranking": 429
                },
                {
                  "player_name": "Iliman Ndiaye",
                  "ranking": 430
                }
              ],
              "lower": [
                {
                  "player_name": "Park Chang-Hwan",
                  "ranking": 432
                },
                {
                  "player_name": "Venício Tomás",
                  "ranking": 433
                },
                {
                  "player_name": "Edoardo Colombo",
                  "ranking": 434
                },
                {
                  "player_name": "Teddy Sharman-Lowe",
                  "ranking": 435
                },
                {
                  "player_name": "Charles Lokolingoy",
                  "ranking": 436
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.76,
          "history_matches": 25,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 25,
            "data_confidence": 0.76,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 15.074636121884067,
            "bench_appearance_prob": 0.248,
            "market_value_adjustment": 1.0156,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0667
            },
            "rationale": "Bench projection scaled from XGBoost D_service (25 historical appearances) to 15.1 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 7 target models",
              "stats": {
                "interceptions": 0.3697,
                "tackles": 0.5033,
                "tackles_won": 0.2887,
                "clearances": 1.6963,
                "aerial_won": 0.4822,
                "total_shots": 0.394,
                "rating": 6.9461,
                "minutes": 22.39,
                "total_pass": 19.2708,
                "accurate_pass": 17.1551,
                "duels_won": 1.1753,
                "total_long_balls": 2.9967,
                "accurate_long_balls": 1.3854,
                "total_own_half_passes": 10.2234,
                "accurate_own_half_passes": 9.5949,
                "total_opp_half_passes": 9.0474,
                "accurate_opp_half_passes": 7.5602,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 23.6712,
                "possession_lost": 2.6869,
                "dispossessed": 0.2408,
                "duels_lost": 1.5312,
                "aerial_lost": 0.2736,
                "total_contest": 0.4783,
                "won_contest": 0.2736,
                "ball_recovery": 1.8531,
                "challenges_lost": 0.3665,
                "fouls": 0.4455,
                "fouls_drawn": 0.0,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.009,
                "expected_assists": 0.1701,
                "shots_on_target": 0.2408,
                "big_chances_created": 0.0,
                "xgot": 0.0197,
                "ball_carries": 7.3993,
                "total_progression": 26.5506,
                "progressive_carries": 0.3304,
                "key_pass": 0.4455,
                "shots_off_target": 0.1532
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 25.0,
                    "is_starting": false,
                    "weight": 0.1526,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1297,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1103,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0937,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0797,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0677,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0576,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0489,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0416,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0354,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 3.4567,
                  "aerialWon": 0.8983,
                  "totalClearance_p90": 5.0108,
                  "totalTackle": 0.9216,
                  "totalPass": 54.328
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.36970967054367065,
                    "model_output": 0.3697,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4789
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0084
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0081
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0054
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "contribution": 0.0046
                        }
                      ],
                      "others": -0.0026,
                      "total": 0.3697,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.80154
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.021701
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.021364
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.014497
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "margin": 0.012462
                        }
                      ],
                      "others_margin": -0.00743
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.5033273696899414,
                    "model_output": 0.5033,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7481
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.032
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0303
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.025
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0227
                        }
                      ],
                      "others": -0.0697,
                      "total": 0.5033,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.776325
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.051577
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.051276
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.044477
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.040455
                        }
                      ],
                      "others_margin": -0.129501
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.2887416481971741,
                    "model_output": 0.2887,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4564
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.015
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0139
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0131
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0119
                        }
                      ],
                      "others": -0.0467,
                      "total": 0.2887,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.775892
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.039291
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.037948
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.037012
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.034834
                        }
                      ],
                      "others_margin": -0.149662
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.6962507963180542,
                    "model_output": 1.6963,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.0794
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.1347
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.131
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0572
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "contribution": 0.0576
                        }
                      ],
                      "others": -0.0365,
                      "total": 1.6963,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.931204
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.094929
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.084453
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.034748
                        },
                        {
                          "name": "errorLeadToAGoal",
                          "margin": 0.033808
                        }
                      ],
                      "others_margin": -0.021376
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.4821760356426239,
                    "model_output": 0.4822,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7906
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.1083
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0203
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0134
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0092
                        }
                      ],
                      "others": -0.0126,
                      "total": 0.4822,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.853096
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.204049
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.041633
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.027182
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.018828
                        }
                      ],
                      "others_margin": -0.025938
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3939652442932129,
                    "model_output": 0.394,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.226
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1251
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0295
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0231
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0188
                        }
                      ],
                      "others": -0.0174,
                      "total": 0.394,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.226037
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.12505
                        },
                        {
                          "name": "rating",
                          "margin": 0.029493
                        },
                        {
                          "name": "history_matches",
                          "margin": 0.023096
                        },
                        {
                          "name": "duelWon_p90",
                          "margin": -0.018814
                        }
                      ],
                      "others_margin": -0.017363
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.94609260559082,
                    "model_output": 6.9461,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": 0.0567
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.039
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0341
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0221
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0182
                        }
                      ],
                      "others": 0.0585,
                      "total": 6.9461,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": 0.056664
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.03895
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.034105
                        },
                        {
                          "name": "rating",
                          "margin": 0.022068
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.018179
                        }
                      ],
                      "others_margin": 0.058508
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 25,
                  "role_matches": 6,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0156, quality 0.817)",
              "stats": {
                "interceptions": 0.3755,
                "tackles": 0.5112,
                "tackles_won": 0.2932,
                "clearances": 1.7227,
                "aerial_won": 0.4897,
                "total_shots": 0.4002,
                "rating": 6.9461,
                "minutes": 22.39,
                "total_pass": 19.5714,
                "accurate_pass": 17.4227,
                "duels_won": 1.1936,
                "total_long_balls": 3.0434,
                "accurate_long_balls": 1.407,
                "total_own_half_passes": 10.3829,
                "accurate_own_half_passes": 9.7446,
                "total_opp_half_passes": 9.1885,
                "accurate_opp_half_passes": 7.6781,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 24.0405,
                "possession_lost": 2.7288,
                "dispossessed": 0.2446,
                "duels_lost": 1.5551,
                "aerial_lost": 0.2779,
                "total_contest": 0.4858,
                "won_contest": 0.2779,
                "ball_recovery": 1.882,
                "challenges_lost": 0.3722,
                "fouls": 0.4524,
                "fouls_drawn": 0.0,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0091,
                "expected_assists": 0.1728,
                "shots_on_target": 0.2446,
                "big_chances_created": 0.0,
                "xgot": 0.02,
                "ball_carries": 7.5147,
                "total_progression": 26.9648,
                "progressive_carries": 0.3356,
                "key_pass": 0.4524,
                "shots_off_target": 0.1556
              },
              "params": {
                "market_value_eur": 48000000,
                "quality_factor": 0.8168,
                "boost_factor": 1.0156,
                "reference_quality": 0.505,
                "history_matches": 25,
                "history_shrink": 0.1667,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0072)",
              "stats": {
                "interceptions": 0.3728,
                "tackles": 0.5112,
                "tackles_won": 0.2911,
                "clearances": 1.7227,
                "aerial_won": 0.4897,
                "total_shots": 0.3991,
                "rating": 6.9461,
                "minutes": 22.39,
                "total_pass": 19.5714,
                "accurate_pass": 17.4227,
                "duels_won": 1.1936,
                "total_long_balls": 3.0434,
                "accurate_long_balls": 1.407,
                "total_own_half_passes": 10.3829,
                "accurate_own_half_passes": 9.7446,
                "total_opp_half_passes": 9.1885,
                "accurate_opp_half_passes": 7.6781,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 24.0405,
                "possession_lost": 2.7288,
                "dispossessed": 0.2446,
                "duels_lost": 1.5551,
                "aerial_lost": 0.2779,
                "total_contest": 0.4858,
                "won_contest": 0.2779,
                "ball_recovery": 1.882,
                "challenges_lost": 0.3722,
                "fouls": 0.4491,
                "fouls_drawn": 0.0,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0091,
                "expected_assists": 0.1728,
                "shots_on_target": 0.2428,
                "big_chances_created": 0.0,
                "xgot": 0.02,
                "ball_carries": 7.5147,
                "total_progression": 26.9648,
                "progressive_carries": 0.3356,
                "key_pass": 0.4524,
                "shots_off_target": 0.1556
              },
              "params": {
                "blend_weight": 0.0072,
                "history_matches": 25,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2488,
                "prior_reliability": 0.0667,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 22.4 to 15.1 expected minutes (appearance prob 0.25)",
              "stats": {
                "interceptions": 0.251,
                "tackles": 0.3442,
                "tackles_won": 0.196,
                "clearances": 1.1599,
                "aerial_won": 0.3297,
                "total_shots": 0.2687,
                "rating": 6.9461,
                "minutes": 15.07,
                "total_pass": 13.1769,
                "accurate_pass": 11.7303,
                "duels_won": 0.8036,
                "total_long_balls": 2.049,
                "accurate_long_balls": 0.9473,
                "total_own_half_passes": 6.9906,
                "accurate_own_half_passes": 6.5608,
                "total_opp_half_passes": 6.1864,
                "accurate_opp_half_passes": 5.1695,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 16.1859,
                "possession_lost": 1.8372,
                "dispossessed": 0.2446,
                "duels_lost": 1.047,
                "aerial_lost": 0.2779,
                "total_contest": 0.3271,
                "won_contest": 0.1871,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.3722,
                "fouls": 0.3024,
                "fouls_drawn": 0.0,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0061,
                "expected_assists": 0.1163,
                "shots_on_target": 0.1635,
                "big_chances_created": 0.0,
                "xgot": 0.0135,
                "ball_carries": 5.0595,
                "total_progression": 18.1547,
                "progressive_carries": 0.226,
                "key_pass": 0.3046,
                "shots_off_target": 0.1048,
                "bench_appearance_probability": 0.248,
                "bench_expected_minutes": 15.07
              },
              "params": {
                "expected_minutes": 15.07,
                "projection_minutes": 22.39,
                "minutes_scale": 0.6733,
                "appearance_probability": 0.248
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.251,
                "tackles": 0.3442,
                "tackles_won": 0.196,
                "clearances": 1.1599,
                "aerial_won": 0.3297,
                "total_shots": 0.2687,
                "rating": 6.9461,
                "minutes": 15.07,
                "total_pass": 13.1769,
                "accurate_pass": 11.7303,
                "duels_won": 0.8036,
                "total_long_balls": 2.049,
                "accurate_long_balls": 0.9473,
                "total_own_half_passes": 6.9906,
                "accurate_own_half_passes": 6.5608,
                "total_opp_half_passes": 6.1864,
                "accurate_opp_half_passes": 5.1695,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 16.1859,
                "possession_lost": 1.8372,
                "dispossessed": 0.2446,
                "duels_lost": 1.047,
                "aerial_lost": 0.2779,
                "total_contest": 0.3271,
                "won_contest": 0.1871,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.3722,
                "fouls": 0.3024,
                "fouls_drawn": 0.0,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0061,
                "expected_assists": 0.1163,
                "shots_on_target": 0.1635,
                "big_chances_created": 0.0,
                "xgot": 0.0135,
                "ball_carries": 5.0595,
                "total_progression": 18.1547,
                "progressive_carries": 0.226,
                "key_pass": 0.3046,
                "shots_off_target": 0.1048,
                "bench_appearance_probability": 0.248,
                "bench_expected_minutes": 15.07
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "interceptions": 0.251,
                "tackles": 0.3442,
                "tackles_won": 0.196,
                "clearances": 1.1599,
                "aerial_won": 0.3297,
                "total_shots": 0.2687,
                "rating": 6.9461,
                "minutes": 15.07,
                "total_pass": 13.1769,
                "accurate_pass": 11.7303,
                "duels_won": 0.8036,
                "total_long_balls": 2.049,
                "accurate_long_balls": 0.9473,
                "total_own_half_passes": 6.9906,
                "accurate_own_half_passes": 6.5608,
                "total_opp_half_passes": 6.1864,
                "accurate_opp_half_passes": 5.1695,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 16.1859,
                "possession_lost": 1.8372,
                "dispossessed": 0.2446,
                "duels_lost": 1.047,
                "aerial_lost": 0.2779,
                "total_contest": 0.3271,
                "won_contest": 0.1871,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.3722,
                "fouls": 0.3024,
                "fouls_drawn": 0.0,
                "blocks": 0.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0061,
                "expected_assists": 0.1163,
                "shots_on_target": 0.1635,
                "big_chances_created": 0.0,
                "xgot": 0.0135,
                "ball_carries": 5.0595,
                "total_progression": 18.1547,
                "progressive_carries": 0.226,
                "key_pass": 0.3046,
                "shots_off_target": 0.1048,
                "bench_appearance_probability": 0.248,
                "bench_expected_minutes": 15.07,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "appearance_probability": 0.248,
                "projected_substitutes": 4,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 5 by projected rating, fifa_overall 82.0)",
              "stats": {
                "interceptions": 0.251,
                "tackles": 0.3442,
                "tackles_won": 0.196,
                "clearances": 1.1599,
                "aerial_won": 0.3297,
                "total_shots": 0.2687,
                "rating": 6.9461,
                "minutes": 15.07,
                "total_pass": 13.1769,
                "accurate_pass": 11.7303,
                "duels_won": 0.8036,
                "total_long_balls": 2.049,
                "accurate_long_balls": 0.9473,
                "total_own_half_passes": 6.9906,
                "accurate_own_half_passes": 6.5608,
                "total_opp_half_passes": 6.1864,
                "accurate_opp_half_passes": 5.1695,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 16.1859,
                "possession_lost": 1.8372,
                "dispossessed": 0.2446,
                "duels_lost": 1.047,
                "aerial_lost": 0.2779,
                "total_contest": 0.3271,
                "won_contest": 0.1871,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.3722,
                "fouls": 0.3024,
                "fouls_drawn": 0.0,
                "blocks": 0.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0061,
                "expected_assists": 0.1163,
                "shots_on_target": 0.1635,
                "big_chances_created": 0.0,
                "xgot": 0.0135,
                "ball_carries": 5.0595,
                "total_progression": 18.1547,
                "progressive_carries": 0.226,
                "key_pass": 0.3046,
                "shots_off_target": 0.1048,
                "bench_appearance_probability": 0.248,
                "bench_expected_minutes": 15.07,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "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": 82.0
              },
              "params": {
                "match_squad_rank": 5,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 431,
                "fifa_rank": 377.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Matthijs de Ligt": {
          "player_id": 803031,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 4,
          "height": 188,
          "market_value": 32000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.9106,
            "minutes": 15,
            "total_pass": 40,
            "accurate_pass": 35,
            "duels_won": 5,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 27,
            "accurate_own_half_passes": 26,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 10,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 51,
            "possession_lost": 5.7763,
            "dispossessed": 0.1256,
            "duels_lost": 3,
            "aerial_lost": 3,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.1028,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.1091,
            "expected_assists": 0.0529,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.1643,
            "ball_carries": 14,
            "total_progression": 0,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.352,
            "bench_expected_minutes": 14.74,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "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": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 14025102,
              "match_date": "2025-11-30",
              "home_team": "Crystal Palace",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0638,
                "expected_assists": 0.0034,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 52,
                "accurate_pass": 45,
                "tackles": 1,
                "clearances": 5,
                "aerial_won": 6,
                "duels_won": 7,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14723574,
              "match_date": "2025-11-24",
              "home_team": "Manchester United",
              "away_team": "Everton",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4011,
                "expected_assists": 0.2851,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 67,
                "accurate_pass": 61,
                "key_pass": 1,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 4,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025057,
              "match_date": "2025-11-08",
              "home_team": "Tottenham Hotspur",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1025,
                "expected_assists": 0.003,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 43,
                "accurate_pass": 37,
                "tackles": 2,
                "interceptions": 2,
                "clearances": 7,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025285,
              "match_date": "2025-11-01",
              "home_team": "Nottingham Forest",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0055,
                "total_shots": 0,
                "total_pass": 47,
                "accurate_pass": 40,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 5,
                "aerial_won": 10,
                "duels_won": 11,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025267,
              "match_date": "2025-10-25",
              "home_team": "Manchester United",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0049,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 39,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025241,
              "match_date": "2025-10-19",
              "home_team": "Liverpool FC",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.427,
                "expected_assists": 0.0021,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 14,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025227,
              "match_date": "2025-10-04",
              "home_team": "Manchester United",
              "away_team": "Sunderland",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0027,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 38,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025184,
              "match_date": "2025-09-27",
              "home_team": "Brentford",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1513,
                "expected_assists": 0.0029,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 55,
                "accurate_pass": 52,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 7,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025169,
              "match_date": "2025-09-20",
              "home_team": "Manchester United",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.376,
                "total_shots": 0,
                "total_pass": 50,
                "accurate_pass": 43,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025142,
              "match_date": "2025-09-14",
              "home_team": "Manchester City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 37,
                "tackles": 5,
                "tackles_won": 3,
                "interceptions": 3,
                "clearances": 3,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 302,
            "combined_rank_score": 209.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 44.0,
            "sofascore_rating": 7.8,
            "sofascore_appearances": 2.0,
            "fifa_rank": 374.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9106,
            "source_file": "data/player_rankings.csv",
            "player_name": "Matthijs de Ligt",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Christian Pulišić",
                  "ranking": 297
                },
                {
                  "player_name": "Zubimendi",
                  "ranking": 298
                },
                {
                  "player_name": "Kim Min-Seung",
                  "ranking": 299
                },
                {
                  "player_name": "Aurélien Tchouaméni",
                  "ranking": 300
                },
                {
                  "player_name": "Robert Lewandowski",
                  "ranking": 301
                }
              ],
              "lower": [
                {
                  "player_name": "Rodrygo",
                  "ranking": 303
                },
                {
                  "player_name": "Aleksandar Šušnjar",
                  "ranking": 304
                },
                {
                  "player_name": "Brian Fariñas",
                  "ranking": 305
                },
                {
                  "player_name": "Serge Gnabry",
                  "ranking": 306
                },
                {
                  "player_name": "Kyu-baek Choi",
                  "ranking": 307
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 13,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "totalShots",
              "rating"
            ],
            "history_matches": 13,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 14.738792805130341,
            "bench_appearance_prob": 0.35176330932410643,
            "market_value_adjustment": 1.0189,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (13 historical appearances) to 14.7 expected mins (appearance prob 0.35)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.4506,
                "tackles": 0.5249,
                "tackles_won": 0.3296,
                "clearances": 1.6976,
                "aerial_won": 1.3417,
                "total_shots": 0.3772,
                "rating": 6.9106,
                "minutes": 18.0,
                "total_pass": 48.2269,
                "accurate_pass": 42.3209,
                "duels_won": 5.6256,
                "total_long_balls": 3.2755,
                "accurate_long_balls": 1.3377,
                "total_own_half_passes": 32.7457,
                "accurate_own_half_passes": 30.5962,
                "total_opp_half_passes": 15.4811,
                "accurate_opp_half_passes": 11.7246,
                "crosses_total": 0.3088,
                "crosses_accurate": 0.2623,
                "touches": 61.4638,
                "possession_lost": 6.9235,
                "dispossessed": 0.1233,
                "duels_lost": 3.4673,
                "aerial_lost": 2.5018,
                "total_contest": 0.0801,
                "won_contest": 0.0465,
                "ball_recovery": 2.8974,
                "challenges_lost": 0.466,
                "fouls": 0.4183,
                "fouls_drawn": 0.3462,
                "blocks": 0.3862,
                "goals": 0.1233,
                "goal_rate": 0.1233,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.1307,
                "expected_assists": 0.0634,
                "shots_on_target": 0.2926,
                "big_chances_created": 0.2735,
                "xgot": 0.197,
                "ball_carries": 17.3538,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "key_pass": 0.2158,
                "shots_off_target": 0.0846
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2025-11-30",
                    "opponent": "Crystal Palace",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1706,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2025-11-24",
                    "opponent": "Everton",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.145,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2025-11-08",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1233,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2025-11-01",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1048,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2025-10-25",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0891,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2025-10-19",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0757,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2025-10-04",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0644,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2025-09-27",
                    "opponent": "Brentford",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0547,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2025-09-20",
                    "opponent": "Chelsea",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0465,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2025-09-14",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0395,
                    "rating": 6.2
                  }
                ],
                "feature_row": {
                  "history_matches": 13.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 5.258,
                  "aerialWon": 4.0969,
                  "totalClearance_p90": 5.258,
                  "totalTackle": 1.1825,
                  "totalPass": 48.2269
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.45064717531204224,
                    "model_output": 0.4506,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4865
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0307
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0141
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0097
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0093
                        }
                      ],
                      "others": 0.0048,
                      "total": 0.4506,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.821284
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.077289
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.03357
                        },
                        {
                          "name": "touches",
                          "margin": 0.022582
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.021139
                        }
                      ],
                      "others_margin": 0.010601
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.5249215364456177,
                    "model_output": 0.5249,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7431
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0221
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.021
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0176
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0134
                        }
                      ],
                      "others": -0.0436,
                      "total": 0.5249,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.768385
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.03492
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.034349
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.029854
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.023332
                        }
                      ],
                      "others_margin": -0.079852
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.329633504152298,
                    "model_output": 0.3296,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4259
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0187
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0138
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0133
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0125
                        }
                      ],
                      "others": -0.0319,
                      "total": 0.3296,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.700291
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.045455
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.035051
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.035042
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.033965
                        }
                      ],
                      "others_margin": -0.092385
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.6976113319396973,
                    "model_output": 1.6976,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.2309
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.2745
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0711
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0523
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.0479
                        }
                      ],
                      "others": 0.051,
                      "total": 1.6976,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -1.050017
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.205834
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.047088
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.033256
                        },
                        {
                          "name": "aerialLost",
                          "margin": 0.029517
                        }
                      ],
                      "others_margin": 0.030483
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.3417103290557861,
                    "model_output": 1.3417,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.8095
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.3976
                        },
                        {
                          "name": "aerialLost",
                          "contribution": 0.0791
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0616
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0575
                        }
                      ],
                      "others": 0.1778,
                      "total": 1.3417,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.885715
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.530502
                        },
                        {
                          "name": "aerialLost",
                          "margin": 0.078751
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.057299
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.050636
                        }
                      ],
                      "others_margin": 0.142114
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3771522343158722,
                    "model_output": 0.3772,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2173
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1601
                        },
                        {
                          "name": "history_matches",
                          "contribution": -0.0174
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0162
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0143
                        }
                      ],
                      "others": -0.0286,
                      "total": 0.3772,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.217283
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.16008
                        },
                        {
                          "name": "history_matches",
                          "margin": -0.017382
                        },
                        {
                          "name": "rating",
                          "margin": 0.016162
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.014283
                        }
                      ],
                      "others_margin": -0.028681
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.910645008087158,
                    "model_output": 6.9106,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0259
                        },
                        {
                          "name": "duelWon",
                          "contribution": 0.0258
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.02
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0176
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0151
                        }
                      ],
                      "others": 0.0809,
                      "total": 6.9106,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.025913
                        },
                        {
                          "name": "duelWon",
                          "margin": 0.025833
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.019971
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.017556
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015127
                        }
                      ],
                      "others_margin": 0.080924
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 13,
                  "role_matches": 0,
                  "minutes_source": "position_median",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0189, quality 0.732)",
              "stats": {
                "interceptions": 0.4592,
                "tackles": 0.5348,
                "tackles_won": 0.3359,
                "clearances": 1.7297,
                "aerial_won": 1.3671,
                "total_shots": 0.3843,
                "rating": 6.9106,
                "minutes": 18.0,
                "total_pass": 49.1384,
                "accurate_pass": 43.1208,
                "duels_won": 5.7319,
                "total_long_balls": 3.3374,
                "accurate_long_balls": 1.363,
                "total_own_half_passes": 33.3646,
                "accurate_own_half_passes": 31.1745,
                "total_opp_half_passes": 15.7737,
                "accurate_opp_half_passes": 11.9462,
                "crosses_total": 0.3146,
                "crosses_accurate": 0.2673,
                "touches": 62.6255,
                "possession_lost": 7.0544,
                "dispossessed": 0.1256,
                "duels_lost": 3.5328,
                "aerial_lost": 2.5491,
                "total_contest": 0.0816,
                "won_contest": 0.0474,
                "ball_recovery": 2.9522,
                "challenges_lost": 0.4748,
                "fouls": 0.4262,
                "fouls_drawn": 0.3527,
                "blocks": 0.3935,
                "goals": 0.1256,
                "goal_rate": 0.1256,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.1332,
                "expected_assists": 0.0646,
                "shots_on_target": 0.2981,
                "big_chances_created": 0.2787,
                "xgot": 0.2007,
                "ball_carries": 17.6818,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "key_pass": 0.2199,
                "shots_off_target": 0.0862
              },
              "params": {
                "market_value_eur": 32000000,
                "quality_factor": 0.732,
                "boost_factor": 1.0189,
                "reference_quality": 0.505,
                "history_matches": 13,
                "history_shrink": 0.2778,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 18.0 to 14.7 expected minutes (appearance prob 0.35)",
              "stats": {
                "interceptions": 0.376,
                "tackles": 0.4379,
                "tackles_won": 0.275,
                "clearances": 1.4163,
                "aerial_won": 1.1194,
                "total_shots": 0.3147,
                "rating": 6.9106,
                "minutes": 14.74,
                "total_pass": 40.2356,
                "accurate_pass": 35.3083,
                "duels_won": 4.6934,
                "total_long_balls": 2.7327,
                "accurate_long_balls": 1.1161,
                "total_own_half_passes": 27.3197,
                "accurate_own_half_passes": 25.5264,
                "total_opp_half_passes": 12.9158,
                "accurate_opp_half_passes": 9.7818,
                "crosses_total": 0.2576,
                "crosses_accurate": 0.2189,
                "touches": 51.2791,
                "possession_lost": 5.7763,
                "dispossessed": 0.1256,
                "duels_lost": 2.8927,
                "aerial_lost": 2.5491,
                "total_contest": 0.0668,
                "won_contest": 0.0388,
                "ball_recovery": 2.4173,
                "challenges_lost": 0.4748,
                "fouls": 0.349,
                "fouls_drawn": 0.2888,
                "blocks": 0.3222,
                "goals": 0.1028,
                "goal_rate": 0.1028,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.1091,
                "expected_assists": 0.0529,
                "shots_on_target": 0.2441,
                "big_chances_created": 0.2282,
                "xgot": 0.1643,
                "ball_carries": 14.4782,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "key_pass": 0.1801,
                "shots_off_target": 0.0706,
                "bench_appearance_probability": 0.352,
                "bench_expected_minutes": 14.74
              },
              "params": {
                "expected_minutes": 14.74,
                "projection_minutes": 18.0,
                "minutes_scale": 0.8188,
                "appearance_probability": 0.352
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.376,
                "tackles": 0.4379,
                "tackles_won": 0.275,
                "clearances": 1.4163,
                "aerial_won": 1.1194,
                "total_shots": 0.3147,
                "rating": 6.9106,
                "minutes": 14.74,
                "total_pass": 40.2356,
                "accurate_pass": 35.3083,
                "duels_won": 4.6934,
                "total_long_balls": 2.7327,
                "accurate_long_balls": 1.1161,
                "total_own_half_passes": 27.3197,
                "accurate_own_half_passes": 25.5264,
                "total_opp_half_passes": 12.9158,
                "accurate_opp_half_passes": 9.7818,
                "crosses_total": 0.2576,
                "crosses_accurate": 0.2189,
                "touches": 51.2791,
                "possession_lost": 5.7763,
                "dispossessed": 0.1256,
                "duels_lost": 2.8927,
                "aerial_lost": 2.5491,
                "total_contest": 0.0668,
                "won_contest": 0.0388,
                "ball_recovery": 2.4173,
                "challenges_lost": 0.4748,
                "fouls": 0.349,
                "fouls_drawn": 0.2888,
                "blocks": 0.3222,
                "goals": 0.1028,
                "goal_rate": 0.1028,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.1091,
                "expected_assists": 0.0529,
                "shots_on_target": 0.2441,
                "big_chances_created": 0.2282,
                "xgot": 0.1643,
                "ball_carries": 14.4782,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "key_pass": 0.1801,
                "shots_off_target": 0.0706,
                "bench_appearance_probability": 0.352,
                "bench_expected_minutes": 14.74
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "interceptions": 0.376,
                "tackles": 0.4379,
                "tackles_won": 0.275,
                "clearances": 1.4163,
                "aerial_won": 1.1194,
                "total_shots": 0.3147,
                "rating": 6.9106,
                "minutes": 14.74,
                "total_pass": 40.2356,
                "accurate_pass": 35.3083,
                "duels_won": 4.6934,
                "total_long_balls": 2.7327,
                "accurate_long_balls": 1.1161,
                "total_own_half_passes": 27.3197,
                "accurate_own_half_passes": 25.5264,
                "total_opp_half_passes": 12.9158,
                "accurate_opp_half_passes": 9.7818,
                "crosses_total": 0.2576,
                "crosses_accurate": 0.2189,
                "touches": 51.2791,
                "possession_lost": 5.7763,
                "dispossessed": 0.1256,
                "duels_lost": 2.8927,
                "aerial_lost": 2.5491,
                "total_contest": 0.0668,
                "won_contest": 0.0388,
                "ball_recovery": 2.4173,
                "challenges_lost": 0.4748,
                "fouls": 0.349,
                "fouls_drawn": 0.2888,
                "blocks": 0.3222,
                "goal_rate": 0.1028,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1091,
                "expected_assists": 0.0529,
                "shots_on_target": 0.2441,
                "big_chances_created": 0.2282,
                "xgot": 0.1643,
                "ball_carries": 14.4782,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "key_pass": 0.1801,
                "shots_off_target": 0.0706,
                "bench_appearance_probability": 0.352,
                "bench_expected_minutes": 14.74,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "appearance_probability": 0.352,
                "projected_substitutes": 4,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 6 by projected rating, fifa_overall 82.0)",
              "stats": {
                "interceptions": 0.376,
                "tackles": 0.4379,
                "tackles_won": 0.275,
                "clearances": 1.4163,
                "aerial_won": 1.1194,
                "total_shots": 0.3147,
                "rating": 6.9106,
                "minutes": 14.74,
                "total_pass": 40.2356,
                "accurate_pass": 35.3083,
                "duels_won": 4.6934,
                "total_long_balls": 2.7327,
                "accurate_long_balls": 1.1161,
                "total_own_half_passes": 27.3197,
                "accurate_own_half_passes": 25.5264,
                "total_opp_half_passes": 12.9158,
                "accurate_opp_half_passes": 9.7818,
                "crosses_total": 0.2576,
                "crosses_accurate": 0.2189,
                "touches": 51.2791,
                "possession_lost": 5.7763,
                "dispossessed": 0.1256,
                "duels_lost": 2.8927,
                "aerial_lost": 2.5491,
                "total_contest": 0.0668,
                "won_contest": 0.0388,
                "ball_recovery": 2.4173,
                "challenges_lost": 0.4748,
                "fouls": 0.349,
                "fouls_drawn": 0.2888,
                "blocks": 0.3222,
                "goal_rate": 0.1028,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1091,
                "expected_assists": 0.0529,
                "shots_on_target": 0.2441,
                "big_chances_created": 0.2282,
                "xgot": 0.1643,
                "ball_carries": 14.4782,
                "total_progression": 0.0,
                "progressive_carries": 0.0,
                "key_pass": 0.1801,
                "shots_off_target": 0.0706,
                "bench_appearance_probability": 0.352,
                "bench_expected_minutes": 14.74,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "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": 82.0
              },
              "params": {
                "match_squad_rank": 6,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 302,
                "fifa_rank": 374.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Kobbie Mainoo": {
          "player_id": 1142175,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 37,
          "height": 184,
          "market_value": 77000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.031,
            "assist_rate": 0.064,
            "assists": 0,
            "expected_goals": 0.0221,
            "goal_rate": 0.0453,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 7.0752,
            "minutes": 24,
            "total_pass": 21,
            "accurate_pass": 19,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 12,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 27,
            "possession_lost": 4.1066,
            "dispossessed": 0.2027,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 44,
            "progressive_carries": 1,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.535,
            "bench_expected_minutes": 23.87,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0216,
            "projected_assists": 0,
            "assist_probability": 0.0301,
            "finishing_factor": 1.0954,
            "creation_factor": 1.1187,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.03,
                "total_shots": 0,
                "total_pass": 69,
                "accurate_pass": 64,
                "tackles": 5,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 6,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 80,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0612,
                "expected_assists": 0.0985,
                "total_shots": 1,
                "total_pass": 68,
                "accurate_pass": 64,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0291,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 70,
                "accurate_pass": 68,
                "key_pass": 3,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 5,
                "ball_recovery": 9
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 84,
                "rating": 7.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.072,
                "total_shots": 0,
                "total_pass": 77,
                "accurate_pass": 74,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 5,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 80,
                "rating": 7.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1378,
                "expected_assists": 0.2677,
                "total_shots": 3,
                "total_pass": 51,
                "accurate_pass": 46,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 2,
                "duels_won": 9,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 23,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0705,
                "expected_assists": 0.0149,
                "total_shots": 1,
                "total_pass": 30,
                "accurate_pass": 26,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1036,
                "expected_assists": 0.0307,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 58,
                "accurate_pass": 45,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 9,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0231,
                "total_shots": 0,
                "total_pass": 55,
                "accurate_pass": 51,
                "key_pass": 3,
                "interceptions": 3,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023938,
              "match_date": "2026-05-09",
              "home_team": "Sunderland",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0826,
                "expected_assists": 0.0188,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 66,
                "accurate_pass": 61,
                "interceptions": 3,
                "clearances": 1,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023939,
              "match_date": "2026-05-03",
              "home_team": "Manchester United",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.06,
                "expected_assists": 0.016,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 55,
                "accurate_pass": 49,
                "tackles": 1,
                "interceptions": 2,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 726,
            "combined_rank_score": 350.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 172.0,
            "sofascore_rating": 7.25,
            "sofascore_appearances": 2.0,
            "fifa_rank": 529.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0752,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kobbie Mainoo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nikola Šipčić",
                  "ranking": 721
                },
                {
                  "player_name": "Kwak Yun-Ho",
                  "ranking": 722
                },
                {
                  "player_name": "Ju-seong Uh",
                  "ranking": 723
                },
                {
                  "player_name": "Beom-kyeong Choi",
                  "ranking": 724
                },
                {
                  "player_name": "Song-hun Shin",
                  "ranking": 725
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Kayode",
                  "ranking": 727
                },
                {
                  "player_name": "Sava Petrov",
                  "ranking": 728
                },
                {
                  "player_name": "Brayan Rovira",
                  "ranking": 729
                },
                {
                  "player_name": "José Carabalí",
                  "ranking": 730
                },
                {
                  "player_name": "Gustavo Gómez",
                  "ranking": 731
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.761,
          "history_matches": 34,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 34,
            "data_confidence": 0.761,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 23.87,
            "bench_appearance_prob": 0.535,
            "market_value_adjustment": 1.0144,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 24.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0733
            },
            "rationale": "Bench projection scaled from XGBoost M_service (34 historical appearances) to 23.9 expected mins (appearance prob 0.54); FBref playing time empirical prior: 1.0 sub appearances, 24.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.5515,
                "expected_assists": 0.0416,
                "assists": 0.0516,
                "assist_rate": 0.0516,
                "expected_goals": 0.0297,
                "goals": 0.0365,
                "goal_rate": 0.0365,
                "shots_on_target": 0.1014,
                "total_shots": 0.3533,
                "rating": 7.0752,
                "minutes": 19.4,
                "total_pass": 17.0288,
                "accurate_pass": 15.0107,
                "duels_won": 1.466,
                "total_long_balls": 0.5921,
                "accurate_long_balls": 0.2587,
                "total_own_half_passes": 5.3561,
                "accurate_own_half_passes": 5.1681,
                "total_opp_half_passes": 11.6727,
                "accurate_opp_half_passes": 9.8426,
                "crosses_total": 0.5199,
                "crosses_accurate": 0.1,
                "touches": 21.4649,
                "possession_lost": 3.2902,
                "dispossessed": 0.1998,
                "duels_lost": 1.3546,
                "aerial_won": 0.3398,
                "aerial_lost": 0.5809,
                "interceptions": 0.0644,
                "tackles_won": 0.0993,
                "tackles": 0.2317,
                "clearances": 0.6705,
                "total_contest": 0.6507,
                "won_contest": 0.5063,
                "challenges_lost": 0.1691,
                "fouls": 0.3835,
                "fouls_drawn": 0.3882,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 7.9181,
                "total_progression": 35.3244,
                "progressive_carries": 0.6113,
                "shots_off_target": 0.2519
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1506,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.128,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1088,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.0925,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0668,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-03",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0349,
                    "rating": 8.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.8158,
                  "creative_index": 0.4442,
                  "expectedGoals": 0.0395,
                  "expectedAssists": 0.0753,
                  "totalOppositionHalfPasses": 34.3408
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5515053868293762,
                    "model_output": 0.5515,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3867
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.053
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0435
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0233
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0216
                        }
                      ],
                      "others": 0.0401,
                      "total": 0.5515,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.569832
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.100158
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.081472
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.046514
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.043187
                        }
                      ],
                      "others_margin": 0.075597
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04163975268602371,
                    "model_output": 0.0416,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0422
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0068
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.003
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0028
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0024
                        }
                      ],
                      "others": 0.0023,
                      "total": 0.0416,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.685785
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.173718
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.079714
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.070071
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": -0.058933
                        }
                      ],
                      "others_margin": 0.055732
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.05159633234143257,
                    "model_output": 0.0516,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0216
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.009
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0058
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0038
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0022
                        }
                      ],
                      "others": 0.0014,
                      "total": 0.0516,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.293839
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.153604
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.113643
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.074505
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.043505
                        }
                      ],
                      "others_margin": 0.030617
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.029673980548977852,
                    "model_output": 0.0297,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.037
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0076
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0061
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0026
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0021
                        }
                      ],
                      "others": -0.0063,
                      "total": 0.0297,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.518873
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.149775
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.139746
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.066126
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.056529
                        }
                      ],
                      "others_margin": -0.194258
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.0364682637155056,
                    "model_output": 0.0365,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0303
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0101
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0062
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0042
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0033
                        }
                      ],
                      "others": -0.0044,
                      "total": 0.0365,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.384908
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.170108
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.120669
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.091069
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.078762
                        }
                      ],
                      "others_margin": -0.111767
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.10143730789422989,
                    "model_output": 0.1014,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1334
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0205
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.015
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0096
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0081
                        }
                      ],
                      "others": -0.0303,
                      "total": 0.1014,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.543033
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.117378
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.09582
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.066358
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "margin": -0.060012
                        }
                      ],
                      "others_margin": -0.26094
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.35329294204711914,
                    "model_output": 0.3533,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3576
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.05
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.046
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0316
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0284
                        }
                      ],
                      "others": -0.1172,
                      "total": 0.3533,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.357579
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.049979
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.04601
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.031605
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.028393
                        }
                      ],
                      "others_margin": -0.117249
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.075158596038818,
                    "model_output": 7.0752,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.1709
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1372
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0651
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0325
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0245
                        }
                      ],
                      "others": 0.1132,
                      "total": 7.0752,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.170878
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.13724
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.065073
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.032472
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "margin": -0.024511
                        }
                      ],
                      "others_margin": 0.113292
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 34,
                  "role_matches": 13,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0144, quality 0.879)",
              "stats": {
                "key_pass": 0.5594,
                "expected_assists": 0.0422,
                "assists": 0.0523,
                "assist_rate": 0.0523,
                "expected_goals": 0.0301,
                "goals": 0.037,
                "goal_rate": 0.037,
                "shots_on_target": 0.1029,
                "total_shots": 0.3584,
                "rating": 7.0752,
                "minutes": 19.4,
                "total_pass": 17.274,
                "accurate_pass": 15.2269,
                "duels_won": 1.4871,
                "total_long_balls": 0.6006,
                "accurate_long_balls": 0.2624,
                "total_own_half_passes": 5.4332,
                "accurate_own_half_passes": 5.2425,
                "total_opp_half_passes": 11.8408,
                "accurate_opp_half_passes": 9.9843,
                "crosses_total": 0.5274,
                "crosses_accurate": 0.1014,
                "touches": 21.774,
                "possession_lost": 3.3376,
                "dispossessed": 0.2027,
                "duels_lost": 1.3741,
                "aerial_won": 0.3447,
                "aerial_lost": 0.5893,
                "interceptions": 0.0653,
                "tackles_won": 0.1007,
                "tackles": 0.235,
                "clearances": 0.6802,
                "total_contest": 0.6601,
                "won_contest": 0.5136,
                "challenges_lost": 0.1715,
                "fouls": 0.389,
                "fouls_drawn": 0.3938,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 8.0321,
                "total_progression": 35.8331,
                "progressive_carries": 0.6201,
                "shots_off_target": 0.2555
              },
              "params": {
                "market_value_eur": 77000000,
                "quality_factor": 0.8792,
                "boost_factor": 1.0144,
                "reference_quality": 0.505,
                "history_matches": 34,
                "history_shrink": 0.1282,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0061)",
              "stats": {
                "key_pass": 0.5594,
                "expected_assists": 0.0422,
                "assists": 0.052,
                "assist_rate": 0.052,
                "expected_goals": 0.0301,
                "goals": 0.0368,
                "goal_rate": 0.0368,
                "shots_on_target": 0.1023,
                "total_shots": 0.3608,
                "rating": 7.0752,
                "minutes": 19.4,
                "total_pass": 17.274,
                "accurate_pass": 15.2269,
                "duels_won": 1.4871,
                "total_long_balls": 0.6006,
                "accurate_long_balls": 0.2624,
                "total_own_half_passes": 5.4332,
                "accurate_own_half_passes": 5.2425,
                "total_opp_half_passes": 11.8408,
                "accurate_opp_half_passes": 9.9843,
                "crosses_total": 0.5254,
                "crosses_accurate": 0.1014,
                "touches": 21.774,
                "possession_lost": 3.3376,
                "dispossessed": 0.2027,
                "duels_lost": 1.3741,
                "aerial_won": 0.3447,
                "aerial_lost": 0.5893,
                "interceptions": 0.0673,
                "tackles_won": 0.1025,
                "tackles": 0.235,
                "clearances": 0.6802,
                "total_contest": 0.6601,
                "won_contest": 0.5136,
                "challenges_lost": 0.1715,
                "fouls": 0.3866,
                "fouls_drawn": 0.3938,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 8.0321,
                "total_progression": 35.8331,
                "progressive_carries": 0.6201,
                "shots_off_target": 0.2555
              },
              "params": {
                "blend_weight": 0.0061,
                "history_matches": 34,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2156,
                "prior_reliability": 0.0733,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 19.4 to 23.9 expected minutes (appearance prob 0.54)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.0519,
                "assists": 0.064,
                "assist_rate": 0.064,
                "expected_goals": 0.037,
                "goals": 0.0453,
                "goal_rate": 0.0453,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87
              },
              "params": {
                "expected_minutes": 23.87,
                "projection_minutes": 19.4,
                "minutes_scale": 1.2304,
                "appearance_probability": 0.535
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.0519,
                "assists": 0.064,
                "assist_rate": 0.064,
                "expected_goals": 0.037,
                "goals": 0.0453,
                "goal_rate": 0.0453,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.0519,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.037,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.031,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.0221,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0954,
                "creation_factor": 1.1187
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 0.535
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.037,
                  "after": 0.0221
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0519,
                  "after": 0.031
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 3 by projected rating, fifa_overall 81.0)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.031,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.0221,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0954,
                "creation_factor": 1.1187,
                "fifa_overall": 81.0
              },
              "params": {
                "match_squad_rank": 3,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 726,
                "fifa_rank": 529.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.031,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.0221,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0216,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0954,
                "creation_factor": 1.1187,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0216,
                "goal_rate": 0.0453,
                "scorer_weight": 0.0242,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0165,
                "finishing_factor": 1.0954,
                "appearance_weight": 0.535,
                "weight_rank": 13,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.031,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.0221,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0216,
                "projected_assists": 0,
                "assist_probability": 0.0301,
                "finishing_factor": 1.0954,
                "creation_factor": 1.1187,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0301,
                "assist_rate": 0.064,
                "provider_weight": 0.0347,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0349,
                "creation_factor": 1.1187,
                "appearance_weight": 0.535,
                "weight_rank": 11,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Andrey Santos": {
          "player_id": 1105779,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 17,
          "height": 180,
          "market_value": 44000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.009,
            "assist_rate": 0.0266,
            "assists": 0,
            "expected_goals": 0.0119,
            "goal_rate": 0.029,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.7641,
            "minutes": 17,
            "total_pass": 13,
            "accurate_pass": 12,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 7,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 17,
            "possession_lost": 1.6721,
            "dispossessed": 0.0852,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 1,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0041,
            "ball_carries": 4,
            "total_progression": 11,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.529,
            "bench_expected_minutes": 16.58,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0118,
            "projected_assists": 0,
            "assist_probability": 0.0089,
            "finishing_factor": 1.127,
            "creation_factor": 1.1748,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1521,
                "expected_assists": 0.0431,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 76,
                "accurate_pass": 69,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 8,
                "ball_recovery": 7,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.013,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 31,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 13,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0057,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 8,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 10,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.004,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 14,
                "tackles": 3,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 67,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.2324,
                "total_shots": 0,
                "total_pass": 60,
                "accurate_pass": 55,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2226,
                "expected_assists": 0.0069,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 38,
                "accurate_pass": 38,
                "tackles": 5,
                "tackles_won": 5,
                "interceptions": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024024,
              "match_date": "2026-05-09",
              "home_team": "Liverpool FC",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 63,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0114,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 30,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023925,
              "match_date": "2026-05-04",
              "home_team": "Chelsea",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 32,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0252,
                "expected_assists": 0.0329,
                "total_shots": 1,
                "total_pass": 44,
                "accurate_pass": 41,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023998,
              "match_date": "2026-04-12",
              "home_team": "Chelsea",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 67,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0534,
                "expected_assists": 0.0191,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 34,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024017,
              "match_date": "2026-03-21",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 33,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0172,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 20,
                "tackles": 1,
                "clearances": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1467,
            "combined_rank_score": 606.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 511.0,
            "sofascore_rating": 6.85,
            "sofascore_appearances": 2.0,
            "fifa_rank": 701.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7641,
            "source_file": "data/player_rankings.csv",
            "player_name": "Andrey Santos",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Bekhruz Shaydulov",
                  "ranking": 1462
                },
                {
                  "player_name": "Nicolás Palma",
                  "ranking": 1463
                },
                {
                  "player_name": "Ahmadullo Muqimjonov",
                  "ranking": 1464
                },
                {
                  "player_name": "Kirill Pechenin",
                  "ranking": 1465
                },
                {
                  "player_name": "Paulinho",
                  "ranking": 1466
                }
              ],
              "lower": [
                {
                  "player_name": "Miloš Kerkez",
                  "ranking": 1468
                },
                {
                  "player_name": "Misael Llantén",
                  "ranking": 1469
                },
                {
                  "player_name": "Gabriel Graciani",
                  "ranking": 1470
                },
                {
                  "player_name": "Hyeong-won Kim",
                  "ranking": 1471
                },
                {
                  "player_name": "Matías Fernández-Pardo",
                  "ranking": 1472
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.759,
          "history_matches": 32,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 32,
            "data_confidence": 0.759,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 16.58,
            "bench_appearance_prob": 0.529,
            "market_value_adjustment": 1.012,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 11.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.06
            },
            "rationale": "Bench projection scaled from XGBoost M_service (32 historical appearances) to 16.6 expected mins (appearance prob 0.53); FBref playing time empirical prior: 1.0 sub appearances, 11.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.3011,
                "expected_assists": 0.0196,
                "assists": 0.0344,
                "assist_rate": 0.0344,
                "expected_goals": 0.0258,
                "goals": 0.0375,
                "goal_rate": 0.0375,
                "shots_on_target": 0.0858,
                "total_shots": 0.2387,
                "rating": 6.7641,
                "minutes": 21.56,
                "total_pass": 16.4407,
                "accurate_pass": 14.8166,
                "duels_won": 1.5919,
                "total_long_balls": 0.5165,
                "accurate_long_balls": 0.2572,
                "total_own_half_passes": 7.2699,
                "accurate_own_half_passes": 6.4342,
                "total_opp_half_passes": 9.1708,
                "accurate_opp_half_passes": 8.3824,
                "crosses_total": 0.0167,
                "crosses_accurate": 0.0,
                "touches": 21.3031,
                "possession_lost": 2.1485,
                "dispossessed": 0.0842,
                "duels_lost": 1.3236,
                "aerial_won": 0.2981,
                "aerial_lost": 0.3982,
                "interceptions": 0.1497,
                "tackles_won": 0.1756,
                "tackles": 0.9482,
                "clearances": 0.9272,
                "total_contest": 0.2837,
                "won_contest": 0.0842,
                "challenges_lost": 0.3444,
                "fouls": 0.3414,
                "fouls_drawn": 0.2615,
                "blocks": 0.0611,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0142,
                "xgot": 0.009,
                "ball_carries": 5.5216,
                "total_progression": 14.0431,
                "progressive_carries": 0.2929,
                "shots_off_target": 0.1529
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1508,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1282,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 13.0,
                    "is_starting": false,
                    "weight": 0.109,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.0926,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0787,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0669,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Liverpool FC",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.0569,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Nottingham Forest",
                    "minutes": 32.0,
                    "is_starting": false,
                    "weight": 0.0484,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-04-12",
                    "opponent": "Manchester City",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0411,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-03-21",
                    "opponent": "Everton",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.0349,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.3332,
                  "creative_index": 0.217,
                  "expectedGoals": 0.0511,
                  "expectedAssists": 0.04,
                  "totalOppositionHalfPasses": 20.7462
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.30107054114341736,
                    "model_output": 0.3011,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3947
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0567
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.039
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0228
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0166
                        }
                      ],
                      "others": -0.0594,
                      "total": 0.3011,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.585859
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.12156
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.09303
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.058623
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.045155
                        }
                      ],
                      "others_margin": -0.179957
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.01960899867117405,
                    "model_output": 0.0196,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0386
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0096
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0047
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0038
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0019
                        }
                      ],
                      "others": -0.0067,
                      "total": 0.0196,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.606394
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.231246
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.137641
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.126627
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.06998
                        }
                      ],
                      "others_margin": -0.2941
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.034356795251369476,
                    "model_output": 0.0344,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0241
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0089
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.005
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0036
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0031
                        }
                      ],
                      "others": -0.0059,
                      "total": 0.0344,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.333558
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.158142
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.101073
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.079849
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.073721
                        }
                      ],
                      "others_margin": -0.159777
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.025781219825148582,
                    "model_output": 0.0258,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0387
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0069
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0046
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0038
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0026
                        }
                      ],
                      "others": -0.009,
                      "total": 0.0258,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.550368
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.141206
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.105835
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.095624
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.071892
                        }
                      ],
                      "others_margin": -0.301004
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.037483058869838715,
                    "model_output": 0.0375,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0313
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0113
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0036
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0031
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0023
                        }
                      ],
                      "others": -0.0059,
                      "total": 0.0375,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.400439
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.19508
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.070716
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.065695
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.051583
                        }
                      ],
                      "others_margin": -0.146323
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.08578184992074966,
                    "model_output": 0.0858,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1392
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0435
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0184
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0062
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0058
                        }
                      ],
                      "others": -0.0194,
                      "total": 0.0858,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.574977
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.278318
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.145749
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.053911
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.053699
                        }
                      ],
                      "others_margin": -0.204521
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.23871764540672302,
                    "model_output": 0.2387,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3296
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1769
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0449
                        },
                        {
                          "name": "dispossessed",
                          "contribution": -0.0191
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0188
                        }
                      ],
                      "others": -0.1561,
                      "total": 0.2387,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.329586
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.176907
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.044868
                        },
                        {
                          "name": "dispossessed",
                          "margin": -0.019058
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.018838
                        }
                      ],
                      "others_margin": -0.156135
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.764130115509033,
                    "model_output": 6.7641,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1017
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0244
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0236
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0222
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0159
                        }
                      ],
                      "others": -0.0283,
                      "total": 6.7641,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.101682
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.02436
                        },
                        {
                          "name": "rating",
                          "margin": -0.02363
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.022239
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.015908
                        }
                      ],
                      "others_margin": -0.028258
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 32,
                  "role_matches": 16,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0120, quality 0.800)",
              "stats": {
                "key_pass": 0.3047,
                "expected_assists": 0.0198,
                "assists": 0.0348,
                "assist_rate": 0.0348,
                "expected_goals": 0.0261,
                "goals": 0.0379,
                "goal_rate": 0.0379,
                "shots_on_target": 0.0868,
                "total_shots": 0.2416,
                "rating": 6.7641,
                "minutes": 21.56,
                "total_pass": 16.638,
                "accurate_pass": 14.9944,
                "duels_won": 1.611,
                "total_long_balls": 0.5227,
                "accurate_long_balls": 0.2603,
                "total_own_half_passes": 7.3571,
                "accurate_own_half_passes": 6.5114,
                "total_opp_half_passes": 9.2808,
                "accurate_opp_half_passes": 8.483,
                "crosses_total": 0.0169,
                "crosses_accurate": 0.0,
                "touches": 21.5587,
                "possession_lost": 2.1743,
                "dispossessed": 0.0852,
                "duels_lost": 1.3395,
                "aerial_won": 0.3017,
                "aerial_lost": 0.403,
                "interceptions": 0.1515,
                "tackles_won": 0.1777,
                "tackles": 0.9596,
                "clearances": 0.9383,
                "total_contest": 0.2871,
                "won_contest": 0.0852,
                "challenges_lost": 0.3485,
                "fouls": 0.3455,
                "fouls_drawn": 0.2646,
                "blocks": 0.0618,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0144,
                "xgot": 0.0091,
                "ball_carries": 5.5879,
                "total_progression": 14.2116,
                "progressive_carries": 0.2964,
                "shots_off_target": 0.1547
              },
              "params": {
                "market_value_eur": 44000000,
                "quality_factor": 0.8002,
                "boost_factor": 1.012,
                "reference_quality": 0.505,
                "history_matches": 32,
                "history_shrink": 0.1351,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0053)",
              "stats": {
                "key_pass": 0.3047,
                "expected_assists": 0.0198,
                "assists": 0.0346,
                "assist_rate": 0.0346,
                "expected_goals": 0.0261,
                "goals": 0.0377,
                "goal_rate": 0.0377,
                "shots_on_target": 0.0863,
                "total_shots": 0.2403,
                "rating": 6.7641,
                "minutes": 21.56,
                "total_pass": 16.638,
                "accurate_pass": 14.9944,
                "duels_won": 1.611,
                "total_long_balls": 0.5227,
                "accurate_long_balls": 0.2603,
                "total_own_half_passes": 7.3571,
                "accurate_own_half_passes": 6.5114,
                "total_opp_half_passes": 9.2808,
                "accurate_opp_half_passes": 8.483,
                "crosses_total": 0.0168,
                "crosses_accurate": 0.0,
                "touches": 21.5587,
                "possession_lost": 2.1743,
                "dispossessed": 0.0852,
                "duels_lost": 1.3395,
                "aerial_won": 0.3017,
                "aerial_lost": 0.403,
                "interceptions": 0.1507,
                "tackles_won": 0.1782,
                "tackles": 0.9596,
                "clearances": 0.9383,
                "total_contest": 0.2871,
                "won_contest": 0.0852,
                "challenges_lost": 0.3485,
                "fouls": 0.3465,
                "fouls_drawn": 0.266,
                "blocks": 0.0618,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0144,
                "xgot": 0.0091,
                "ball_carries": 5.5879,
                "total_progression": 14.2116,
                "progressive_carries": 0.2964,
                "shots_off_target": 0.1547
              },
              "params": {
                "blend_weight": 0.0053,
                "history_matches": 32,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2396,
                "prior_reliability": 0.06,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 21.6 to 16.6 expected minutes (appearance prob 0.53)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.0152,
                "assists": 0.0266,
                "assist_rate": 0.0266,
                "expected_goals": 0.0201,
                "goals": 0.029,
                "goal_rate": 0.029,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.007,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58
              },
              "params": {
                "expected_minutes": 16.58,
                "projection_minutes": 21.56,
                "minutes_scale": 0.769,
                "appearance_probability": 0.529
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.0152,
                "assists": 0.0266,
                "assist_rate": 0.0266,
                "expected_goals": 0.0201,
                "goals": 0.029,
                "goal_rate": 0.029,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.007,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.0152,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0201,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.007,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.009,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0119,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.0041,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.127,
                "creation_factor": 1.1748
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 0.529
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0201,
                  "after": 0.0119
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0152,
                  "after": 0.009
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 80.0)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.009,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0119,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.0041,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.127,
                "creation_factor": 1.1748,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1467,
                "fifa_rank": 701.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.009,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0119,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.0041,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0118,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.127,
                "creation_factor": 1.1748,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0118,
                "goal_rate": 0.029,
                "scorer_weight": 0.0134,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0092,
                "finishing_factor": 1.127,
                "appearance_weight": 0.529,
                "weight_rank": 14,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.009,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0119,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.0041,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0118,
                "projected_assists": 0,
                "assist_probability": 0.0089,
                "finishing_factor": 1.127,
                "creation_factor": 1.1748,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0089,
                "assist_rate": 0.0266,
                "provider_weight": 0.0106,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0106,
                "creation_factor": 1.1748,
                "appearance_weight": 0.529,
                "weight_rank": 12,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Matheus Cunha": {
          "player_id": 886363,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 184,
          "market_value": 79000000,
          "stats": {
            "expected_goals": 0.0408,
            "goal_rate": 0.0954,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0306,
            "key_pass": 1,
            "rating": 6.7818,
            "minutes": 27,
            "total_pass": 15,
            "accurate_pass": 12,
            "duels_won": 4,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 8,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 26,
            "possession_lost": 7.8844,
            "dispossessed": 1.1249,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.1679,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0174,
            "offsides": 0,
            "ball_carries": 7,
            "total_progression": 42,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.37,
            "bench_expected_minutes": 27.05,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0386,
            "projected_assists": 0,
            "assist_probability": 0.0294,
            "finishing_factor": 0.9758,
            "creation_factor": 1.25,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2853,
                "expected_assists": 0.0171,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 30,
                "accurate_pass": 24,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0186,
                "expected_assists": 0.0019,
                "total_shots": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 89,
                "rating": 6.9,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1809,
                "expected_assists": 0.1075,
                "total_shots": 1,
                "total_pass": 34,
                "accurate_pass": 28,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 4,
                "interceptions": 1,
                "duels_won": 7,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0541,
                "expected_assists": 0.3943,
                "total_shots": 3,
                "shots_on_target": 2,
                "total_pass": 26,
                "accurate_pass": 22,
                "key_pass": 3,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.108,
                "expected_assists": 0.0274,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 28,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 70,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1178,
                "expected_assists": 0.054,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 28,
                "accurate_pass": 22,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 80,
                "rating": 7.0,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.106,
                "expected_assists": 0.1515,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 19,
                "key_pass": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 80,
                "rating": 5.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2431,
                "expected_assists": 0.2127,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 28,
                "accurate_pass": 27,
                "key_pass": 2,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 80,
                "rating": 8.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.319,
                "expected_assists": 0.4868,
                "total_shots": 4,
                "shots_on_target": 1,
                "total_pass": 32,
                "accurate_pass": 27,
                "key_pass": 4,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023938,
              "match_date": "2026-05-09",
              "home_team": "Sunderland",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3259,
                "expected_assists": 0.1151,
                "total_shots": 5,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 31,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 356,
            "combined_rank_score": 231.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 261.0,
            "sofascore_rating": 7.0909,
            "sofascore_appearances": 33.0,
            "fifa_rank": 201.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7818,
            "source_file": "data/player_rankings.csv",
            "player_name": "Matheus Cunha",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jorginho",
                  "ranking": 351
                },
                {
                  "player_name": "Renê",
                  "ranking": 352
                },
                {
                  "player_name": "Azizbek Amanov",
                  "ranking": 353
                },
                {
                  "player_name": "Aboubacar Toungara",
                  "ranking": 354
                },
                {
                  "player_name": "Sharof Mukhiddinov",
                  "ranking": 355
                }
              ],
              "lower": [
                {
                  "player_name": "Antoine Semenyo",
                  "ranking": 357
                },
                {
                  "player_name": "Cho Sang-Jun",
                  "ranking": 358
                },
                {
                  "player_name": "Cristiano Ronaldo",
                  "ranking": 359
                },
                {
                  "player_name": "Riccardo Calafiori",
                  "ranking": 360
                },
                {
                  "player_name": "Patrik Schick",
                  "ranking": 361
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.768,
          "history_matches": 41,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 41,
            "data_confidence": 0.768,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 27.049191790729324,
            "bench_appearance_prob": 0.37,
            "market_value_adjustment": 1.0123,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.5555555555555556,
              "prior_reliability": 0.12
            },
            "rationale": "Bench projection scaled from XGBoost F_service (41 historical appearances) to 27.0 expected mins (appearance prob 0.37); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0872,
                "goals": 0.0846,
                "goal_rate": 0.0846,
                "shots_on_target": 0.3734,
                "total_shots": 1.0586,
                "expected_assists": 0.0653,
                "key_pass": 0.7017,
                "rating": 6.7818,
                "minutes": 24.11,
                "total_pass": 13.055,
                "accurate_pass": 10.3152,
                "duels_won": 3.2374,
                "total_long_balls": 0.7364,
                "accurate_long_balls": 0.3887,
                "total_opp_half_passes": 9.4743,
                "accurate_opp_half_passes": 7.2973,
                "crosses_total": 0.2548,
                "crosses_accurate": 0.2548,
                "touches": 23.3052,
                "possession_lost": 6.9423,
                "dispossessed": 1.1112,
                "duels_lost": 3.597,
                "aerial_lost": 0.613,
                "total_contest": 1.539,
                "won_contest": 0.6213,
                "ball_recovery": 2.1208,
                "challenges_lost": 0.4734,
                "fouls": 0.4817,
                "fouls_drawn": 1.0622,
                "assists": 0.1479,
                "assist_rate": 0.1479,
                "interceptions": 0.2326,
                "tackles_won": 0.6296,
                "tackles": 1.0994,
                "clearances": 0.174,
                "blocks": 0.0,
                "big_chances_created": 0.1791,
                "big_chances_missed": 0.0,
                "xgot": 0.0372,
                "offsides": 0.1479,
                "ball_carries": 6.3763,
                "total_progression": 37.2806,
                "progressive_carries": 0.9529,
                "shots_off_target": 0.6851
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1502,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.1277,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 5.8
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 8.4
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.1568,
                  "accuratePass": 21.2638,
                  "totalOppositionHalfPasses": 17.9417,
                  "accurateOppositionHalfPasses": 14.116,
                  "totalShots": 2.2435
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.08716124296188354,
                    "model_output": 0.0872,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0802
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0123
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0074
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.005
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": -0.0043
                        }
                      ],
                      "others": -0.0095,
                      "total": 0.0872,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.526354
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.111995
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.074036
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.050665
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": -0.04378
                        }
                      ],
                      "others_margin": -0.104535
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.08462291955947876,
                    "model_output": 0.0846,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0971
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0106
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0087
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0055
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0045
                        }
                      ],
                      "others": 0.0015,
                      "total": 0.0846,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.662775
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.107764
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.09799
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.067668
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.055749
                        }
                      ],
                      "others_margin": 0.017957
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.3734171390533447,
                    "model_output": 0.3734,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1858
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0458
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0322
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0194
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0191
                        }
                      ],
                      "others": -0.0251,
                      "total": 0.3734,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.429417
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.124264
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.085554
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.052363
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.04916
                        }
                      ],
                      "others_margin": -0.065103
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.0585570335388184,
                    "model_output": 1.0586,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5168
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1523
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0597
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0395
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0355
                        }
                      ],
                      "others": -0.0208,
                      "total": 1.0586,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.516848
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.152293
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.059747
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.03951
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.035529
                        }
                      ],
                      "others_margin": -0.020767
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06530486792325974,
                    "model_output": 0.0653,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0215
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0083
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0051
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0038
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0034
                        }
                      ],
                      "others": 0.0019,
                      "total": 0.0653,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.407768
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.177165
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.094489
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.064687
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.054826
                        }
                      ],
                      "others_margin": 0.031986
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.7017096281051636,
                    "model_output": 0.7017,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2624
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0625
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0597
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0483
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0376
                        }
                      ],
                      "others": 0.0693,
                      "total": 0.7017,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.481491
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.137503
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.115702
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.084686
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.061246
                        }
                      ],
                      "others_margin": 0.103922
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.781824588775635,
                    "model_output": 6.7818,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0997
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0255
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.022
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0217
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0184
                        }
                      ],
                      "others": 0.0671,
                      "total": 6.7818,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.099721
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.025532
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.021951
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.021744
                        },
                        {
                          "name": "touches",
                          "margin": 0.018359
                        }
                      ],
                      "others_margin": 0.067016
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 41,
                  "role_matches": 6,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0123, quality 0.881)",
              "stats": {
                "expected_goals": 0.0882,
                "goals": 0.0857,
                "goal_rate": 0.0857,
                "shots_on_target": 0.378,
                "total_shots": 1.0716,
                "expected_assists": 0.0661,
                "key_pass": 0.7103,
                "rating": 6.7818,
                "minutes": 24.11,
                "total_pass": 13.2156,
                "accurate_pass": 10.4421,
                "duels_won": 3.2772,
                "total_long_balls": 0.7455,
                "accurate_long_balls": 0.3935,
                "total_opp_half_passes": 9.5908,
                "accurate_opp_half_passes": 7.3871,
                "crosses_total": 0.2579,
                "crosses_accurate": 0.2579,
                "touches": 23.5919,
                "possession_lost": 7.0277,
                "dispossessed": 1.1249,
                "duels_lost": 3.6412,
                "aerial_lost": 0.6205,
                "total_contest": 1.5579,
                "won_contest": 0.6289,
                "ball_recovery": 2.1469,
                "challenges_lost": 0.4792,
                "fouls": 0.4876,
                "fouls_drawn": 1.0753,
                "assists": 0.1497,
                "assist_rate": 0.1497,
                "interceptions": 0.2355,
                "tackles_won": 0.6373,
                "tackles": 1.1129,
                "clearances": 0.1761,
                "blocks": 0.0,
                "big_chances_created": 0.1813,
                "big_chances_missed": 0.0,
                "xgot": 0.0377,
                "offsides": 0.1497,
                "ball_carries": 6.4547,
                "total_progression": 37.7392,
                "progressive_carries": 0.9646,
                "shots_off_target": 0.6935
              },
              "params": {
                "market_value_eur": 79000000,
                "quality_factor": 0.8811,
                "boost_factor": 1.0123,
                "reference_quality": 0.505,
                "history_matches": 41,
                "history_shrink": 0.1087,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0085)",
              "stats": {
                "expected_goals": 0.0882,
                "goals": 0.085,
                "goal_rate": 0.085,
                "shots_on_target": 0.3774,
                "total_shots": 1.069,
                "expected_assists": 0.0661,
                "key_pass": 0.7103,
                "rating": 6.7818,
                "minutes": 24.11,
                "total_pass": 13.2156,
                "accurate_pass": 10.4421,
                "duels_won": 3.2772,
                "total_long_balls": 0.7455,
                "accurate_long_balls": 0.3935,
                "total_opp_half_passes": 9.5908,
                "accurate_opp_half_passes": 7.3871,
                "crosses_total": 0.2608,
                "crosses_accurate": 0.2579,
                "touches": 23.5919,
                "possession_lost": 7.0277,
                "dispossessed": 1.1249,
                "duels_lost": 3.6412,
                "aerial_lost": 0.6205,
                "total_contest": 1.5579,
                "won_contest": 0.6289,
                "ball_recovery": 2.1469,
                "challenges_lost": 0.4792,
                "fouls": 0.4847,
                "fouls_drawn": 1.07,
                "assists": 0.1497,
                "assist_rate": 0.1497,
                "interceptions": 0.2335,
                "tackles_won": 0.6319,
                "tackles": 1.1129,
                "clearances": 0.1761,
                "blocks": 0.0,
                "big_chances_created": 0.1813,
                "big_chances_missed": 0.0,
                "xgot": 0.0377,
                "offsides": 0.1484,
                "ball_carries": 6.4547,
                "total_progression": 37.7392,
                "progressive_carries": 0.9646,
                "shots_off_target": 0.6935
              },
              "params": {
                "blend_weight": 0.0085,
                "history_matches": 41,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2679,
                "prior_reliability": 0.12,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "wonTackle",
                  "before": 0.6373,
                  "after": 0.6319
                },
                {
                  "stat": "wasFouled",
                  "before": 1.0753,
                  "after": 1.07
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 24.1 to 27.0 expected minutes (appearance prob 0.37)",
              "stats": {
                "expected_goals": 0.099,
                "goals": 0.0954,
                "goal_rate": 0.0954,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0742,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assists": 0.1679,
                "assist_rate": 0.1679,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0423,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05
              },
              "params": {
                "expected_minutes": 27.05,
                "projection_minutes": 24.11,
                "minutes_scale": 1.1219,
                "appearance_probability": 0.37
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.099,
                "goals": 0.0954,
                "goal_rate": 0.0954,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0742,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assists": 0.1679,
                "assist_rate": 0.1679,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0423,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.099,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0742,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0423,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "expected_goals": 0.0408,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0306,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0174,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9758,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 0.37
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.099,
                  "after": 0.0408
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0742,
                  "after": 0.0306
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 14 by projected rating, fifa_overall 84.0)",
              "stats": {
                "expected_goals": 0.0408,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0306,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0174,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9758,
                "creation_factor": 1.25,
                "fifa_overall": 84.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 356,
                "fifa_rank": 201.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.0408,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0306,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0174,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0386,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9758,
                "creation_factor": 1.25,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0386,
                "goal_rate": 0.0954,
                "scorer_weight": 0.0398,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0272,
                "finishing_factor": 0.9758,
                "appearance_weight": 0.37,
                "weight_rank": 10,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.0408,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0306,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0174,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0386,
                "projected_assists": 0,
                "assist_probability": 0.0294,
                "finishing_factor": 0.9758,
                "creation_factor": 1.25,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0294,
                "assist_rate": 0.1679,
                "provider_weight": 0.0382,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0385,
                "creation_factor": 1.25,
                "appearance_weight": 0.37,
                "weight_rank": 10,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Benjamin Šeško": {
          "player_id": 986397,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 30,
          "height": 195,
          "market_value": 78000000,
          "stats": {
            "expected_goals": 0.1162,
            "goal_rate": 0.1328,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0121,
            "key_pass": 0,
            "rating": 6.6329,
            "minutes": 22,
            "total_pass": 6,
            "accurate_pass": 4,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 2.6459,
            "dispossessed": 0.2988,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.162,
            "offsides": 0,
            "ball_carries": 3,
            "total_progression": 10,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.755,
            "bench_expected_minutes": 22.07,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.1077,
            "projected_assists": 0,
            "assist_probability": 0.012,
            "finishing_factor": 0.9718,
            "creation_factor": 0.8,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 23,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0592,
                "expected_assists": 0.0024,
                "total_shots": 1,
                "total_pass": 5,
                "accurate_pass": 5,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 20,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.287,
                "expected_assists": 0.001,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 5,
                "accurate_pass": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 10,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0053,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 5,
                "key_pass": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 23,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0357,
                "expected_assists": 0.0025,
                "total_shots": 1,
                "total_pass": 3,
                "accurate_pass": 3,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023939,
              "match_date": "2026-05-03",
              "home_team": "Manchester United",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 1.2471,
                "expected_assists": 0.0058,
                "total_shots": 3,
                "shots_on_target": 2,
                "total_pass": 3,
                "accurate_pass": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023926,
              "match_date": "2026-04-27",
              "home_team": "Manchester United",
              "away_team": "Brentford",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brentford",
              "stats": {
                "minutes": 88,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4365,
                "expected_assists": 0.0276,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 20,
                "accurate_pass": 11,
                "key_pass": 1,
                "aerial_won": 3,
                "duels_won": 7,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 80,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0304,
                "expected_assists": 0.0147,
                "total_shots": 1,
                "total_pass": 11,
                "accurate_pass": 9,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025024,
              "match_date": "2026-04-13",
              "home_team": "Manchester United",
              "away_team": "Leeds United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3139,
                "expected_assists": 0.0063,
                "total_shots": 3,
                "shots_on_target": 3,
                "total_pass": 15,
                "accurate_pass": 10,
                "aerial_won": 5,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023997,
              "match_date": "2026-03-20",
              "home_team": "Bournemouth",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 19,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 7,
                "aerial_won": 3,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023994,
              "match_date": "2026-03-15",
              "home_team": "Manchester United",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 15,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3149,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1116,
            "combined_rank_score": 499.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 613.0,
            "sofascore_rating": 6.775,
            "sofascore_appearances": 4.0,
            "fifa_rank": 386.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6329,
            "source_file": "data/player_rankings.csv",
            "player_name": "Benjamin Šeško",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Arihiro Sentoku",
                  "ranking": 1111
                },
                {
                  "player_name": "Leonel González",
                  "ranking": 1112
                },
                {
                  "player_name": "Veldin Hodža",
                  "ranking": 1113
                },
                {
                  "player_name": "Breno Bidon",
                  "ranking": 1114
                },
                {
                  "player_name": "Antonio Gutemberg",
                  "ranking": 1115
                }
              ],
              "lower": [
                {
                  "player_name": "Kim Jeong Hyun",
                  "ranking": 1117
                },
                {
                  "player_name": "Jaba Jigauri",
                  "ranking": 1118
                },
                {
                  "player_name": "Benjamin Opeyemi Teidi",
                  "ranking": 1119
                },
                {
                  "player_name": "Tornike Dzebniauri",
                  "ranking": 1120
                },
                {
                  "player_name": "Ho-in Lee",
                  "ranking": 1121
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.754,
          "history_matches": 34,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 34,
            "data_confidence": 0.754,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.07,
            "bench_appearance_prob": 0.755,
            "market_value_adjustment": 1.0144,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 18.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "Bench projection scaled from XGBoost F_service (34 historical appearances) to 22.1 expected mins (appearance prob 0.76); FBref playing time empirical prior: 2.0 sub appearances, 18.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.123,
                "goals": 0.1186,
                "goal_rate": 0.1186,
                "shots_on_target": 0.3881,
                "total_shots": 0.9044,
                "expected_assists": 0.0128,
                "key_pass": 0.2794,
                "rating": 6.6329,
                "minutes": 19.94,
                "total_pass": 4.946,
                "accurate_pass": 3.7629,
                "duels_won": 0.8007,
                "total_long_balls": 0.0259,
                "accurate_long_balls": 0.0259,
                "total_opp_half_passes": 2.7637,
                "accurate_opp_half_passes": 1.9398,
                "crosses_total": 0.1157,
                "crosses_accurate": 0.0,
                "touches": 8.0998,
                "possession_lost": 2.3566,
                "dispossessed": 0.2946,
                "duels_lost": 2.1612,
                "aerial_lost": 1.2478,
                "total_contest": 0.4912,
                "won_contest": 0.2231,
                "ball_recovery": 1.1311,
                "challenges_lost": 0.0228,
                "fouls": 0.3444,
                "fouls_drawn": 0.0371,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1595,
                "blocks": 0.0194,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1536,
                "xgot": 0.1713,
                "offsides": 0.0421,
                "ball_carries": 2.3632,
                "total_progression": 8.9014,
                "progressive_carries": 0.5264,
                "shots_off_target": 0.5163
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.1506,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.128,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.1088,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0925,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-05-03",
                    "opponent": "Liverpool FC",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Brentford",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.0668,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Chelsea",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-04-13",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-03-20",
                    "opponent": "Bournemouth",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-03-15",
                    "opponent": "Aston Villa",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.0349,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.2691,
                  "accuratePass": 5.6189,
                  "totalOppositionHalfPasses": 4.8711,
                  "accurateOppositionHalfPasses": 3.3735,
                  "totalShots": 1.5366
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.12301336228847504,
                    "model_output": 0.123,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0929
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0101
                        },
                        {
                          "name": "goals",
                          "contribution": 0.007
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0043
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0035
                        }
                      ],
                      "others": 0.0021,
                      "total": 0.123,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.642894
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.093146
                        },
                        {
                          "name": "goals",
                          "margin": 0.060292
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.035171
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.02848
                        }
                      ],
                      "others_margin": 0.017262
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.11855267733335495,
                    "model_output": 0.1186,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1023
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0134
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0072
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0064
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0059
                        }
                      ],
                      "others": 0.0121,
                      "total": 0.1186,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.714055
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.127934
                        },
                        {
                          "name": "goals",
                          "margin": 0.06273
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": -0.055274
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.05384
                        }
                      ],
                      "others_margin": 0.107169
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.3881119191646576,
                    "model_output": 0.3881,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2203
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0219
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0164
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0154
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.015
                        }
                      ],
                      "others": 0.0075,
                      "total": 0.3881,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.534432
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.067857
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.047866
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.043133
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.040296
                        }
                      ],
                      "others_margin": 0.019591
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9044050574302673,
                    "model_output": 0.9044,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5926
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0728
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0401
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0397
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0338
                        }
                      ],
                      "others": 0.0106,
                      "total": 0.9044,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.592578
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.072793
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.040144
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.039692
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.033781
                        }
                      ],
                      "others_margin": 0.010709
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.012801109813153744,
                    "model_output": 0.0128,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0214
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0118
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0046
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0028
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0024
                        }
                      ],
                      "others": -0.0085,
                      "total": 0.0128,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.405283
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.322446
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.161482
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.112024
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.104777
                        }
                      ],
                      "others_margin": -0.508138
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.27944833040237427,
                    "model_output": 0.2794,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2729
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0382
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0296
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0174
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0151
                        }
                      ],
                      "others": -0.0341,
                      "total": 0.2794,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.506416
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.09676
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.082011
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.051661
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.047115
                        }
                      ],
                      "others_margin": -0.115172
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.632852554321289,
                    "model_output": 6.6329,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0717
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0109
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0105
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.01
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0084
                        }
                      ],
                      "others": -0.0264,
                      "total": 6.6329,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.071668
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.010893
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.010482
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.009951
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.008442
                        }
                      ],
                      "others_margin": -0.026557
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 34,
                  "role_matches": 17,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0144, quality 0.880)",
              "stats": {
                "expected_goals": 0.1248,
                "goals": 0.1203,
                "goal_rate": 0.1203,
                "shots_on_target": 0.3937,
                "total_shots": 0.9174,
                "expected_assists": 0.013,
                "key_pass": 0.2835,
                "rating": 6.6329,
                "minutes": 19.94,
                "total_pass": 5.0172,
                "accurate_pass": 3.8171,
                "duels_won": 0.8122,
                "total_long_balls": 0.0263,
                "accurate_long_balls": 0.0263,
                "total_opp_half_passes": 2.8035,
                "accurate_opp_half_passes": 1.9677,
                "crosses_total": 0.1174,
                "crosses_accurate": 0.0,
                "touches": 8.2164,
                "possession_lost": 2.3905,
                "dispossessed": 0.2988,
                "duels_lost": 2.1923,
                "aerial_lost": 1.2658,
                "total_contest": 0.4983,
                "won_contest": 0.2263,
                "ball_recovery": 1.1474,
                "challenges_lost": 0.0231,
                "fouls": 0.3494,
                "fouls_drawn": 0.0376,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1618,
                "blocks": 0.0197,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1558,
                "xgot": 0.1738,
                "offsides": 0.0427,
                "ball_carries": 2.3972,
                "total_progression": 9.0296,
                "progressive_carries": 0.534,
                "shots_off_target": 0.5237
              },
              "params": {
                "market_value_eur": 78000000,
                "quality_factor": 0.8802,
                "boost_factor": 1.0144,
                "reference_quality": 0.505,
                "history_matches": 34,
                "history_shrink": 0.1282,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0022)",
              "stats": {
                "expected_goals": 0.1248,
                "goals": 0.12,
                "goal_rate": 0.12,
                "shots_on_target": 0.3928,
                "total_shots": 0.9166,
                "expected_assists": 0.013,
                "key_pass": 0.2835,
                "rating": 6.6329,
                "minutes": 19.94,
                "total_pass": 5.0172,
                "accurate_pass": 3.8171,
                "duels_won": 0.8122,
                "total_long_balls": 0.0263,
                "accurate_long_balls": 0.0263,
                "total_opp_half_passes": 2.8035,
                "accurate_opp_half_passes": 1.9677,
                "crosses_total": 0.1184,
                "crosses_accurate": 0.0,
                "touches": 8.2164,
                "possession_lost": 2.3905,
                "dispossessed": 0.2988,
                "duels_lost": 2.1923,
                "aerial_lost": 1.2658,
                "total_contest": 0.4983,
                "won_contest": 0.2263,
                "ball_recovery": 1.1474,
                "challenges_lost": 0.0231,
                "fouls": 0.3499,
                "fouls_drawn": 0.0375,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1618,
                "blocks": 0.0197,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1558,
                "xgot": 0.1738,
                "offsides": 0.0426,
                "ball_carries": 2.3972,
                "total_progression": 9.0296,
                "progressive_carries": 0.534,
                "shots_off_target": 0.5237
              },
              "params": {
                "blend_weight": 0.0022,
                "history_matches": 34,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2216,
                "prior_reliability": 0.0267,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 19.9 to 22.1 expected minutes (appearance prob 0.76)",
              "stats": {
                "expected_goals": 0.1381,
                "goals": 0.1328,
                "goal_rate": 0.1328,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0144,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.1924,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07
              },
              "params": {
                "expected_minutes": 22.07,
                "projection_minutes": 19.94,
                "minutes_scale": 1.1068,
                "appearance_probability": 0.755
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1381,
                "goals": 0.1328,
                "goal_rate": 0.1328,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0144,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.1924,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1381,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0144,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.1924,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "expected_goals": 0.1162,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0121,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.162,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9718,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 0.755
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1381,
                  "after": 0.1162
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 18 by projected rating, fifa_overall 82.0)",
              "stats": {
                "expected_goals": 0.1162,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0121,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.162,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9718,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1116,
                "fifa_rank": 386.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.1162,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0121,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.162,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1077,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9718,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1077,
                "goal_rate": 0.1328,
                "scorer_weight": 0.1129,
                "squad_weight_total": 1.4656,
                "weight_share": 0.077,
                "finishing_factor": 0.9718,
                "appearance_weight": 0.755,
                "weight_rank": 4,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1162,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0121,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.162,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1077,
                "projected_assists": 0,
                "assist_probability": 0.012,
                "finishing_factor": 0.9718,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.012,
                "assist_rate": 0.0,
                "provider_weight": 0.0097,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0097,
                "creation_factor": 0.8,
                "appearance_weight": 0.755,
                "weight_rank": 14,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "substitutes": {
        "Benjamin Šeško": {
          "player_id": 986397,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 30,
          "height": 195,
          "market_value": 78000000,
          "stats": {
            "expected_goals": 0.1162,
            "goal_rate": 0.1328,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0121,
            "key_pass": 0,
            "rating": 6.6329,
            "minutes": 22,
            "total_pass": 6,
            "accurate_pass": 4,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 2.6459,
            "dispossessed": 0.2988,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.162,
            "offsides": 0,
            "ball_carries": 3,
            "total_progression": 10,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.755,
            "bench_expected_minutes": 22.07,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.1077,
            "projected_assists": 0,
            "assist_probability": 0.012,
            "finishing_factor": 0.9718,
            "creation_factor": 0.8,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 23,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0592,
                "expected_assists": 0.0024,
                "total_shots": 1,
                "total_pass": 5,
                "accurate_pass": 5,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 20,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.287,
                "expected_assists": 0.001,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 5,
                "accurate_pass": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 10,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0053,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 5,
                "key_pass": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 23,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0357,
                "expected_assists": 0.0025,
                "total_shots": 1,
                "total_pass": 3,
                "accurate_pass": 3,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023939,
              "match_date": "2026-05-03",
              "home_team": "Manchester United",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 1.2471,
                "expected_assists": 0.0058,
                "total_shots": 3,
                "shots_on_target": 2,
                "total_pass": 3,
                "accurate_pass": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023926,
              "match_date": "2026-04-27",
              "home_team": "Manchester United",
              "away_team": "Brentford",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brentford",
              "stats": {
                "minutes": 88,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4365,
                "expected_assists": 0.0276,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 20,
                "accurate_pass": 11,
                "key_pass": 1,
                "aerial_won": 3,
                "duels_won": 7,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025032,
              "match_date": "2026-04-18",
              "home_team": "Chelsea",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 80,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0304,
                "expected_assists": 0.0147,
                "total_shots": 1,
                "total_pass": 11,
                "accurate_pass": 9,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025024,
              "match_date": "2026-04-13",
              "home_team": "Manchester United",
              "away_team": "Leeds United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3139,
                "expected_assists": 0.0063,
                "total_shots": 3,
                "shots_on_target": 3,
                "total_pass": 15,
                "accurate_pass": 10,
                "aerial_won": 5,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023997,
              "match_date": "2026-03-20",
              "home_team": "Bournemouth",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 19,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 7,
                "aerial_won": 3,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023994,
              "match_date": "2026-03-15",
              "home_team": "Manchester United",
              "away_team": "Aston Villa",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Aston Villa",
              "stats": {
                "minutes": 15,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3149,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1116,
            "combined_rank_score": 499.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 613.0,
            "sofascore_rating": 6.775,
            "sofascore_appearances": 4.0,
            "fifa_rank": 386.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6329,
            "source_file": "data/player_rankings.csv",
            "player_name": "Benjamin Šeško",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Arihiro Sentoku",
                  "ranking": 1111
                },
                {
                  "player_name": "Leonel González",
                  "ranking": 1112
                },
                {
                  "player_name": "Veldin Hodža",
                  "ranking": 1113
                },
                {
                  "player_name": "Breno Bidon",
                  "ranking": 1114
                },
                {
                  "player_name": "Antonio Gutemberg",
                  "ranking": 1115
                }
              ],
              "lower": [
                {
                  "player_name": "Kim Jeong Hyun",
                  "ranking": 1117
                },
                {
                  "player_name": "Jaba Jigauri",
                  "ranking": 1118
                },
                {
                  "player_name": "Benjamin Opeyemi Teidi",
                  "ranking": 1119
                },
                {
                  "player_name": "Tornike Dzebniauri",
                  "ranking": 1120
                },
                {
                  "player_name": "Ho-in Lee",
                  "ranking": 1121
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.754,
          "history_matches": 34,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 34,
            "data_confidence": 0.754,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.07,
            "bench_appearance_prob": 0.755,
            "market_value_adjustment": 1.0144,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 18.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "Bench projection scaled from XGBoost F_service (34 historical appearances) to 22.1 expected mins (appearance prob 0.76); FBref playing time empirical prior: 2.0 sub appearances, 18.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.123,
                "goals": 0.1186,
                "goal_rate": 0.1186,
                "shots_on_target": 0.3881,
                "total_shots": 0.9044,
                "expected_assists": 0.0128,
                "key_pass": 0.2794,
                "rating": 6.6329,
                "minutes": 19.94,
                "total_pass": 4.946,
                "accurate_pass": 3.7629,
                "duels_won": 0.8007,
                "total_long_balls": 0.0259,
                "accurate_long_balls": 0.0259,
                "total_opp_half_passes": 2.7637,
                "accurate_opp_half_passes": 1.9398,
                "crosses_total": 0.1157,
                "crosses_accurate": 0.0,
                "touches": 8.0998,
                "possession_lost": 2.3566,
                "dispossessed": 0.2946,
                "duels_lost": 2.1612,
                "aerial_lost": 1.2478,
                "total_contest": 0.4912,
                "won_contest": 0.2231,
                "ball_recovery": 1.1311,
                "challenges_lost": 0.0228,
                "fouls": 0.3444,
                "fouls_drawn": 0.0371,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1595,
                "blocks": 0.0194,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1536,
                "xgot": 0.1713,
                "offsides": 0.0421,
                "ball_carries": 2.3632,
                "total_progression": 8.9014,
                "progressive_carries": 0.5264,
                "shots_off_target": 0.5163
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.1506,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.128,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.1088,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0925,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-05-03",
                    "opponent": "Liverpool FC",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Brentford",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.0668,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-04-18",
                    "opponent": "Chelsea",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-04-13",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-03-20",
                    "opponent": "Bournemouth",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-03-15",
                    "opponent": "Aston Villa",
                    "minutes": 15.0,
                    "is_starting": false,
                    "weight": 0.0349,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.2691,
                  "accuratePass": 5.6189,
                  "totalOppositionHalfPasses": 4.8711,
                  "accurateOppositionHalfPasses": 3.3735,
                  "totalShots": 1.5366
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.12301336228847504,
                    "model_output": 0.123,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0929
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0101
                        },
                        {
                          "name": "goals",
                          "contribution": 0.007
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0043
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0035
                        }
                      ],
                      "others": 0.0021,
                      "total": 0.123,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.642894
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.093146
                        },
                        {
                          "name": "goals",
                          "margin": 0.060292
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.035171
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.02848
                        }
                      ],
                      "others_margin": 0.017262
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.11855267733335495,
                    "model_output": 0.1186,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1023
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0134
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0072
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0064
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0059
                        }
                      ],
                      "others": 0.0121,
                      "total": 0.1186,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.714055
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.127934
                        },
                        {
                          "name": "goals",
                          "margin": 0.06273
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": -0.055274
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.05384
                        }
                      ],
                      "others_margin": 0.107169
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.3881119191646576,
                    "model_output": 0.3881,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2203
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0219
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0164
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0154
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.015
                        }
                      ],
                      "others": 0.0075,
                      "total": 0.3881,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.534432
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.067857
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.047866
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.043133
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.040296
                        }
                      ],
                      "others_margin": 0.019591
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9044050574302673,
                    "model_output": 0.9044,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5926
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0728
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0401
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0397
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0338
                        }
                      ],
                      "others": 0.0106,
                      "total": 0.9044,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.592578
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.072793
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.040144
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.039692
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.033781
                        }
                      ],
                      "others_margin": 0.010709
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.012801109813153744,
                    "model_output": 0.0128,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0214
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0118
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0046
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0028
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0024
                        }
                      ],
                      "others": -0.0085,
                      "total": 0.0128,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.405283
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.322446
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.161482
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.112024
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.104777
                        }
                      ],
                      "others_margin": -0.508138
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.27944833040237427,
                    "model_output": 0.2794,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2729
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0382
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0296
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0174
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0151
                        }
                      ],
                      "others": -0.0341,
                      "total": 0.2794,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.506416
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.09676
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.082011
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.051661
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.047115
                        }
                      ],
                      "others_margin": -0.115172
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.632852554321289,
                    "model_output": 6.6329,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0717
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0109
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0105
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.01
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0084
                        }
                      ],
                      "others": -0.0264,
                      "total": 6.6329,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.071668
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.010893
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.010482
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.009951
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.008442
                        }
                      ],
                      "others_margin": -0.026557
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 34,
                  "role_matches": 17,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0144, quality 0.880)",
              "stats": {
                "expected_goals": 0.1248,
                "goals": 0.1203,
                "goal_rate": 0.1203,
                "shots_on_target": 0.3937,
                "total_shots": 0.9174,
                "expected_assists": 0.013,
                "key_pass": 0.2835,
                "rating": 6.6329,
                "minutes": 19.94,
                "total_pass": 5.0172,
                "accurate_pass": 3.8171,
                "duels_won": 0.8122,
                "total_long_balls": 0.0263,
                "accurate_long_balls": 0.0263,
                "total_opp_half_passes": 2.8035,
                "accurate_opp_half_passes": 1.9677,
                "crosses_total": 0.1174,
                "crosses_accurate": 0.0,
                "touches": 8.2164,
                "possession_lost": 2.3905,
                "dispossessed": 0.2988,
                "duels_lost": 2.1923,
                "aerial_lost": 1.2658,
                "total_contest": 0.4983,
                "won_contest": 0.2263,
                "ball_recovery": 1.1474,
                "challenges_lost": 0.0231,
                "fouls": 0.3494,
                "fouls_drawn": 0.0376,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1618,
                "blocks": 0.0197,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1558,
                "xgot": 0.1738,
                "offsides": 0.0427,
                "ball_carries": 2.3972,
                "total_progression": 9.0296,
                "progressive_carries": 0.534,
                "shots_off_target": 0.5237
              },
              "params": {
                "market_value_eur": 78000000,
                "quality_factor": 0.8802,
                "boost_factor": 1.0144,
                "reference_quality": 0.505,
                "history_matches": 34,
                "history_shrink": 0.1282,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0022)",
              "stats": {
                "expected_goals": 0.1248,
                "goals": 0.12,
                "goal_rate": 0.12,
                "shots_on_target": 0.3928,
                "total_shots": 0.9166,
                "expected_assists": 0.013,
                "key_pass": 0.2835,
                "rating": 6.6329,
                "minutes": 19.94,
                "total_pass": 5.0172,
                "accurate_pass": 3.8171,
                "duels_won": 0.8122,
                "total_long_balls": 0.0263,
                "accurate_long_balls": 0.0263,
                "total_opp_half_passes": 2.8035,
                "accurate_opp_half_passes": 1.9677,
                "crosses_total": 0.1184,
                "crosses_accurate": 0.0,
                "touches": 8.2164,
                "possession_lost": 2.3905,
                "dispossessed": 0.2988,
                "duels_lost": 2.1923,
                "aerial_lost": 1.2658,
                "total_contest": 0.4983,
                "won_contest": 0.2263,
                "ball_recovery": 1.1474,
                "challenges_lost": 0.0231,
                "fouls": 0.3499,
                "fouls_drawn": 0.0375,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1618,
                "blocks": 0.0197,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1558,
                "xgot": 0.1738,
                "offsides": 0.0426,
                "ball_carries": 2.3972,
                "total_progression": 9.0296,
                "progressive_carries": 0.534,
                "shots_off_target": 0.5237
              },
              "params": {
                "blend_weight": 0.0022,
                "history_matches": 34,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2216,
                "prior_reliability": 0.0267,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 19.9 to 22.1 expected minutes (appearance prob 0.76)",
              "stats": {
                "expected_goals": 0.1381,
                "goals": 0.1328,
                "goal_rate": 0.1328,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0144,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.1924,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07
              },
              "params": {
                "expected_minutes": 22.07,
                "projection_minutes": 19.94,
                "minutes_scale": 1.1068,
                "appearance_probability": 0.755
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1381,
                "goals": 0.1328,
                "goal_rate": 0.1328,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0144,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.1924,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1381,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0144,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.1924,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "expected_goals": 0.1162,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0121,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.162,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9718,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 0.755
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1381,
                  "after": 0.1162
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 18 by projected rating, fifa_overall 82.0)",
              "stats": {
                "expected_goals": 0.1162,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0121,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.162,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9718,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1116,
                "fifa_rank": 386.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.1162,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0121,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.162,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1077,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9718,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1077,
                "goal_rate": 0.1328,
                "scorer_weight": 0.1129,
                "squad_weight_total": 1.4656,
                "weight_share": 0.077,
                "finishing_factor": 0.9718,
                "appearance_weight": 0.755,
                "weight_rank": 4,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1162,
                "goal_rate": 0.1328,
                "goals": 0,
                "shots_on_target": 0.4348,
                "total_shots": 1.0145,
                "expected_assists": 0.0121,
                "key_pass": 0.3138,
                "rating": 6.6329,
                "minutes": 22.07,
                "total_pass": 5.5531,
                "accurate_pass": 4.2248,
                "duels_won": 0.899,
                "total_long_balls": 0.0291,
                "accurate_long_balls": 0.0291,
                "total_opp_half_passes": 3.103,
                "accurate_opp_half_passes": 2.1779,
                "crosses_total": 0.131,
                "crosses_accurate": 0.0,
                "touches": 9.0941,
                "possession_lost": 2.6459,
                "dispossessed": 0.2988,
                "duels_lost": 2.4265,
                "aerial_lost": 1.2658,
                "total_contest": 0.5515,
                "won_contest": 0.2505,
                "ball_recovery": 1.27,
                "challenges_lost": 0.0231,
                "fouls": 0.3873,
                "fouls_drawn": 0.0415,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.1791,
                "blocks": 0.0218,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.1724,
                "xgot": 0.162,
                "offsides": 0.0426,
                "ball_carries": 2.6533,
                "total_progression": 9.9941,
                "progressive_carries": 0.591,
                "shots_off_target": 0.5796,
                "bench_appearance_probability": 0.755,
                "bench_expected_minutes": 22.07,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1077,
                "projected_assists": 0,
                "assist_probability": 0.012,
                "finishing_factor": 0.9718,
                "creation_factor": 0.8,
                "fifa_overall": 82.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.012,
                "assist_rate": 0.0,
                "provider_weight": 0.0097,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0097,
                "creation_factor": 0.8,
                "appearance_weight": 0.755,
                "weight_rank": 14,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Kobbie Mainoo": {
          "player_id": 1142175,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 37,
          "height": 184,
          "market_value": 77000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.031,
            "assist_rate": 0.064,
            "assists": 0,
            "expected_goals": 0.0221,
            "goal_rate": 0.0453,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 7.0752,
            "minutes": 24,
            "total_pass": 21,
            "accurate_pass": 19,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 12,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 27,
            "possession_lost": 4.1066,
            "dispossessed": 0.2027,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 44,
            "progressive_carries": 1,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.535,
            "bench_expected_minutes": 23.87,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0216,
            "projected_assists": 0,
            "assist_probability": 0.0301,
            "finishing_factor": 1.0954,
            "creation_factor": 1.1187,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.03,
                "total_shots": 0,
                "total_pass": 69,
                "accurate_pass": 64,
                "tackles": 5,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 6,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 80,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0612,
                "expected_assists": 0.0985,
                "total_shots": 1,
                "total_pass": 68,
                "accurate_pass": 64,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0291,
                "expected_assists": 0.073,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 70,
                "accurate_pass": 68,
                "key_pass": 3,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 5,
                "ball_recovery": 9
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 84,
                "rating": 7.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.072,
                "total_shots": 0,
                "total_pass": 77,
                "accurate_pass": 74,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 5,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 80,
                "rating": 7.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1378,
                "expected_assists": 0.2677,
                "total_shots": 3,
                "total_pass": 51,
                "accurate_pass": 46,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 2,
                "duels_won": 9,
                "ball_recovery": 10
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 23,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0705,
                "expected_assists": 0.0149,
                "total_shots": 1,
                "total_pass": 30,
                "accurate_pass": 26,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023959,
              "match_date": "2026-05-24",
              "home_team": "Brighton & Hove Albion",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1036,
                "expected_assists": 0.0307,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 58,
                "accurate_pass": 45,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 9,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0231,
                "total_shots": 0,
                "total_pass": 55,
                "accurate_pass": 51,
                "key_pass": 3,
                "interceptions": 3,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023938,
              "match_date": "2026-05-09",
              "home_team": "Sunderland",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0826,
                "expected_assists": 0.0188,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 66,
                "accurate_pass": 61,
                "interceptions": 3,
                "clearances": 1,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023939,
              "match_date": "2026-05-03",
              "home_team": "Manchester United",
              "away_team": "Liverpool FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.06,
                "expected_assists": 0.016,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 55,
                "accurate_pass": 49,
                "tackles": 1,
                "interceptions": 2,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 726,
            "combined_rank_score": 350.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 172.0,
            "sofascore_rating": 7.25,
            "sofascore_appearances": 2.0,
            "fifa_rank": 529.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0752,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kobbie Mainoo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nikola Šipčić",
                  "ranking": 721
                },
                {
                  "player_name": "Kwak Yun-Ho",
                  "ranking": 722
                },
                {
                  "player_name": "Ju-seong Uh",
                  "ranking": 723
                },
                {
                  "player_name": "Beom-kyeong Choi",
                  "ranking": 724
                },
                {
                  "player_name": "Song-hun Shin",
                  "ranking": 725
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Kayode",
                  "ranking": 727
                },
                {
                  "player_name": "Sava Petrov",
                  "ranking": 728
                },
                {
                  "player_name": "Brayan Rovira",
                  "ranking": 729
                },
                {
                  "player_name": "José Carabalí",
                  "ranking": 730
                },
                {
                  "player_name": "Gustavo Gómez",
                  "ranking": 731
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.761,
          "history_matches": 34,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 34,
            "data_confidence": 0.761,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 23.87,
            "bench_appearance_prob": 0.535,
            "market_value_adjustment": 1.0144,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 24.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0733
            },
            "rationale": "Bench projection scaled from XGBoost M_service (34 historical appearances) to 23.9 expected mins (appearance prob 0.54); FBref playing time empirical prior: 1.0 sub appearances, 24.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.5515,
                "expected_assists": 0.0416,
                "assists": 0.0516,
                "assist_rate": 0.0516,
                "expected_goals": 0.0297,
                "goals": 0.0365,
                "goal_rate": 0.0365,
                "shots_on_target": 0.1014,
                "total_shots": 0.3533,
                "rating": 7.0752,
                "minutes": 19.4,
                "total_pass": 17.0288,
                "accurate_pass": 15.0107,
                "duels_won": 1.466,
                "total_long_balls": 0.5921,
                "accurate_long_balls": 0.2587,
                "total_own_half_passes": 5.3561,
                "accurate_own_half_passes": 5.1681,
                "total_opp_half_passes": 11.6727,
                "accurate_opp_half_passes": 9.8426,
                "crosses_total": 0.5199,
                "crosses_accurate": 0.1,
                "touches": 21.4649,
                "possession_lost": 3.2902,
                "dispossessed": 0.1998,
                "duels_lost": 1.3546,
                "aerial_won": 0.3398,
                "aerial_lost": 0.5809,
                "interceptions": 0.0644,
                "tackles_won": 0.0993,
                "tackles": 0.2317,
                "clearances": 0.6705,
                "total_contest": 0.6507,
                "won_contest": 0.5063,
                "challenges_lost": 0.1691,
                "fouls": 0.3835,
                "fouls_drawn": 0.3882,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 7.9181,
                "total_progression": 35.3244,
                "progressive_carries": 0.6113,
                "shots_off_target": 0.2519
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1506,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.128,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1088,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.0925,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0668,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Brighton & Hove Albion",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0483,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.041,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-05-03",
                    "opponent": "Liverpool FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0349,
                    "rating": 8.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.8158,
                  "creative_index": 0.4442,
                  "expectedGoals": 0.0395,
                  "expectedAssists": 0.0753,
                  "totalOppositionHalfPasses": 34.3408
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5515053868293762,
                    "model_output": 0.5515,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3867
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.053
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0435
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0233
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0216
                        }
                      ],
                      "others": 0.0401,
                      "total": 0.5515,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.569832
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.100158
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.081472
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.046514
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.043187
                        }
                      ],
                      "others_margin": 0.075597
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04163975268602371,
                    "model_output": 0.0416,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0422
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0068
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.003
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0028
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0024
                        }
                      ],
                      "others": 0.0023,
                      "total": 0.0416,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.685785
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.173718
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.079714
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.070071
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": -0.058933
                        }
                      ],
                      "others_margin": 0.055732
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.05159633234143257,
                    "model_output": 0.0516,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0216
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.009
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0058
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0038
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0022
                        }
                      ],
                      "others": 0.0014,
                      "total": 0.0516,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.293839
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.153604
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.113643
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.074505
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.043505
                        }
                      ],
                      "others_margin": 0.030617
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.029673980548977852,
                    "model_output": 0.0297,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.037
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0076
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0061
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0026
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0021
                        }
                      ],
                      "others": -0.0063,
                      "total": 0.0297,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.518873
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.149775
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.139746
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.066126
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.056529
                        }
                      ],
                      "others_margin": -0.194258
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.0364682637155056,
                    "model_output": 0.0365,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0303
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0101
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0062
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0042
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0033
                        }
                      ],
                      "others": -0.0044,
                      "total": 0.0365,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.384908
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.170108
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.120669
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.091069
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.078762
                        }
                      ],
                      "others_margin": -0.111767
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.10143730789422989,
                    "model_output": 0.1014,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1334
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0205
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.015
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0096
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0081
                        }
                      ],
                      "others": -0.0303,
                      "total": 0.1014,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.543033
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.117378
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.09582
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.066358
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "margin": -0.060012
                        }
                      ],
                      "others_margin": -0.26094
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.35329294204711914,
                    "model_output": 0.3533,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3576
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.05
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.046
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0316
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0284
                        }
                      ],
                      "others": -0.1172,
                      "total": 0.3533,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.357579
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.049979
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.04601
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.031605
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.028393
                        }
                      ],
                      "others_margin": -0.117249
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.075158596038818,
                    "model_output": 7.0752,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.1709
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1372
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0651
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0325
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "contribution": -0.0245
                        }
                      ],
                      "others": 0.1132,
                      "total": 7.0752,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.170878
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.13724
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.065073
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.032472
                        },
                        {
                          "name": "defensive_midfield_actions",
                          "margin": -0.024511
                        }
                      ],
                      "others_margin": 0.113292
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 34,
                  "role_matches": 13,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0144, quality 0.879)",
              "stats": {
                "key_pass": 0.5594,
                "expected_assists": 0.0422,
                "assists": 0.0523,
                "assist_rate": 0.0523,
                "expected_goals": 0.0301,
                "goals": 0.037,
                "goal_rate": 0.037,
                "shots_on_target": 0.1029,
                "total_shots": 0.3584,
                "rating": 7.0752,
                "minutes": 19.4,
                "total_pass": 17.274,
                "accurate_pass": 15.2269,
                "duels_won": 1.4871,
                "total_long_balls": 0.6006,
                "accurate_long_balls": 0.2624,
                "total_own_half_passes": 5.4332,
                "accurate_own_half_passes": 5.2425,
                "total_opp_half_passes": 11.8408,
                "accurate_opp_half_passes": 9.9843,
                "crosses_total": 0.5274,
                "crosses_accurate": 0.1014,
                "touches": 21.774,
                "possession_lost": 3.3376,
                "dispossessed": 0.2027,
                "duels_lost": 1.3741,
                "aerial_won": 0.3447,
                "aerial_lost": 0.5893,
                "interceptions": 0.0653,
                "tackles_won": 0.1007,
                "tackles": 0.235,
                "clearances": 0.6802,
                "total_contest": 0.6601,
                "won_contest": 0.5136,
                "challenges_lost": 0.1715,
                "fouls": 0.389,
                "fouls_drawn": 0.3938,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 8.0321,
                "total_progression": 35.8331,
                "progressive_carries": 0.6201,
                "shots_off_target": 0.2555
              },
              "params": {
                "market_value_eur": 77000000,
                "quality_factor": 0.8792,
                "boost_factor": 1.0144,
                "reference_quality": 0.505,
                "history_matches": 34,
                "history_shrink": 0.1282,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0061)",
              "stats": {
                "key_pass": 0.5594,
                "expected_assists": 0.0422,
                "assists": 0.052,
                "assist_rate": 0.052,
                "expected_goals": 0.0301,
                "goals": 0.0368,
                "goal_rate": 0.0368,
                "shots_on_target": 0.1023,
                "total_shots": 0.3608,
                "rating": 7.0752,
                "minutes": 19.4,
                "total_pass": 17.274,
                "accurate_pass": 15.2269,
                "duels_won": 1.4871,
                "total_long_balls": 0.6006,
                "accurate_long_balls": 0.2624,
                "total_own_half_passes": 5.4332,
                "accurate_own_half_passes": 5.2425,
                "total_opp_half_passes": 11.8408,
                "accurate_opp_half_passes": 9.9843,
                "crosses_total": 0.5254,
                "crosses_accurate": 0.1014,
                "touches": 21.774,
                "possession_lost": 3.3376,
                "dispossessed": 0.2027,
                "duels_lost": 1.3741,
                "aerial_won": 0.3447,
                "aerial_lost": 0.5893,
                "interceptions": 0.0673,
                "tackles_won": 0.1025,
                "tackles": 0.235,
                "clearances": 0.6802,
                "total_contest": 0.6601,
                "won_contest": 0.5136,
                "challenges_lost": 0.1715,
                "fouls": 0.3866,
                "fouls_drawn": 0.3938,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 8.0321,
                "total_progression": 35.8331,
                "progressive_carries": 0.6201,
                "shots_off_target": 0.2555
              },
              "params": {
                "blend_weight": 0.0061,
                "history_matches": 34,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2156,
                "prior_reliability": 0.0733,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 19.4 to 23.9 expected minutes (appearance prob 0.54)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.0519,
                "assists": 0.064,
                "assist_rate": 0.064,
                "expected_goals": 0.037,
                "goals": 0.0453,
                "goal_rate": 0.0453,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87
              },
              "params": {
                "expected_minutes": 23.87,
                "projection_minutes": 19.4,
                "minutes_scale": 1.2304,
                "appearance_probability": 0.535
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.0519,
                "assists": 0.064,
                "assist_rate": 0.064,
                "expected_goals": 0.037,
                "goals": 0.0453,
                "goal_rate": 0.0453,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.0519,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.037,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.031,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.0221,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0954,
                "creation_factor": 1.1187
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 0.535
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.037,
                  "after": 0.0221
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0519,
                  "after": 0.031
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 3 by projected rating, fifa_overall 81.0)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.031,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.0221,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0954,
                "creation_factor": 1.1187,
                "fifa_overall": 81.0
              },
              "params": {
                "match_squad_rank": 3,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 726,
                "fifa_rank": 529.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.031,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.0221,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0216,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0954,
                "creation_factor": 1.1187,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0216,
                "goal_rate": 0.0453,
                "scorer_weight": 0.0242,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0165,
                "finishing_factor": 1.0954,
                "appearance_weight": 0.535,
                "weight_rank": 13,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.6883,
                "expected_assists": 0.031,
                "assist_rate": 0.064,
                "assists": 0,
                "expected_goals": 0.0221,
                "goal_rate": 0.0453,
                "goals": 0,
                "shots_on_target": 0.1259,
                "total_shots": 0.4439,
                "rating": 7.0752,
                "minutes": 23.87,
                "total_pass": 21.2541,
                "accurate_pass": 18.7354,
                "duels_won": 1.8297,
                "total_long_balls": 0.739,
                "accurate_long_balls": 0.3229,
                "total_own_half_passes": 6.6851,
                "accurate_own_half_passes": 6.4504,
                "total_opp_half_passes": 14.5691,
                "accurate_opp_half_passes": 12.2848,
                "crosses_total": 0.6465,
                "crosses_accurate": 0.1248,
                "touches": 26.791,
                "possession_lost": 4.1066,
                "dispossessed": 0.2027,
                "duels_lost": 1.6907,
                "aerial_won": 0.4241,
                "aerial_lost": 0.5893,
                "interceptions": 0.0828,
                "tackles_won": 0.1261,
                "tackles": 0.2891,
                "clearances": 0.8369,
                "total_contest": 0.8122,
                "won_contest": 0.6319,
                "challenges_lost": 0.1715,
                "fouls": 0.4757,
                "fouls_drawn": 0.4845,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 9.8828,
                "total_progression": 44.0895,
                "progressive_carries": 0.763,
                "shots_off_target": 0.3144,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 23.87,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0216,
                "projected_assists": 0,
                "assist_probability": 0.0301,
                "finishing_factor": 1.0954,
                "creation_factor": 1.1187,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0301,
                "assist_rate": 0.064,
                "provider_weight": 0.0347,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0349,
                "creation_factor": 1.1187,
                "appearance_weight": 0.535,
                "weight_rank": 11,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Andrey Santos": {
          "player_id": 1105779,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 17,
          "height": 180,
          "market_value": 44000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.009,
            "assist_rate": 0.0266,
            "assists": 0,
            "expected_goals": 0.0119,
            "goal_rate": 0.029,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.7641,
            "minutes": 17,
            "total_pass": 13,
            "accurate_pass": 12,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 7,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 17,
            "possession_lost": 1.6721,
            "dispossessed": 0.0852,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 1,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0041,
            "ball_carries": 4,
            "total_progression": 11,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.529,
            "bench_expected_minutes": 16.58,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0118,
            "projected_assists": 0,
            "assist_probability": 0.0089,
            "finishing_factor": 1.127,
            "creation_factor": 1.1748,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1521,
                "expected_assists": 0.0431,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 76,
                "accurate_pass": 69,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 8,
                "ball_recovery": 7,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.013,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 31,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 13,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0057,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 8,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 10,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.004,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 14,
                "tackles": 3,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 67,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.2324,
                "total_shots": 0,
                "total_pass": 60,
                "accurate_pass": 55,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16087727,
              "match_date": "2026-05-19",
              "home_team": "Chelsea",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2226,
                "expected_assists": 0.0069,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 38,
                "accurate_pass": 38,
                "tackles": 5,
                "tackles_won": 5,
                "interceptions": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024024,
              "match_date": "2026-05-09",
              "home_team": "Liverpool FC",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Liverpool FC",
              "stats": {
                "minutes": 63,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0114,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 30,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023925,
              "match_date": "2026-05-04",
              "home_team": "Chelsea",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 32,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0252,
                "expected_assists": 0.0329,
                "total_shots": 1,
                "total_pass": 44,
                "accurate_pass": 41,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023998,
              "match_date": "2026-04-12",
              "home_team": "Chelsea",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Chelsea",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 67,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0534,
                "expected_assists": 0.0191,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 34,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024017,
              "match_date": "2026-03-21",
              "home_team": "Everton",
              "away_team": "Chelsea",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Chelsea",
              "opponent": "Everton",
              "stats": {
                "minutes": 33,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0172,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 20,
                "tackles": 1,
                "clearances": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1467,
            "combined_rank_score": 606.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 511.0,
            "sofascore_rating": 6.85,
            "sofascore_appearances": 2.0,
            "fifa_rank": 701.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7641,
            "source_file": "data/player_rankings.csv",
            "player_name": "Andrey Santos",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Bekhruz Shaydulov",
                  "ranking": 1462
                },
                {
                  "player_name": "Nicolás Palma",
                  "ranking": 1463
                },
                {
                  "player_name": "Ahmadullo Muqimjonov",
                  "ranking": 1464
                },
                {
                  "player_name": "Kirill Pechenin",
                  "ranking": 1465
                },
                {
                  "player_name": "Paulinho",
                  "ranking": 1466
                }
              ],
              "lower": [
                {
                  "player_name": "Miloš Kerkez",
                  "ranking": 1468
                },
                {
                  "player_name": "Misael Llantén",
                  "ranking": 1469
                },
                {
                  "player_name": "Gabriel Graciani",
                  "ranking": 1470
                },
                {
                  "player_name": "Hyeong-won Kim",
                  "ranking": 1471
                },
                {
                  "player_name": "Matías Fernández-Pardo",
                  "ranking": 1472
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.759,
          "history_matches": 32,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 32,
            "data_confidence": 0.759,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 16.58,
            "bench_appearance_prob": 0.529,
            "market_value_adjustment": 1.012,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 11.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.06
            },
            "rationale": "Bench projection scaled from XGBoost M_service (32 historical appearances) to 16.6 expected mins (appearance prob 0.53); FBref playing time empirical prior: 1.0 sub appearances, 11.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.3011,
                "expected_assists": 0.0196,
                "assists": 0.0344,
                "assist_rate": 0.0344,
                "expected_goals": 0.0258,
                "goals": 0.0375,
                "goal_rate": 0.0375,
                "shots_on_target": 0.0858,
                "total_shots": 0.2387,
                "rating": 6.7641,
                "minutes": 21.56,
                "total_pass": 16.4407,
                "accurate_pass": 14.8166,
                "duels_won": 1.5919,
                "total_long_balls": 0.5165,
                "accurate_long_balls": 0.2572,
                "total_own_half_passes": 7.2699,
                "accurate_own_half_passes": 6.4342,
                "total_opp_half_passes": 9.1708,
                "accurate_opp_half_passes": 8.3824,
                "crosses_total": 0.0167,
                "crosses_accurate": 0.0,
                "touches": 21.3031,
                "possession_lost": 2.1485,
                "dispossessed": 0.0842,
                "duels_lost": 1.3236,
                "aerial_won": 0.2981,
                "aerial_lost": 0.3982,
                "interceptions": 0.1497,
                "tackles_won": 0.1756,
                "tackles": 0.9482,
                "clearances": 0.9272,
                "total_contest": 0.2837,
                "won_contest": 0.0842,
                "challenges_lost": 0.3444,
                "fouls": 0.3414,
                "fouls_drawn": 0.2615,
                "blocks": 0.0611,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0142,
                "xgot": 0.009,
                "ball_carries": 5.5216,
                "total_progression": 14.0431,
                "progressive_carries": 0.2929,
                "shots_off_target": 0.1529
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1508,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1282,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 13.0,
                    "is_starting": false,
                    "weight": 0.109,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.0926,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0787,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-19",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0669,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Liverpool FC",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.0569,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-04",
                    "opponent": "Nottingham Forest",
                    "minutes": 32.0,
                    "is_starting": false,
                    "weight": 0.0484,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-04-12",
                    "opponent": "Manchester City",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0411,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-03-21",
                    "opponent": "Everton",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.0349,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.3332,
                  "creative_index": 0.217,
                  "expectedGoals": 0.0511,
                  "expectedAssists": 0.04,
                  "totalOppositionHalfPasses": 20.7462
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.30107054114341736,
                    "model_output": 0.3011,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3947
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0567
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.039
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0228
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0166
                        }
                      ],
                      "others": -0.0594,
                      "total": 0.3011,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.585859
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.12156
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.09303
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.058623
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.045155
                        }
                      ],
                      "others_margin": -0.179957
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.01960899867117405,
                    "model_output": 0.0196,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0386
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0096
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0047
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0038
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0019
                        }
                      ],
                      "others": -0.0067,
                      "total": 0.0196,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.606394
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.231246
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.137641
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.126627
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.06998
                        }
                      ],
                      "others_margin": -0.2941
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.034356795251369476,
                    "model_output": 0.0344,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0241
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0089
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.005
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0036
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0031
                        }
                      ],
                      "others": -0.0059,
                      "total": 0.0344,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.333558
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.158142
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.101073
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.079849
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.073721
                        }
                      ],
                      "others_margin": -0.159777
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.025781219825148582,
                    "model_output": 0.0258,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0387
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0069
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0046
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0038
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0026
                        }
                      ],
                      "others": -0.009,
                      "total": 0.0258,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.550368
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.141206
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.105835
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.095624
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.071892
                        }
                      ],
                      "others_margin": -0.301004
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.037483058869838715,
                    "model_output": 0.0375,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0313
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0113
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0036
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0031
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0023
                        }
                      ],
                      "others": -0.0059,
                      "total": 0.0375,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.400439
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.19508
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.070716
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.065695
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.051583
                        }
                      ],
                      "others_margin": -0.146323
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.08578184992074966,
                    "model_output": 0.0858,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1392
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0435
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0184
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0062
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0058
                        }
                      ],
                      "others": -0.0194,
                      "total": 0.0858,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.574977
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.278318
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.145749
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.053911
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.053699
                        }
                      ],
                      "others_margin": -0.204521
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.23871764540672302,
                    "model_output": 0.2387,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3296
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1769
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0449
                        },
                        {
                          "name": "dispossessed",
                          "contribution": -0.0191
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0188
                        }
                      ],
                      "others": -0.1561,
                      "total": 0.2387,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.329586
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.176907
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.044868
                        },
                        {
                          "name": "dispossessed",
                          "margin": -0.019058
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.018838
                        }
                      ],
                      "others_margin": -0.156135
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.764130115509033,
                    "model_output": 6.7641,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1017
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0244
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0236
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0222
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0159
                        }
                      ],
                      "others": -0.0283,
                      "total": 6.7641,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.101682
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.02436
                        },
                        {
                          "name": "rating",
                          "margin": -0.02363
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.022239
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.015908
                        }
                      ],
                      "others_margin": -0.028258
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 32,
                  "role_matches": 16,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0120, quality 0.800)",
              "stats": {
                "key_pass": 0.3047,
                "expected_assists": 0.0198,
                "assists": 0.0348,
                "assist_rate": 0.0348,
                "expected_goals": 0.0261,
                "goals": 0.0379,
                "goal_rate": 0.0379,
                "shots_on_target": 0.0868,
                "total_shots": 0.2416,
                "rating": 6.7641,
                "minutes": 21.56,
                "total_pass": 16.638,
                "accurate_pass": 14.9944,
                "duels_won": 1.611,
                "total_long_balls": 0.5227,
                "accurate_long_balls": 0.2603,
                "total_own_half_passes": 7.3571,
                "accurate_own_half_passes": 6.5114,
                "total_opp_half_passes": 9.2808,
                "accurate_opp_half_passes": 8.483,
                "crosses_total": 0.0169,
                "crosses_accurate": 0.0,
                "touches": 21.5587,
                "possession_lost": 2.1743,
                "dispossessed": 0.0852,
                "duels_lost": 1.3395,
                "aerial_won": 0.3017,
                "aerial_lost": 0.403,
                "interceptions": 0.1515,
                "tackles_won": 0.1777,
                "tackles": 0.9596,
                "clearances": 0.9383,
                "total_contest": 0.2871,
                "won_contest": 0.0852,
                "challenges_lost": 0.3485,
                "fouls": 0.3455,
                "fouls_drawn": 0.2646,
                "blocks": 0.0618,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0144,
                "xgot": 0.0091,
                "ball_carries": 5.5879,
                "total_progression": 14.2116,
                "progressive_carries": 0.2964,
                "shots_off_target": 0.1547
              },
              "params": {
                "market_value_eur": 44000000,
                "quality_factor": 0.8002,
                "boost_factor": 1.012,
                "reference_quality": 0.505,
                "history_matches": 32,
                "history_shrink": 0.1351,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0053)",
              "stats": {
                "key_pass": 0.3047,
                "expected_assists": 0.0198,
                "assists": 0.0346,
                "assist_rate": 0.0346,
                "expected_goals": 0.0261,
                "goals": 0.0377,
                "goal_rate": 0.0377,
                "shots_on_target": 0.0863,
                "total_shots": 0.2403,
                "rating": 6.7641,
                "minutes": 21.56,
                "total_pass": 16.638,
                "accurate_pass": 14.9944,
                "duels_won": 1.611,
                "total_long_balls": 0.5227,
                "accurate_long_balls": 0.2603,
                "total_own_half_passes": 7.3571,
                "accurate_own_half_passes": 6.5114,
                "total_opp_half_passes": 9.2808,
                "accurate_opp_half_passes": 8.483,
                "crosses_total": 0.0168,
                "crosses_accurate": 0.0,
                "touches": 21.5587,
                "possession_lost": 2.1743,
                "dispossessed": 0.0852,
                "duels_lost": 1.3395,
                "aerial_won": 0.3017,
                "aerial_lost": 0.403,
                "interceptions": 0.1507,
                "tackles_won": 0.1782,
                "tackles": 0.9596,
                "clearances": 0.9383,
                "total_contest": 0.2871,
                "won_contest": 0.0852,
                "challenges_lost": 0.3485,
                "fouls": 0.3465,
                "fouls_drawn": 0.266,
                "blocks": 0.0618,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0144,
                "xgot": 0.0091,
                "ball_carries": 5.5879,
                "total_progression": 14.2116,
                "progressive_carries": 0.2964,
                "shots_off_target": 0.1547
              },
              "params": {
                "blend_weight": 0.0053,
                "history_matches": 32,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2396,
                "prior_reliability": 0.06,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 21.6 to 16.6 expected minutes (appearance prob 0.53)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.0152,
                "assists": 0.0266,
                "assist_rate": 0.0266,
                "expected_goals": 0.0201,
                "goals": 0.029,
                "goal_rate": 0.029,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.007,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58
              },
              "params": {
                "expected_minutes": 16.58,
                "projection_minutes": 21.56,
                "minutes_scale": 0.769,
                "appearance_probability": 0.529
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.0152,
                "assists": 0.0266,
                "assist_rate": 0.0266,
                "expected_goals": 0.0201,
                "goals": 0.029,
                "goal_rate": 0.029,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.007,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.0152,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0201,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.007,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.009,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0119,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.0041,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.127,
                "creation_factor": 1.1748
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 0.529
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0201,
                  "after": 0.0119
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0152,
                  "after": 0.009
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 80.0)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.009,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0119,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.0041,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.127,
                "creation_factor": 1.1748,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1467,
                "fifa_rank": 701.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.009,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0119,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.0041,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0118,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.127,
                "creation_factor": 1.1748,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0118,
                "goal_rate": 0.029,
                "scorer_weight": 0.0134,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0092,
                "finishing_factor": 1.127,
                "appearance_weight": 0.529,
                "weight_rank": 14,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.2343,
                "expected_assists": 0.009,
                "assist_rate": 0.0266,
                "assists": 0,
                "expected_goals": 0.0119,
                "goal_rate": 0.029,
                "goals": 0,
                "shots_on_target": 0.0664,
                "total_shots": 0.1854,
                "rating": 6.7641,
                "minutes": 16.58,
                "total_pass": 12.7949,
                "accurate_pass": 11.5309,
                "duels_won": 1.2389,
                "total_long_balls": 0.402,
                "accurate_long_balls": 0.2002,
                "total_own_half_passes": 5.6577,
                "accurate_own_half_passes": 5.0074,
                "total_opp_half_passes": 7.1371,
                "accurate_opp_half_passes": 6.5236,
                "crosses_total": 0.0129,
                "crosses_accurate": 0.0,
                "touches": 16.579,
                "possession_lost": 1.6721,
                "dispossessed": 0.0852,
                "duels_lost": 1.0301,
                "aerial_won": 0.232,
                "aerial_lost": 0.403,
                "interceptions": 0.1159,
                "tackles_won": 0.137,
                "tackles": 0.7379,
                "clearances": 0.7216,
                "total_contest": 0.2208,
                "won_contest": 0.0655,
                "challenges_lost": 0.3485,
                "fouls": 0.2665,
                "fouls_drawn": 0.2046,
                "blocks": 0.0475,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0111,
                "xgot": 0.0041,
                "ball_carries": 4.2972,
                "total_progression": 10.929,
                "progressive_carries": 0.2279,
                "shots_off_target": 0.119,
                "bench_appearance_probability": 0.529,
                "bench_expected_minutes": 16.58,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0118,
                "projected_assists": 0,
                "assist_probability": 0.0089,
                "finishing_factor": 1.127,
                "creation_factor": 1.1748,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0089,
                "assist_rate": 0.0266,
                "provider_weight": 0.0106,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0106,
                "creation_factor": 1.1748,
                "appearance_weight": 0.529,
                "weight_rank": 12,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Matheus Cunha": {
          "player_id": 886363,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 184,
          "market_value": 79000000,
          "stats": {
            "expected_goals": 0.0408,
            "goal_rate": 0.0954,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0306,
            "key_pass": 1,
            "rating": 6.7818,
            "minutes": 27,
            "total_pass": 15,
            "accurate_pass": 12,
            "duels_won": 4,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 8,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 26,
            "possession_lost": 7.8844,
            "dispossessed": 1.1249,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.1679,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0174,
            "offsides": 0,
            "ball_carries": 7,
            "total_progression": 42,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.37,
            "bench_expected_minutes": 27.05,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.541,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0386,
            "projected_assists": 0,
            "assist_probability": 0.0294,
            "finishing_factor": 0.9758,
            "creation_factor": 1.25,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16363899,
              "match_date": "2026-10-25",
              "home_team": "Manchester United",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2853,
                "expected_assists": 0.0171,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 30,
                "accurate_pass": 24,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363886,
              "match_date": "2026-10-18",
              "home_team": "Leeds United",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Manchester United",
              "opponent": "Leeds United",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0186,
                "expected_assists": 0.0019,
                "total_shots": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363879,
              "match_date": "2026-10-10",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 89,
                "rating": 6.9,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1809,
                "expected_assists": 0.1075,
                "total_shots": 1,
                "total_pass": 34,
                "accurate_pass": 28,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 4,
                "interceptions": 1,
                "duels_won": 7,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363652,
              "match_date": "2026-09-20",
              "home_team": "Fulham",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Fulham",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0541,
                "expected_assists": 0.3943,
                "total_shots": 3,
                "shots_on_target": 2,
                "total_pass": 26,
                "accurate_pass": 22,
                "key_pass": 3,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363645,
              "match_date": "2026-09-13",
              "home_team": "Manchester United",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.108,
                "expected_assists": 0.0274,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 28,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363259,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Everton",
              "stats": {
                "minutes": 70,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1178,
                "expected_assists": 0.054,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 28,
                "accurate_pass": 22,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363253,
              "match_date": "2026-08-30",
              "home_team": "Manchester United",
              "away_team": "Ipswich Town",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 80,
                "rating": 7.0,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.106,
                "expected_assists": 0.1515,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 19,
                "key_pass": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363634,
              "match_date": "2026-08-22",
              "home_team": "Hull City",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Hull City",
              "stats": {
                "minutes": 80,
                "rating": 5.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2431,
                "expected_assists": 0.2127,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 28,
                "accurate_pass": 27,
                "key_pass": 2,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14023956,
              "match_date": "2026-05-17",
              "home_team": "Manchester United",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 80,
                "rating": 8.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.319,
                "expected_assists": 0.4868,
                "total_shots": 4,
                "shots_on_target": 1,
                "total_pass": 32,
                "accurate_pass": 27,
                "key_pass": 4,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023938,
              "match_date": "2026-05-09",
              "home_team": "Sunderland",
              "away_team": "Manchester United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Manchester United",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3259,
                "expected_assists": 0.1151,
                "total_shots": 5,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 31,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 356,
            "combined_rank_score": 231.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 261.0,
            "sofascore_rating": 7.0909,
            "sofascore_appearances": 33.0,
            "fifa_rank": 201.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7818,
            "source_file": "data/player_rankings.csv",
            "player_name": "Matheus Cunha",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jorginho",
                  "ranking": 351
                },
                {
                  "player_name": "Renê",
                  "ranking": 352
                },
                {
                  "player_name": "Azizbek Amanov",
                  "ranking": 353
                },
                {
                  "player_name": "Aboubacar Toungara",
                  "ranking": 354
                },
                {
                  "player_name": "Sharof Mukhiddinov",
                  "ranking": 355
                }
              ],
              "lower": [
                {
                  "player_name": "Antoine Semenyo",
                  "ranking": 357
                },
                {
                  "player_name": "Cho Sang-Jun",
                  "ranking": 358
                },
                {
                  "player_name": "Cristiano Ronaldo",
                  "ranking": 359
                },
                {
                  "player_name": "Riccardo Calafiori",
                  "ranking": 360
                },
                {
                  "player_name": "Patrik Schick",
                  "ranking": 361
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.768,
          "history_matches": 41,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 41,
            "data_confidence": 0.768,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 27.049191790729324,
            "bench_appearance_prob": 0.37,
            "market_value_adjustment": 1.0123,
            "fbref_prior_metrics": {
              "squad": "Manchester Utd",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.5555555555555556,
              "prior_reliability": 0.12
            },
            "rationale": "Bench projection scaled from XGBoost F_service (41 historical appearances) to 27.0 expected mins (appearance prob 0.37); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0872,
                "goals": 0.0846,
                "goal_rate": 0.0846,
                "shots_on_target": 0.3734,
                "total_shots": 1.0586,
                "expected_assists": 0.0653,
                "key_pass": 0.7017,
                "rating": 6.7818,
                "minutes": 24.11,
                "total_pass": 13.055,
                "accurate_pass": 10.3152,
                "duels_won": 3.2374,
                "total_long_balls": 0.7364,
                "accurate_long_balls": 0.3887,
                "total_opp_half_passes": 9.4743,
                "accurate_opp_half_passes": 7.2973,
                "crosses_total": 0.2548,
                "crosses_accurate": 0.2548,
                "touches": 23.3052,
                "possession_lost": 6.9423,
                "dispossessed": 1.1112,
                "duels_lost": 3.597,
                "aerial_lost": 0.613,
                "total_contest": 1.539,
                "won_contest": 0.6213,
                "ball_recovery": 2.1208,
                "challenges_lost": 0.4734,
                "fouls": 0.4817,
                "fouls_drawn": 1.0622,
                "assists": 0.1479,
                "assist_rate": 0.1479,
                "interceptions": 0.2326,
                "tackles_won": 0.6296,
                "tackles": 1.0994,
                "clearances": 0.174,
                "blocks": 0.0,
                "big_chances_created": 0.1791,
                "big_chances_missed": 0.0,
                "xgot": 0.0372,
                "offsides": 0.1479,
                "ball_carries": 6.3763,
                "total_progression": 37.2806,
                "progressive_carries": 0.9529,
                "shots_off_target": 0.6851
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Bournemouth",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1502,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-18",
                    "opponent": "Leeds United",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.1277,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Tottenham Hotspur",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Fulham",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Manchester City",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Everton",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Ipswich Town",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Hull City",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 5.8
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Nottingham Forest",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 8.4
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Sunderland",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.1568,
                  "accuratePass": 21.2638,
                  "totalOppositionHalfPasses": 17.9417,
                  "accurateOppositionHalfPasses": 14.116,
                  "totalShots": 2.2435
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.08716124296188354,
                    "model_output": 0.0872,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0802
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0123
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0074
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.005
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": -0.0043
                        }
                      ],
                      "others": -0.0095,
                      "total": 0.0872,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.526354
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.111995
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.074036
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.050665
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": -0.04378
                        }
                      ],
                      "others_margin": -0.104535
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.08462291955947876,
                    "model_output": 0.0846,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0971
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0106
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0087
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0055
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0045
                        }
                      ],
                      "others": 0.0015,
                      "total": 0.0846,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.662775
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.107764
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.09799
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.067668
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.055749
                        }
                      ],
                      "others_margin": 0.017957
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.3734171390533447,
                    "model_output": 0.3734,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1858
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0458
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0322
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0194
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0191
                        }
                      ],
                      "others": -0.0251,
                      "total": 0.3734,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.429417
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.124264
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.085554
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.052363
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.04916
                        }
                      ],
                      "others_margin": -0.065103
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.0585570335388184,
                    "model_output": 1.0586,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5168
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1523
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0597
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0395
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0355
                        }
                      ],
                      "others": -0.0208,
                      "total": 1.0586,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.516848
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.152293
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.059747
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.03951
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.035529
                        }
                      ],
                      "others_margin": -0.020767
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06530486792325974,
                    "model_output": 0.0653,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0215
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0083
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0051
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0038
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0034
                        }
                      ],
                      "others": 0.0019,
                      "total": 0.0653,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.407768
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.177165
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.094489
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.064687
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.054826
                        }
                      ],
                      "others_margin": 0.031986
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.7017096281051636,
                    "model_output": 0.7017,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2624
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0625
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0597
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0483
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0376
                        }
                      ],
                      "others": 0.0693,
                      "total": 0.7017,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.481491
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.137503
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.115702
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.084686
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.061246
                        }
                      ],
                      "others_margin": 0.103922
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.781824588775635,
                    "model_output": 6.7818,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0997
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0255
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.022
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0217
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0184
                        }
                      ],
                      "others": 0.0671,
                      "total": 6.7818,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.099721
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.025532
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.021951
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.021744
                        },
                        {
                          "name": "touches",
                          "margin": 0.018359
                        }
                      ],
                      "others_margin": 0.067016
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 41,
                  "role_matches": 6,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0123, quality 0.881)",
              "stats": {
                "expected_goals": 0.0882,
                "goals": 0.0857,
                "goal_rate": 0.0857,
                "shots_on_target": 0.378,
                "total_shots": 1.0716,
                "expected_assists": 0.0661,
                "key_pass": 0.7103,
                "rating": 6.7818,
                "minutes": 24.11,
                "total_pass": 13.2156,
                "accurate_pass": 10.4421,
                "duels_won": 3.2772,
                "total_long_balls": 0.7455,
                "accurate_long_balls": 0.3935,
                "total_opp_half_passes": 9.5908,
                "accurate_opp_half_passes": 7.3871,
                "crosses_total": 0.2579,
                "crosses_accurate": 0.2579,
                "touches": 23.5919,
                "possession_lost": 7.0277,
                "dispossessed": 1.1249,
                "duels_lost": 3.6412,
                "aerial_lost": 0.6205,
                "total_contest": 1.5579,
                "won_contest": 0.6289,
                "ball_recovery": 2.1469,
                "challenges_lost": 0.4792,
                "fouls": 0.4876,
                "fouls_drawn": 1.0753,
                "assists": 0.1497,
                "assist_rate": 0.1497,
                "interceptions": 0.2355,
                "tackles_won": 0.6373,
                "tackles": 1.1129,
                "clearances": 0.1761,
                "blocks": 0.0,
                "big_chances_created": 0.1813,
                "big_chances_missed": 0.0,
                "xgot": 0.0377,
                "offsides": 0.1497,
                "ball_carries": 6.4547,
                "total_progression": 37.7392,
                "progressive_carries": 0.9646,
                "shots_off_target": 0.6935
              },
              "params": {
                "market_value_eur": 79000000,
                "quality_factor": 0.8811,
                "boost_factor": 1.0123,
                "reference_quality": 0.505,
                "history_matches": 41,
                "history_shrink": 0.1087,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0085)",
              "stats": {
                "expected_goals": 0.0882,
                "goals": 0.085,
                "goal_rate": 0.085,
                "shots_on_target": 0.3774,
                "total_shots": 1.069,
                "expected_assists": 0.0661,
                "key_pass": 0.7103,
                "rating": 6.7818,
                "minutes": 24.11,
                "total_pass": 13.2156,
                "accurate_pass": 10.4421,
                "duels_won": 3.2772,
                "total_long_balls": 0.7455,
                "accurate_long_balls": 0.3935,
                "total_opp_half_passes": 9.5908,
                "accurate_opp_half_passes": 7.3871,
                "crosses_total": 0.2608,
                "crosses_accurate": 0.2579,
                "touches": 23.5919,
                "possession_lost": 7.0277,
                "dispossessed": 1.1249,
                "duels_lost": 3.6412,
                "aerial_lost": 0.6205,
                "total_contest": 1.5579,
                "won_contest": 0.6289,
                "ball_recovery": 2.1469,
                "challenges_lost": 0.4792,
                "fouls": 0.4847,
                "fouls_drawn": 1.07,
                "assists": 0.1497,
                "assist_rate": 0.1497,
                "interceptions": 0.2335,
                "tackles_won": 0.6319,
                "tackles": 1.1129,
                "clearances": 0.1761,
                "blocks": 0.0,
                "big_chances_created": 0.1813,
                "big_chances_missed": 0.0,
                "xgot": 0.0377,
                "offsides": 0.1484,
                "ball_carries": 6.4547,
                "total_progression": 37.7392,
                "progressive_carries": 0.9646,
                "shots_off_target": 0.6935
              },
              "params": {
                "blend_weight": 0.0085,
                "history_matches": 41,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2679,
                "prior_reliability": 0.12,
                "competition": "Premier League",
                "squad": "Manchester Utd"
              },
              "changes": [
                {
                  "stat": "wonTackle",
                  "before": 0.6373,
                  "after": 0.6319
                },
                {
                  "stat": "wasFouled",
                  "before": 1.0753,
                  "after": 1.07
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 24.1 to 27.0 expected minutes (appearance prob 0.37)",
              "stats": {
                "expected_goals": 0.099,
                "goals": 0.0954,
                "goal_rate": 0.0954,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0742,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assists": 0.1679,
                "assist_rate": 0.1679,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0423,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05
              },
              "params": {
                "expected_minutes": 27.05,
                "projection_minutes": 24.11,
                "minutes_scale": 1.1219,
                "appearance_probability": 0.37
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.099,
                "goals": 0.0954,
                "goal_rate": 0.0954,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0742,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assists": 0.1679,
                "assist_rate": 0.1679,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0423,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.099,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0742,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0423,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.42 (squad xG sum 1.2754, xG scale 1.1149, xA scale 1.1149, team xA 1.01 = 0.71 x lambda)",
              "stats": {
                "expected_goals": 0.0408,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0306,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0174,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9758,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.422,
                "squad_xg_sum": 1.2754,
                "squad_xa_sum": 0.9076,
                "team_expected_assists": 1.0119,
                "team_xa_to_xg_ratio": 0.7116,
                "bench_appearance_weighted": true,
                "xg_scale": 1.1149,
                "xa_scale": 1.1149,
                "opponent_lambda": 1.661,
                "scoreline_reset": true,
                "appearance_weight": 0.37
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.099,
                  "after": 0.0408
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0742,
                  "after": 0.0306
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 14 by projected rating, fifa_overall 84.0)",
              "stats": {
                "expected_goals": 0.0408,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0306,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0174,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9758,
                "creation_factor": 1.25,
                "fifa_overall": 84.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 356,
                "fifa_rank": 201.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.0408,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0306,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0174,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0386,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9758,
                "creation_factor": 1.25,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0386,
                "goal_rate": 0.0954,
                "scorer_weight": 0.0398,
                "squad_weight_total": 1.4656,
                "weight_share": 0.0272,
                "finishing_factor": 0.9758,
                "appearance_weight": 0.37,
                "weight_rank": 10,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bryan Mbeumo",
                    "weight": 0.3991,
                    "already": 0,
                    "effective_weight": 0.3991,
                    "runner_up": "Bruno Fernandes",
                    "runner_up_effective_weight": 0.2902
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.0408,
                "goal_rate": 0.0954,
                "goals": 0,
                "shots_on_target": 0.4234,
                "total_shots": 1.2015,
                "expected_assists": 0.0306,
                "key_pass": 0.7969,
                "rating": 6.7818,
                "minutes": 27.05,
                "total_pass": 14.8267,
                "accurate_pass": 11.7151,
                "duels_won": 3.6767,
                "total_long_balls": 0.8364,
                "accurate_long_balls": 0.4415,
                "total_opp_half_passes": 10.76,
                "accurate_opp_half_passes": 8.2876,
                "crosses_total": 0.2926,
                "crosses_accurate": 0.2893,
                "touches": 26.4679,
                "possession_lost": 7.8844,
                "dispossessed": 1.1249,
                "duels_lost": 4.0851,
                "aerial_lost": 0.6205,
                "total_contest": 1.7478,
                "won_contest": 0.7056,
                "ball_recovery": 2.4086,
                "challenges_lost": 0.4792,
                "fouls": 0.5438,
                "fouls_drawn": 1.2004,
                "assist_rate": 0.1679,
                "assists": 0,
                "interceptions": 0.262,
                "tackles_won": 0.7089,
                "tackles": 1.2486,
                "clearances": 0.1976,
                "blocks": 0.0,
                "big_chances_created": 0.2034,
                "big_chances_missed": 0.0,
                "xgot": 0.0174,
                "offsides": 0.1484,
                "ball_carries": 7.2416,
                "total_progression": 42.3399,
                "progressive_carries": 1.0822,
                "shots_off_target": 0.778,
                "bench_appearance_probability": 0.37,
                "bench_expected_minutes": 27.05,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.541,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0386,
                "projected_assists": 0,
                "assist_probability": 0.0294,
                "finishing_factor": 0.9758,
                "creation_factor": 1.25,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0294,
                "assist_rate": 0.1679,
                "provider_weight": 0.0382,
                "squad_weight_total": 0.9934,
                "weight_share": 0.0385,
                "creation_factor": 1.25,
                "appearance_weight": 0.37,
                "weight_rank": 10,
                "eligible_players": 14,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Bruno Fernandes",
                    "weight": 0.2738,
                    "already": 0,
                    "effective_weight": 0.2738,
                    "runner_up": "Mason Mount",
                    "runner_up_effective_weight": 0.1076,
                    "blocked_own_goal": [
                      "Bryan Mbeumo"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 1,
        "expected_goals": 1.42,
        "expected_assists": 1.01,
        "total_shots": 14,
        "shots_on_target": 2,
        "total_passes": 506,
        "interceptions": 8,
        "tackles": 16,
        "avg_rating": 6.9,
        "possession_estimated_pct": 49.8,
        "pressing_actions_per_90": 8.0
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Cole Palmer",
        "attacker_role": "LW",
        "attacker_market_value": 101000000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.894,
        "defenders": [
          "Diogo Dalot"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.702,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.535,
        "xg_contribution": 0.2104,
        "xg_multiplier": 1.0805,
        "shots_in_zone": 2.1,
        "dribbles_attempted": 4,
        "dribbles_successful": 1.9,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 2.7,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Diogo Dalot",
            "role": "RB",
            "market_value": 28000000,
            "tackles_attempted": 2.2,
            "tackles_won": 1.6,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.465
          }
        ],
        "duel_analysis": "Cole Palmer (LW) is slightly favored against Diogo Dalot in a direct 1v1 contest. Duel win probability: 53%. The quality gap is significant (€101M vs €28M avg). Matchup xG multiplier ×1.08 (×1.00 = his usual level). Projected xG contribution: 0.210 — creating consistent moderate threat."
      },
      {
        "attacker": "Pedro Neto",
        "attacker_role": "ST",
        "attacker_market_value": 58000000,
        "attacker_height": 172,
        "attacker_skill_quality": 0.848,
        "defenders": [
          "Ayden Heaven",
          "Leny Yoro"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.761,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.1659,
        "xg_multiplier": 0.9313,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.3,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.9,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Ayden Heaven",
            "role": "CB",
            "market_value": 32000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Leny Yoro",
            "role": "CB",
            "market_value": 42000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Pedro Neto (ST) faces tough defensive resistance against Ayden Heaven and Leny Yoro in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€58M vs €37M avg). Matchup xG multiplier ×0.93 (×1.00 = his usual level). Projected xG contribution: 0.166 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Danny Welbeck",
        "attacker_role": "ST",
        "attacker_market_value": 3100000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.439,
        "defenders": [
          "Ayden Heaven",
          "Leny Yoro"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.761,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.1476,
        "xg_multiplier": 0.7224,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.8,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Ayden Heaven",
            "role": "CB",
            "market_value": 32000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Leny Yoro",
            "role": "CB",
            "market_value": 42000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Danny Welbeck (ST) is heavily outmatched defensively against Ayden Heaven and Leny Yoro in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€3M vs €37M avg). Matchup xG multiplier ×0.72 (×1.00 = his usual level). Projected xG contribution: 0.148 — with very limited chance creation expected."
      },
      {
        "attacker": "Geovany Quenda",
        "attacker_role": "ST",
        "attacker_market_value": 45000000,
        "attacker_height": 172,
        "attacker_skill_quality": 0.805,
        "defenders": [
          "Ayden Heaven",
          "Leny Yoro"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.761,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.1525,
        "xg_multiplier": 0.9027,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.3,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.8,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Ayden Heaven",
            "role": "CB",
            "market_value": 32000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Leny Yoro",
            "role": "CB",
            "market_value": 42000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Geovany Quenda (ST) faces tough defensive resistance against Ayden Heaven and Leny Yoro in a 2-defender block. Duel win probability: 18%.  Matchup xG multiplier ×0.90 (×1.00 = his usual level). Projected xG contribution: 0.152 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Moisés Caicedo",
        "attacker_role": "CDM",
        "attacker_market_value": 104000000,
        "attacker_height": 178,
        "attacker_skill_quality": 0.895,
        "defenders": [
          "Carlos Baleba"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.859,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.426,
        "xg_contribution": 0.0357,
        "xg_multiplier": 1.0085,
        "shots_in_zone": 1.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Carlos Baleba",
            "role": "CDM",
            "market_value": 63000000,
            "tackles_attempted": 2.3,
            "tackles_won": 1.9,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.574
          }
        ],
        "duel_analysis": "Moisés Caicedo (CDM) is evenly matched against Carlos Baleba in a direct 1v1 contest. Duel win probability: 43%. The quality gap is significant (€104M vs €63M avg). Matchup xG multiplier ×1.01 (×1.00 = his usual level). Projected xG contribution: 0.036 — with neither side clearly dominant."
      },
      {
        "attacker": "Jordan Henderson",
        "attacker_role": "CDM",
        "attacker_market_value": 1300000,
        "attacker_height": 183,
        "attacker_skill_quality": 0.437,
        "defenders": [
          "Carlos Baleba"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.859,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.239,
        "xg_contribution": 0.0571,
        "xg_multiplier": 0.7334,
        "shots_in_zone": 0.8,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Carlos Baleba",
            "role": "CDM",
            "market_value": 63000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.761
          }
        ],
        "duel_analysis": "Jordan Henderson (CDM) is heavily outmatched defensively against Carlos Baleba in a direct 1v1 contest. Duel win probability: 24%. The quality gap is significant (€1M vs €63M avg). Matchup xG multiplier ×0.73 (×1.00 = his usual level). Projected xG contribution: 0.057 — with very limited chance creation expected."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "Bruno Fernandes",
        "attacker_role": "LW",
        "attacker_market_value": 32000000,
        "attacker_height": 179,
        "attacker_skill_quality": 0.732,
        "defenders": [
          "Wesley Fofana"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.739,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.415,
        "xg_contribution": 0.21,
        "xg_multiplier": 0.9049,
        "shots_in_zone": 1.8,
        "dribbles_attempted": 4,
        "dribbles_successful": 1.5,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 2.4,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Wesley Fofana",
            "role": "RB",
            "market_value": 33000000,
            "tackles_attempted": 2.2,
            "tackles_won": 1.8,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.585
          }
        ],
        "duel_analysis": "Bruno Fernandes (LW) faces tough defensive resistance against Wesley Fofana in a direct 1v1 contest. Duel win probability: 42%.  Matchup xG multiplier ×0.90 (×1.00 = his usual level). Projected xG contribution: 0.210 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Mason Mount",
        "attacker_role": "CAM",
        "attacker_market_value": 23000000,
        "attacker_height": 181,
        "attacker_skill_quality": 0.66,
        "defenders": [
          "Moisés Caicedo",
          "Jordan Henderson"
        ],
        "defender_roles": [
          "CDM",
          "CDM"
        ],
        "def_skill_quality_avg": 0.666,
        "duel_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.243,
        "xg_contribution": 0.0877,
        "xg_multiplier": 1.0048,
        "shots_in_zone": 1.7,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.6,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Moisés Caicedo",
            "role": "CDM",
            "market_value": 104000000,
            "tackles_attempted": 1.2,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.757
          },
          {
            "player": "Jordan Henderson",
            "role": "CDM",
            "market_value": 1300000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.9,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.757
          }
        ],
        "duel_analysis": "Mason Mount (CAM) is evenly matched against Moisés Caicedo and Jordan Henderson in a 2-defender block. Duel win probability: 24%. The quality gap is significant (€23M vs €53M avg). Matchup xG multiplier ×1.00 (×1.00 = his usual level). Projected xG contribution: 0.088 — with neither side clearly dominant."
      },
      {
        "attacker": "Bryan Mbeumo",
        "attacker_role": "ST",
        "attacker_market_value": 73000000,
        "attacker_height": 173,
        "attacker_skill_quality": 0.875,
        "defenders": [
          "Josh Acheampong",
          "Jorrel Hato"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.761,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.3415,
        "xg_multiplier": 0.9624,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.3,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.9,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Josh Acheampong",
            "role": "CB",
            "market_value": 29000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Jorrel Hato",
            "role": "CB",
            "market_value": 47000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Bryan Mbeumo (ST) is evenly matched against Josh Acheampong and Jorrel Hato in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€73M vs €38M avg). Matchup xG multiplier ×0.96 (×1.00 = his usual level). Projected xG contribution: 0.341 — with neither side clearly dominant."
      },
      {
        "attacker": "Amad Diallo",
        "attacker_role": "ST",
        "attacker_market_value": 44000000,
        "attacker_height": 173,
        "attacker_skill_quality": 0.8,
        "defenders": [
          "Josh Acheampong",
          "Jorrel Hato"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.761,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.1215,
        "xg_multiplier": 0.9132,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.3,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.8,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Josh Acheampong",
            "role": "CB",
            "market_value": 29000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Jorrel Hato",
            "role": "CB",
            "market_value": 47000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Amad Diallo (ST) faces tough defensive resistance against Josh Acheampong and Jorrel Hato in a 2-defender block. Duel win probability: 18%.  Matchup xG multiplier ×0.91 (×1.00 = his usual level). Projected xG contribution: 0.122 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Carlos Baleba",
        "attacker_role": "CDM",
        "attacker_market_value": 63000000,
        "attacker_height": 179,
        "attacker_skill_quality": 0.859,
        "defenders": [
          "Moisés Caicedo"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.895,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.414,
        "xg_contribution": 0.0567,
        "xg_multiplier": 0.9915,
        "shots_in_zone": 1.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Moisés Caicedo",
            "role": "CDM",
            "market_value": 104000000,
            "tackles_attempted": 2.3,
            "tackles_won": 1.9,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.586
          }
        ],
        "duel_analysis": "Carlos Baleba (CDM) is evenly matched against Moisés Caicedo in a direct 1v1 contest. Duel win probability: 41%. The quality gap is significant (€63M vs €104M avg). Matchup xG multiplier ×0.99 (×1.00 = his usual level). Projected xG contribution: 0.057 — with neither side clearly dominant."
      },
      {
        "attacker": "Youri Tielemans",
        "attacker_role": "CDM",
        "attacker_market_value": 43000000,
        "attacker_height": 177,
        "attacker_skill_quality": 0.796,
        "defenders": [
          "Moisés Caicedo"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.895,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.384,
        "xg_contribution": 0.0569,
        "xg_multiplier": 0.9467,
        "shots_in_zone": 0.9,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Moisés Caicedo",
            "role": "CDM",
            "market_value": 104000000,
            "tackles_attempted": 2.3,
            "tackles_won": 1.9,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.616
          }
        ],
        "duel_analysis": "Youri Tielemans (CDM) is evenly matched against Moisés Caicedo in a direct 1v1 contest. Duel win probability: 38%. The quality gap is significant (€43M vs €104M avg). Matchup xG multiplier ×0.95 (×1.00 = his usual level). Projected xG contribution: 0.057 — with neither side clearly dominant."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.742,
      "away_midfield_power": 0.787,
      "home_creative_power": 0.764,
      "away_creative_power": 0.702,
      "home_defensive_power": 0.76,
      "away_defensive_power": 0.656,
      "home_dominance_ratio": 0.485,
      "home_midfield_count": 3,
      "away_midfield_count": 4,
      "home_midfield_players": [
        "Cole Palmer",
        "Moisés Caicedo",
        "Jordan Henderson"
      ],
      "away_midfield_players": [
        "Mason Mount",
        "Bruno Fernandes",
        "Carlos Baleba",
        "Youri Tielemans"
      ],
      "possession_advantage": "neutral",
      "estimated_possession_home_pct": 50.2,
      "estimated_possession_away_pct": 49.8,
      "home_pressing_actions_per_90": 8.4,
      "away_pressing_actions_per_90": 8.0,
      "home_key_passes_projected": 6.1,
      "away_key_passes_projected": 5.7,
      "home_throughball_threat": 2.9,
      "away_throughball_threat": 2.7,
      "key_personal_duel": "Moisés Caicedo vs Carlos Baleba",
      "midfield_lambda_factor_home": 1.002,
      "midfield_lambda_factor_away": 1.0
    },
    "formation_analysis": {
      "home_formation": "4-2-3-1",
      "away_formation": "4-2-3-1",
      "home_tactical_bonus": 0.0,
      "away_tactical_bonus": 0.0,
      "formation_verdict": "Tactical parity between 4-2-3-1 and 4-2-3-1. Match outcome driven primarily by individual player quality."
    },
    "home_lambda": 1.661,
    "away_lambda": 1.422,
    "home_top_threat_zones": [
      "Left Wing vs Right Back — Flank Battle",
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
    ],
    "away_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "Left Wing vs Right Back — Flank Battle"
    ],
    "home_player_antagonists": {
      "Cole Palmer": {
        "opponents": [
          "Diogo Dalot",
          "Youri Tielemans"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Pedro Neto": {
        "opponents": [
          "Ayden Heaven",
          "Leny Yoro"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Danny Welbeck": {
        "opponents": [
          "Ayden Heaven",
          "Leny Yoro"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Geovany Quenda": {
        "opponents": [
          "Ayden Heaven",
          "Leny Yoro"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Moisés Caicedo": {
        "opponents": [
          "Carlos Baleba",
          "Mason Mount",
          "Youri Tielemans",
          "Bruno Fernandes"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Jordan Henderson": {
        "opponents": [
          "Carlos Baleba",
          "Mason Mount"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Wesley Fofana": {
        "opponents": [
          "Bruno Fernandes"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Josh Acheampong": {
        "opponents": [
          "Bryan Mbeumo",
          "Amad Diallo"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Jorrel Hato": {
        "opponents": [
          "Bryan Mbeumo",
          "Amad Diallo"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Mike Penders": {
        "opponents": [
          "Bryan Mbeumo",
          "Amad Diallo"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Levi Colwill": {
        "opponents": [
          "Bryan Mbeumo"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Diogo Dalot": {
        "opponents": [
          "Cole Palmer"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Ayden Heaven": {
        "opponents": [
          "Pedro Neto",
          "Danny Welbeck",
          "Geovany Quenda"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Leny Yoro": {
        "opponents": [
          "Pedro Neto",
          "Danny Welbeck",
          "Geovany Quenda"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Carlos Baleba": {
        "opponents": [
          "Moisés Caicedo",
          "Jordan Henderson"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Bruno Fernandes": {
        "opponents": [
          "Wesley Fofana",
          "Moisés Caicedo"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Mason Mount": {
        "opponents": [
          "Moisés Caicedo",
          "Jordan Henderson"
        ],
        "primary_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Bryan Mbeumo": {
        "opponents": [
          "Josh Acheampong",
          "Jorrel Hato"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Amad Diallo": {
        "opponents": [
          "Josh Acheampong",
          "Jorrel Hato"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Youri Tielemans": {
        "opponents": [
          "Moisés Caicedo",
          "Cole Palmer"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, midfield_pairing"
      },
      "Senne Lammens": {
        "opponents": [
          "Pedro Neto",
          "Geovany Quenda"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Harry Maguire": {
        "opponents": [
          "Danny Welbeck"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "key_tactical_insight": "Midfield is evenly contested — Moisés Caicedo vs Carlos Baleba will be the pivotal duel. Total antagonist xG — Home: 0.77, Away: 0.87. Home danger zone: Left Wing vs Right Back — Flank Battle. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle.",
    "lambda_factors": {
      "league_anchor": 1.45,
      "home_advantage_factor": 1.2992,
      "ha_source": "estimated:league",
      "home_gk_opposition_factor": 0.8743,
      "away_gk_opposition_factor": 0.9159,
      "home_set_piece_bonus": 0.1274,
      "away_set_piece_bonus": 0.18,
      "home_defensive_solidity_vs": 0.9095,
      "away_defensive_solidity_vs": 0.895,
      "home_midfield_factor": 1.002,
      "away_midfield_factor": 1.0,
      "stage_discount": 1.0,
      "quality_gap_applied": false,
      "home_avg_quality": 0.7418,
      "away_avg_quality": 0.7452,
      "avg_quality_gap": -0.0034,
      "squad_value_gap_log": 0.1991,
      "top5_value_gap_log": 0.3102,
      "attack_value_gap_log": 0.1128,
      "elite_count_gap": 1,
      "combined_quality_gap": 0.0344,
      "stronger_lambda_boost": 0.0,
      "weaker_lambda_suppression": 0.0,
      "home_lambda_chain": [
        {
          "label": "league_anchor",
          "value": 1.45
        },
        {
          "label": "duel_blend",
          "raw_xg": 0.7692,
          "n_duels": 6,
          "duel_confidence": 0.75,
          "result": 0.9394
        },
        {
          "label": "midfield_factor",
          "factor": 1.002,
          "result": 0.9413
        },
        {
          "label": "formation_bonus",
          "factor": 1.0,
          "result": 0.9413
        },
        {
          "label": "home_advantage",
          "factor": 1.2992,
          "result": 1.2229
        },
        {
          "label": "standing_factor",
          "factor": 1.1155,
          "result": 1.3642
        },
        {
          "label": "gk_opposition",
          "factor": 0.8743,
          "result": 1.1928
        },
        {
          "label": "defensive_solidity",
          "factor": 0.9095,
          "result": 1.0848
        },
        {
          "label": "set_piece_bonus",
          "bonus": 0.1274,
          "result": 1.2122
        },
        {
          "label": "engine_clamp",
          "pre": 1.2122,
          "result": 1.2122,
          "band": [
            0.6,
            4.0
          ],
          "clamped": false
        },
        {
          "label": "quality_gap",
          "applied": false,
          "combined_quality_gap": 0.0344,
          "factor": 1.0,
          "pre": 1.2122,
          "result": 1.2122
        },
        {
          "label": "stage_discount",
          "applied": false,
          "factor": 1.0,
          "result": 1.2122
        },
        {
          "label": "bench_bonus",
          "side": "home",
          "bonus": 0.1967,
          "result": 1.4087
        },
        {
          "label": "fbref_blend",
          "side": "home",
          "applied": true,
          "blending_weight": 0.192,
          "empirical_lambda": 3.5,
          "result": 1.8102
        },
        {
          "label": "router_clamp",
          "pre": 1.8102,
          "result": 1.81,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "second_leg",
          "applied": true,
          "factor": 1.1,
          "result": 1.991
        },
        {
          "label": "h2h_adjustment",
          "applied": true,
          "multiplier": 0.9857,
          "pre": 1.991,
          "result": 1.9625,
          "available": true
        },
        {
          "label": "mismatch_pressure",
          "applied": false,
          "reason": "quality gap below 0.30",
          "result": 1.963
        },
        {
          "label": "underdog_floor",
          "applied": false,
          "mode": "disabled_ablation",
          "result": 1.963
        },
        {
          "label": "final_clamp",
          "applied": false,
          "pre": 1.963,
          "result": 1.963,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "competition_calibration",
          "applied": true,
          "reason": "competition_intensity_calibration",
          "samples": 105,
          "scale": 0.85,
          "observed_total_goals": 2.781,
          "result": 1.661
        }
      ],
      "away_lambda_chain": [
        {
          "label": "league_anchor",
          "value": 1.45
        },
        {
          "label": "duel_blend",
          "raw_xg": 0.8743,
          "n_duels": 6,
          "duel_confidence": 0.75,
          "result": 1.0182
        },
        {
          "label": "midfield_factor",
          "factor": 1.0,
          "result": 1.0182
        },
        {
          "label": "formation_bonus",
          "factor": 1.0,
          "result": 1.0182
        },
        {
          "label": "home_advantage",
          "factor": 1.0,
          "result": 1.0182
        },
        {
          "label": "standing_factor",
          "factor": 1.0324,
          "result": 1.0512
        },
        {
          "label": "gk_opposition",
          "factor": 0.9159,
          "result": 0.9628
        },
        {
          "label": "defensive_solidity",
          "factor": 0.895,
          "result": 0.8617
        },
        {
          "label": "set_piece_bonus",
          "bonus": 0.18,
          "result": 1.0417
        },
        {
          "label": "engine_clamp",
          "pre": 1.0417,
          "result": 1.0417,
          "band": [
            0.6,
            4.0
          ],
          "clamped": false
        },
        {
          "label": "quality_gap",
          "applied": false,
          "combined_quality_gap": 0.0344,
          "factor": 1.0,
          "pre": 1.0417,
          "result": 1.0417
        },
        {
          "label": "stage_discount",
          "applied": false,
          "factor": 1.0,
          "result": 1.0417
        },
        {
          "label": "bench_bonus",
          "side": "away",
          "bonus": 0.22,
          "result": 1.262
        },
        {
          "label": "fbref_blend",
          "side": "away",
          "applied": true,
          "blending_weight": 0.192,
          "empirical_lambda": 3.5,
          "result": 1.6917
        },
        {
          "label": "router_clamp",
          "pre": 1.6917,
          "result": 1.692,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "second_leg",
          "applied": true,
          "factor": 0.97,
          "result": 1.641
        },
        {
          "label": "h2h_adjustment",
          "applied": true,
          "multiplier": 1.0143,
          "pre": 1.641,
          "result": 1.6645,
          "available": true
        },
        {
          "label": "mismatch_pressure",
          "applied": false,
          "reason": "quality gap below 0.30",
          "result": 1.664
        },
        {
          "label": "underdog_floor",
          "applied": false,
          "mode": "disabled_ablation",
          "result": 1.664
        },
        {
          "label": "final_clamp",
          "applied": false,
          "pre": 1.664,
          "result": 1.664,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "competition_calibration",
          "applied": true,
          "reason": "competition_intensity_calibration",
          "samples": 105,
          "scale": 0.85,
          "observed_total_goals": 2.781,
          "result": 1.422
        }
      ],
      "home_bench_lambda_bonus": 0.1967,
      "away_bench_lambda_bonus": 0.22,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "fbref_team_priors": {
        "applied": true,
        "home_squad": "Chelsea",
        "away_squad": "Manchester United",
        "home_goals_per90": 3.5,
        "away_goals_against_per90": 2.5,
        "away_goals_per90": 2.0,
        "home_goals_against_per90": 3.5,
        "home_empirical_lambda": 3.5,
        "away_empirical_lambda": 3.5,
        "blending_weight": 0.192
      },
      "mismatch_score_pressure_applied": false,
      "competitive_underdog_floor_applied": false,
      "competitive_underdog_floor": 1.0,
      "competitive_underdog_floor_mode": "disabled_ablation",
      "pre_competitive_floor_home_lambda": 1.963,
      "pre_competitive_floor_away_lambda": 1.664,
      "pre_calibration_home_lambda": 1.8102,
      "pre_calibration_away_lambda": 1.6917,
      "competition_calibration_applied": true,
      "competition_calibration_reason": "competition_intensity_calibration",
      "competition_calibration_samples": 105,
      "competition_observed_total_goals": 2.781,
      "competition_calibration_scale": 0.85,
      "neutral_share_preserved": false,
      "final_home_lambda": 1.661,
      "final_away_lambda": 1.422
    }
  },
  "home_standing": {
    "available": true,
    "team_position": 5,
    "opponent_position": 16,
    "standing_lambda_multiplier": 1.1155,
    "attack_index": 1.213,
    "defense_concede_index": 1.068,
    "form_multiplier": 1.024,
    "team_attack_rate_contextual": 1.68,
    "opp_defense_rate_contextual": 1.48,
    "team_ppg": 1.51,
    "opponent_ppg": 1.08
  },
  "away_standing": {
    "available": true,
    "team_position": 16,
    "opponent_position": 5,
    "standing_lambda_multiplier": 1.0324,
    "attack_index": 0.96,
    "defense_concede_index": 1.141,
    "form_multiplier": 0.976,
    "team_attack_rate_contextual": 1.33,
    "opp_defense_rate_contextual": 1.58,
    "team_ppg": 1.08,
    "opponent_ppg": 1.51
  },
  "xgboost_reasoning": {
    "summary": "Antagonist + XGBoost match analysis for Chelsea vs Man Utd. Player statistics regressed using position-specific XGBoost models (G, D, M, F) with 2026-2027 FBref priors. Micro-duels resolved across 4-2-3-1 vs 4-2-3-1 (duel lambdas: Home 1.810, Away 1.692). Final calibrated Poisson lambdas: Home 1.661, Away 1.422 (most likely score 2-1).",
    "competition": "Premier League",
    "model_coverage": {
      "home_starters_count": 11,
      "home_xgboost_players": 11,
      "home_fbref_players": 7,
      "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": "Manchester United",
      "home_goals_per90": 3.5,
      "away_goals_against_per90": 2.5,
      "away_goals_per90": 2.0,
      "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": 1.661,
      "away_lambda": 1.422,
      "micro_duel_home_lambda": 1.81,
      "micro_duel_away_lambda": 1.692
    },
    "calibration_and_pressure": {
      "competition_calibration_applied": true,
      "competition_calibration_scale": 0.85,
      "mismatch_pressure_applied": false,
      "underdog_floor_applied": false
    }
  },
  "timestamp": "2026-10-30T13:30:57Z",
  "outcome_baseline": null,
  "stat_limits": {
    "saves": 15.0,
    "goalsPrevented": 5.0,
    "keeperSaveValue": 3.0,
    "interceptionWon": 10.0,
    "totalTackle": 12.0,
    "wonTackle": 10.0,
    "totalClearance": 18.0,
    "aerialWon": 15.0,
    "aerialLost": 12.0,
    "totalPass": 150.0,
    "accuratePass": 145.0,
    "keyPass": 8.0,
    "expectedAssists": 1.5,
    "goalAssist": 4.0,
    "expectedGoals": 3.0,
    "expectedGoalsOnTarget": 6.0,
    "xgot": 6.0,
    "goals": 5.0,
    "totalShots": 12.0,
    "onTargetScoringAttempt": 8.0,
    "shotOffTarget": 8.0,
    "rating": 10.0,
    "minutesPlayed": 130.0,
    "duelWon": 20.0,
    "duelLost": 20.0,
    "ballRecovery": 18.0,
    "fouls": 12.0
  }
}