{
  "match_info": {
    "home_team": "USA",
    "away_team": "BiH",
    "tournament": "World Championship",
    "date": "20260701",
    "timezone": "America/New_York",
    "home_formation": "3-4-2-1",
    "away_formation": "4-4-2"
  },
  "prediction": {
    "most_likely_score": "1-0",
    "home_goals": 1,
    "away_goals": 0,
    "most_likely_score_probability": 0.1295,
    "match_resolution": "penalties_if_level",
    "predicted_winner": "USA",
    "tiebreaker": {
      "applies": true,
      "method": "penalties_if_level",
      "regulation_draw_probability": 0.2713,
      "shootout_home_win_probability": 0.5515,
      "shootout_away_win_probability": 0.4485,
      "penalty_home_goals": 5,
      "penalty_away_goals": 4,
      "penalty_score": "5-4",
      "penalty_winner": "USA",
      "penalty_winner_goals": 5,
      "penalty_loser_goals": 4,
      "penalty_result": "USA wins 5-4 on penalties",
      "home_advance_probability": 0.6212,
      "away_advance_probability": 0.3788,
      "projected_winner": "USA",
      "projected_winner_probability": 0.6212,
      "final_score_after_penalties": null,
      "reason": "Knockout match: a tied scoreline remains possible, then the advancing team is projected through penalties."
    },
    "top_5_scorelines": [
      {
        "score": "1-0",
        "probability": 0.1295
      },
      {
        "score": "1-1",
        "probability": 0.1275
      },
      {
        "score": "0-0",
        "probability": 0.0933
      },
      {
        "score": "2-0",
        "probability": 0.0922
      },
      {
        "score": "2-1",
        "probability": 0.0894
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.0933,
      "0-1": 0.0884,
      "0-2": 0.0433,
      "0-3": 0.014,
      "0-4": 0.0034,
      "0-5": 0.0007,
      "1-0": 0.1295,
      "1-1": 0.1275,
      "1-2": 0.0613,
      "1-3": 0.0198,
      "1-4": 0.0048,
      "1-5": 0.0009,
      "2-0": 0.0922,
      "2-1": 0.0894,
      "2-2": 0.0433,
      "2-3": 0.014,
      "2-4": 0.0034,
      "2-5": 0.0007,
      "3-0": 0.0435,
      "3-1": 0.0421,
      "3-2": 0.0204,
      "3-3": 0.0066,
      "3-4": 0.0016,
      "4-0": 0.0154,
      "4-1": 0.0149,
      "4-2": 0.0072,
      "4-3": 0.0023,
      "4-4": 0.0006,
      "5-0": 0.0043,
      "5-1": 0.0042,
      "5-2": 0.002,
      "5-3": 0.0007,
      "6-0": 0.001,
      "6-1": 0.001
    },
    "outcome": {
      "home_win": 0.4716,
      "draw": 0.2713,
      "away_win": 0.2571
    },
    "markets": {
      "over_2_5_goals": 0.4257,
      "under_2_5_goals": 0.5743,
      "btts_yes": 0.4706,
      "btts_no": 0.5294,
      "home_clean_sheet": 0.3795,
      "away_clean_sheet": 0.2433
    },
    "home_ratings": {
      "DR": 84.79,
      "MCR": 86.8,
      "ATR": 88.04,
      "GK": 92.39
    },
    "away_ratings": {
      "DR": 79.48,
      "MCR": 77.21,
      "ATR": 82.53,
      "GK": 83.22
    },
    "insights": {
      "summary": "Antagonist matchup analysis for USA vs BiH. Most likely scoreline: 1-0. Lambdas derived from 5 home and 6 away individual player duels.",
      "key_player": "Projected scorer(s): Folarin Balogun",
      "tactical_analysis": "Tactical parity between 3-4-2-1 and 4-4-2. Match outcome driven primarily by individual player quality. Home midfield dominates with ~53% possession expected (Weston McKennie vs Kerim Alajbegović). Total antagonist xG — Home: 0.67, Away: 0.59. Home danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle. Away danger zone: LM vs CB."
    },
    "confidence": 0.73,
    "home_lambda": 1.488,
    "away_lambda": 1.02
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.4716,
      "draw": 0.2713,
      "away_win": 0.2571
    },
    "favorite": "USA",
    "favorite_win_probability": 0.4716,
    "fair_spread": 0.468,
    "fair_total": 2.508,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "USA",
        "estimate": 1.488,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "BiH",
        "estimate": 1.02,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.4257,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.4706,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "USA",
        "estimate": 1.0,
        "probability": 0.3795,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "BiH",
        "estimate": 1.0,
        "probability": 0.2433,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "Alexander Freeman (USA)",
        "estimate": 0.4012,
        "probability": 0.18,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Kerim Alajbegović (BiH)",
        "estimate": 0.2518,
        "probability": 0.0,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Weston McKennie (USA)",
        "estimate": 0.2249,
        "probability": 0.3264,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Kerim Alajbegović (BiH)",
        "estimate": 0.1721,
        "probability": 0.0,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "balanced",
      "expected_total_goals": 2.508,
      "expected_total_shots": 22,
      "expected_total_passes": 740,
      "expected_pressing_actions_per_90": 14.2,
      "possession_home_pct": 53.2,
      "possession_away_pct": 46.8,
      "notes": "USA projects to control midfield possession"
    },
    "expected_game_script": {
      "favorite": "USA",
      "favorite_win_probability": 0.4716,
      "script": "USA is the fair winner side, but the baseline remains narrow: fair spread +0.47 goals and fair total 2.51.",
      "first_half": "Expect balanced tempo while both sides test the matchup thesis; shot baseline is about 11 first-half attempts.",
      "second_half": "If level after halftime, midfield control and bench quality should decide territory; BiH must keep the match inside one goal.",
      "late_game": "A USA lead likely shifts toward control and counters; if level after extra time, penalties are live; USA projects as the advancing side at 62.1% overall advancement probability with 27.1% draw pressure."
    },
    "key_matchup_thesis": "BiH chance creation leans on Kerim Alajbegović against Antonee Robinson in LM vs CB; USA projects to control midfield possession.",
    "expected_rotation_usage_behavior": [
      "USA: starters carry the main goal usage through Folarin Balogun; bench watchlist: Ricardo Pepi, Brenden Aaronson, Johnny Cardoso.",
      "BiH: starters carry the main goal usage through the highest xG attackers; bench watchlist: Ermin Mahmić, Haris Tabaković, Jovo Lukić.",
      "Assist usage should flow through Weston McKennie; late lineup changes should re-score these allocations."
    ],
    "pregame_play_by_play": [
      "0-15: USA tries to establish the projected edge; track possession and first-shot share.",
      "15-45: Baseline expects balanced tempo, about 11 total first-half shots, and 1.25 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 BiH is chasing, transition and set-piece volume become the primary live deviation signal; if level after extra time, penalties are live; USA projects as the advancing side at 62.1% overall advancement probability with 27.1% draw pressure."
    ],
    "invalidation_triggers": [
      "Early red card, injury, or goalkeeper change for USA.",
      "BiH 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": {
    "USA": {
      "formation": "3-4-2-1",
      "players": {
        "Matthew Freese": {
          "player_id": 973436,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 24,
          "height": 193,
          "market_value": 2100000,
          "stats": {
            "saves": 2,
            "goals_prevented": 0.0,
            "rating": 92.3948,
            "minutes": 88,
            "total_pass": 23,
            "accurate_pass": 14,
            "total_long_balls": 12,
            "accurate_long_balls": 4,
            "touches": 31,
            "clearances": 0,
            "ball_recovery": 7,
            "high_claims": 1,
            "punches": 0.0,
            "aerial_won": 0,
            "sweeper_actions": 2,
            "sweeper_accurate": 2,
            "saves_inside_box": 2,
            "possession_lost": 8.5858,
            "duels_won": 1,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "total_own_half_passes": 15,
            "accurate_own_half_passes": 13,
            "expected_saves": 1.23,
            "high_pressure_saves": 0.47,
            "shots_faced": 2.6,
            "opponent_faced": "Kerim Alajbegović, Esmir Bajraktarević",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 12,
                "duels_won": 1,
                "ball_recovery": 4,
                "saves": 2,
                "goals_prevented": 0.0947
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 12,
                "ball_recovery": 6,
                "goals_prevented": -0.5832
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15171578,
              "match_date": "2026-05-24",
              "home_team": "Nashville SC",
              "away_team": "New York City FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "New York City FC",
              "opponent": "Nashville SC",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 13,
                "ball_recovery": 7,
                "saves": 4,
                "goals_prevented": -1.4657
              },
              "has_player_stats": true,
              "league_name": "MLS",
              "league_id": "242",
              "league_slug": "mls",
              "league_country": "USA",
              "season_id": "86668",
              "season_name": "MLS 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15171562,
              "match_date": "2026-05-16",
              "home_team": "New York Red Bulls",
              "away_team": "New York City FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "New York City FC",
              "opponent": "New York Red Bulls",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 22,
                "duels_won": 1,
                "ball_recovery": 12,
                "saves": 4,
                "goals_prevented": 1.054
              },
              "has_player_stats": true,
              "league_name": "MLS",
              "league_id": "242",
              "league_slug": "mls",
              "league_country": "USA",
              "season_id": "86668",
              "season_name": "MLS 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 1025,
            "combined_rank_score": 165.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 81.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 6.3948,
            "source_file": "data/player_rankings.csv",
            "player_name": "Matthew Freese",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Benjamin Kuscevic",
                  "ranking": 1020
                },
                {
                  "player_name": "Josh Dasilva",
                  "ranking": 1021
                },
                {
                  "player_name": "Moisés",
                  "ranking": 1022
                },
                {
                  "player_name": "Benjamín Galdames",
                  "ranking": 1023
                },
                {
                  "player_name": "Roberto Meraz",
                  "ranking": 1024
                }
              ],
              "lower": [
                {
                  "player_name": "Lucas Moura",
                  "ranking": 1026
                },
                {
                  "player_name": "Oston Urunov",
                  "ranking": 1027
                },
                {
                  "player_name": "James McConnell",
                  "ranking": 1028
                },
                {
                  "player_name": "Nuraly Alip",
                  "ranking": 1029
                },
                {
                  "player_name": "Maksym Khlan",
                  "ranking": 1030
                }
              ]
            }
          }
        },
        "Folarin Balogun": {
          "player_id": 934237,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 20,
          "height": 179,
          "market_value": 36000000,
          "stats": {
            "expected_goals": 0.2082,
            "goal_rate": 0.0593,
            "goals": 1,
            "shots_on_target": 0,
            "expected_assists": 0.0283,
            "key_pass": 0,
            "rating": 84.4436,
            "minutes": 78,
            "total_shots": 2,
            "duels_won": 3,
            "aerial_won": 1,
            "total_pass": 13,
            "accurate_pass": 9,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 6,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 26,
            "possession_lost": 9.8478,
            "dispossessed": 1.0774,
            "duels_lost": 5,
            "aerial_lost": 3,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "assists": 0,
            "shots_off_target": 1,
            "interceptions": 1,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.9374,
            "offsides": 2,
            "ball_carries": 8,
            "total_progression": 26,
            "progressive_carries": 2,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.404,
            "pressing_faced": "LOW",
            "matchup_zone": "Shadow Striker vs CB + Mid Cover — Layered Defense",
            "numerical_situation": "1v2",
            "opponent_defenders": "Nikola Katić, Ivan Bašić",
            "opponent_faced": "Nikola Katić, Ivan Bašić",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.2628,
            "projected_assists": 0,
            "assist_probability": 0.0319,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 89,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.2182,
                "expected_assists": 0.0181,
                "total_shots": 2,
                "total_pass": 14,
                "accurate_pass": 9,
                "interceptions": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 72,
                "rating": 9.0,
                "goal_rate": 2.0,
                "goals": 2,
                "assists": 0,
                "expected_goals": 0.4688,
                "expected_assists": 0.0751,
                "total_shots": 5,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 10,
                "duels_won": 5
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14061905,
              "match_date": "2026-05-17",
              "home_team": "RC Strasbourg",
              "away_team": "AS Monaco",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "AS Monaco",
              "opponent": "RC Strasbourg",
              "stats": {
                "minutes": 76,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.2494,
                "expected_assists": 0.0364,
                "total_shots": 5,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 19,
                "accurate_pass": 15,
                "key_pass": 2,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Ligue 1",
              "league_id": "34",
              "league_slug": "ligue-1",
              "league_country": "France",
              "season_id": "77356",
              "season_name": "Ligue 1 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14064521,
              "match_date": "2026-05-10",
              "home_team": "AS Monaco",
              "away_team": "Lille",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "AS Monaco",
              "opponent": "Lille",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_goals": 0.1118,
                "expected_assists": 0.0048,
                "total_shots": 1,
                "total_pass": 11,
                "accurate_pass": 6,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Ligue 1",
              "league_id": "34",
              "league_slug": "ligue-1",
              "league_country": "France",
              "season_id": "77356",
              "season_name": "Ligue 1 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 41,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0072,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 6,
                "tackles": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 72,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.106,
                "expected_assists": 0.0124,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 65,
                "rating": 7.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.2334,
                "expected_assists": 0.002,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 9,
                "accurate_pass": 7,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 15946,
            "combined_rank_score": 929.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 318.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1540.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "projected_match_rating": 7.4436,
            "source_file": "data/player_rankings.csv",
            "player_name": "Folarin Balogun",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Milan Roganović",
                  "ranking": 15941
                },
                {
                  "player_name": "Giorgi Guliashvili",
                  "ranking": 15942
                },
                {
                  "player_name": "Or Blorian",
                  "ranking": 15943
                },
                {
                  "player_name": "Juan Angulo",
                  "ranking": 15944
                },
                {
                  "player_name": "Mattias Svanberg",
                  "ranking": 15945
                }
              ],
              "lower": [
                {
                  "player_name": "Oleg Reabciuk",
                  "ranking": 15947
                },
                {
                  "player_name": "Ethan Jolley",
                  "ranking": 15948
                },
                {
                  "player_name": "Giacomo Benvenuti",
                  "ranking": 15949
                },
                {
                  "player_name": "Matthis Abline",
                  "ranking": 15950
                },
                {
                  "player_name": "Hans Hateboer",
                  "ranking": 15951
                }
              ]
            }
          }
        },
        "Christian Pulišić": {
          "player_id": 817957,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 10,
          "height": 177,
          "market_value": 43000000,
          "stats": {
            "expected_goals": 0.1265,
            "goal_rate": 0.0022,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.2177,
            "key_pass": 1,
            "rating": 91.6409,
            "minutes": 95,
            "total_shots": 3,
            "duels_won": 5,
            "aerial_won": 1,
            "total_pass": 28,
            "accurate_pass": 21,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_opp_half_passes": 29,
            "accurate_opp_half_passes": 17,
            "crosses_total": 8,
            "crosses_accurate": 2,
            "touches": 55,
            "possession_lost": 21.4147,
            "dispossessed": 2.1774,
            "duels_lost": 7,
            "aerial_lost": 2,
            "total_contest": 4,
            "won_contest": 2,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "assists": 0,
            "shots_off_target": 1,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "opponent_faced": "Tarik Muharemović, Amar Dedić",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.1091,
            "projected_assists": 0,
            "assist_probability": 0.1882,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 32,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.5814,
                "expected_assists": 0.2754,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 12,
                "key_pass": 1,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 45,
                "rating": 7.6,
                "assists": 1,
                "expected_assists": 0.1225,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 18,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 7
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 13980071,
              "match_date": "2026-05-24",
              "home_team": "AC Milan",
              "away_team": "Cagliari",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "AC Milan",
              "opponent": "Cagliari",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.2174,
                "expected_assists": 0.0224,
                "total_shots": 3,
                "shots_off_target": 3,
                "total_pass": 19,
                "accurate_pass": 16,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13980068,
              "match_date": "2026-05-17",
              "home_team": "Genoa",
              "away_team": "AC Milan",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "AC Milan",
              "opponent": "Genoa",
              "stats": {
                "minutes": 14,
                "rating": 6.9,
                "assists": 1,
                "expected_goals": 0.3454,
                "expected_assists": 0.0527,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 7,
                "key_pass": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.2004,
                "expected_assists": 0.0158,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 24,
                "accurate_pass": 15,
                "tackles": 1,
                "interceptions": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.3444,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 9,
                "key_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 90,
                "rating": 8.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 1,
                "expected_goals": 0.2816,
                "expected_assists": 0.2224,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 39,
                "accurate_pass": 34,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 247,
            "combined_rank_score": 154.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 98.0,
            "sofascore_rating": 7.4333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 210.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 7.6409,
            "source_file": "data/player_rankings.csv",
            "player_name": "Christian Pulišić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marcos Antônio",
                  "ranking": 242
                },
                {
                  "player_name": "Germán Berterame",
                  "ranking": 243
                },
                {
                  "player_name": "Souza",
                  "ranking": 244
                },
                {
                  "player_name": "João Neves",
                  "ranking": 245
                },
                {
                  "player_name": "Dominik Szoboszlai",
                  "ranking": 246
                }
              ],
              "lower": [
                {
                  "player_name": "Matheus Cunha",
                  "ranking": 248
                },
                {
                  "player_name": "Ikram Alibaev",
                  "ranking": 249
                },
                {
                  "player_name": "Luis Sinisterra",
                  "ranking": 250
                },
                {
                  "player_name": "Min Junyeong",
                  "ranking": 251
                },
                {
                  "player_name": "Yann Sommer",
                  "ranking": 252
                }
              ]
            }
          }
        },
        "Weston McKennie": {
          "player_id": 881931,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 185,
          "market_value": 31000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.2249,
            "assists": 1,
            "expected_goals": 0.0777,
            "rating": 85.2316,
            "minutes": 94,
            "total_pass": 38,
            "accurate_pass": 31,
            "ball_recovery": 3,
            "duels_won": 3,
            "total_shots": 2,
            "total_long_balls": 2,
            "accurate_long_balls": 2,
            "total_own_half_passes": 10,
            "accurate_own_half_passes": 9,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 22,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 55,
            "possession_lost": 12.8097,
            "dispossessed": 1.7827,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 2,
            "interceptions": 2,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 3,
            "won_contest": 2,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 1,
            "big_chances_created": 1,
            "big_chances_missed": 1,
            "xgot": 0.0961,
            "ball_carries": 10,
            "total_progression": 33,
            "progressive_carries": 1,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.5,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.586,
            "pressing_faced": "LOW",
            "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
            "numerical_situation": "1v1",
            "opponent_defenders": "Ivan Bašić",
            "opponent_faced": "Ivan Bašić",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0696,
            "projected_assists": 1,
            "assist_probability": 0.3264,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 86,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.3084,
                "expected_assists": 0.1257,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 47,
                "accurate_pass": 41,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 89,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.2832,
                "expected_assists": 0.3612,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 29,
                "key_pass": 3,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 4,
                "clearances": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_assists": 0.3302,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 40,
                "key_pass": 3,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 13980077,
              "match_date": "2026-05-24",
              "home_team": "Torino",
              "away_team": "Juventus",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Juventus",
              "opponent": "Torino",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0268,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 22,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13980075,
              "match_date": "2026-05-17",
              "home_team": "Juventus",
              "away_team": "Fiorentina",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Juventus",
              "opponent": "Fiorentina",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0676,
                "expected_assists": 0.3556,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 41,
                "accurate_pass": 35,
                "key_pass": 3,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13980092,
              "match_date": "2026-05-09",
              "home_team": "Lecce",
              "away_team": "Juventus",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Juventus",
              "opponent": "Lecce",
              "stats": {
                "minutes": 86,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0681,
                "total_shots": 0,
                "total_pass": 50,
                "accurate_pass": 44,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0594,
                "expected_assists": 0.1373,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 26,
                "accurate_pass": 18,
                "key_pass": 1,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.0676,
                "expected_assists": 0.5474,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 12,
                "key_pass": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 78,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0929,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 22,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 15557,
            "combined_rank_score": 873.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 773.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 3.0,
            "fifa_rank": 973.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 7.2316,
            "source_file": "data/player_rankings.csv",
            "player_name": "Weston McKennie",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Abdulazizkhon Abdurashidov",
                  "ranking": 15552
                },
                {
                  "player_name": "Marcelo Suárez",
                  "ranking": 15553
                },
                {
                  "player_name": "Yunus Akgün",
                  "ranking": 15554
                },
                {
                  "player_name": "Patrick Berg",
                  "ranking": 15555
                },
                {
                  "player_name": "Marshall Munetsi",
                  "ranking": 15556
                }
              ],
              "lower": [
                {
                  "player_name": "Ariel Cáceres",
                  "ranking": 15558
                },
                {
                  "player_name": "Lee Kang In",
                  "ranking": 15559
                },
                {
                  "player_name": "Gabriel Paulista",
                  "ranking": 15560
                },
                {
                  "player_name": "Dennis Man",
                  "ranking": 15561
                },
                {
                  "player_name": "Yann Bisseck",
                  "ranking": 15562
                }
              ]
            }
          }
        },
        "Antonee Robinson": {
          "player_id": 803174,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 5,
          "height": 183,
          "market_value": 24000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "rating": 89.1904,
            "minutes": 95,
            "total_pass": 46,
            "accurate_pass": 36,
            "duels_won": 6,
            "total_long_balls": 5,
            "accurate_long_balls": 2,
            "total_own_half_passes": 21,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 27,
            "accurate_opp_half_passes": 20,
            "crosses_total": 4,
            "crosses_accurate": 1,
            "touches": 76,
            "possession_lost": 17.4077,
            "dispossessed": 1.0506,
            "duels_lost": 5,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 2,
            "ball_recovery": 6,
            "challenges_lost": 2,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 1.0506,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.2272,
            "expected_assists": 0.1156,
            "total_shots": 1,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "big_chances_created": 2,
            "xgot": 0.7984,
            "ball_carries": 24,
            "total_progression": 101,
            "progressive_carries": 3,
            "key_pass": 2,
            "tackles_in_zone": 2.1,
            "tackles_won_in_zone": 1.9,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.589,
            "opponent_faced": "Kerim Alajbegović",
            "pressing_zone": "LM vs CB",
            "matchup_zone": "LM vs CB",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.1522,
            "projected_assists": 0,
            "assist_probability": 0.1066,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 80,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0329,
                "total_shots": 0,
                "total_pass": 44,
                "accurate_pass": 39,
                "key_pass": 1,
                "tackles": 3,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0569,
                "total_shots": 0,
                "total_pass": 57,
                "accurate_pass": 44,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14023965,
              "match_date": "2026-05-24",
              "home_team": "Fulham",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_goals": 0.021,
                "expected_assists": 0.0979,
                "total_shots": 1,
                "total_pass": 43,
                "accurate_pass": 37,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 2,
                "clearances": 2,
                "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": 14023958,
              "match_date": "2026-05-17",
              "home_team": "Wolverhampton",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Wolverhampton",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.7884,
                "expected_assists": 0.1148,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 65,
                "accurate_pass": 56,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 4,
                "clearances": 5,
                "aerial_won": 3,
                "duels_won": 8,
                "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": 14023948,
              "match_date": "2026-05-09",
              "home_team": "Fulham",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0246,
                "expected_assists": 0.0155,
                "total_shots": 1,
                "total_pass": 49,
                "accurate_pass": 40,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 2,
                "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"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0127,
                "expected_assists": 0.0146,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 20,
                "accurate_pass": 14,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 1,
                "expected_assists": 0.024,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 90,
                "rating": 8.4,
                "assists": 0,
                "expected_goals": 0.0475,
                "expected_assists": 0.4533,
                "total_shots": 2,
                "total_pass": 49,
                "accurate_pass": 40,
                "key_pass": 5,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 3,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 8,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 1308,
            "combined_rank_score": 255.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 139.0,
            "sofascore_rating": 7.3,
            "sofascore_appearances": 3.0,
            "fifa_rank": 372.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "projected_match_rating": 7.1904,
            "source_file": "data/player_rankings.csv",
            "player_name": "Antonee Robinson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ibrahim Drešević",
                  "ranking": 1303
                },
                {
                  "player_name": "João Vasconcelos",
                  "ranking": 1304
                },
                {
                  "player_name": "Mathias Normann",
                  "ranking": 1305
                },
                {
                  "player_name": "Juan Berrocal",
                  "ranking": 1306
                },
                {
                  "player_name": "Serge Gnabry",
                  "ranking": 1307
                }
              ],
              "lower": [
                {
                  "player_name": "Sebastián Sáez",
                  "ranking": 1309
                },
                {
                  "player_name": "Aljoša Matko",
                  "ranking": 1310
                },
                {
                  "player_name": "Lazar Balević",
                  "ranking": 1311
                },
                {
                  "player_name": "El Mehdi Benabid",
                  "ranking": 1312
                },
                {
                  "player_name": "João Pedro Galvão",
                  "ranking": 1313
                }
              ]
            }
          }
        },
        "Malik Tillman": {
          "player_id": 975798,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 17,
          "height": 186,
          "market_value": 27000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0814,
            "assists": 0,
            "expected_goals": 0.0,
            "rating": 88.8845,
            "minutes": 36,
            "total_pass": 16,
            "accurate_pass": 13,
            "ball_recovery": 4,
            "duels_won": 3,
            "total_shots": 1,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 8,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 9,
            "crosses_total": 4,
            "crosses_accurate": 2,
            "touches": 27,
            "possession_lost": 9.5241,
            "dispossessed": 2.8255,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 2,
            "interceptions": 2,
            "tackles_won": 3,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 3,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 3,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 2,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 1,
            "xgot": 0.5185,
            "ball_carries": 7,
            "total_progression": 21,
            "progressive_carries": 1,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.8,
            "crosses_attempted": 2.7,
            "duel_win_rate": 0.473,
            "pressing_faced": "LOW",
            "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
            "numerical_situation": "1v1",
            "opponent_defenders": "Amar Dedić",
            "opponent_faced": "Amar Dedić",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0902,
            "projected_assists": 0,
            "assist_probability": 0.0963,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 13,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assists": 0,
                "expected_assists": 0.257,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 34,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 3,
                "clearances": 1,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 82,
                "rating": 7.3,
                "assists": 1,
                "expected_goals": 0.6461,
                "expected_assists": 0.2161,
                "total_shots": 5,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 38,
                "accurate_pass": 30,
                "key_pass": 3,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14065557,
              "match_date": "2026-05-16",
              "home_team": "Bayer 04 Leverkusen",
              "away_team": "Hamburger SV",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bayer 04 Leverkusen",
              "opponent": "Hamburger SV",
              "stats": {
                "minutes": 62,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.1337,
                "expected_assists": 0.4619,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 29,
                "accurate_pass": 22,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14065248,
              "match_date": "2026-05-09",
              "home_team": "VfB Stuttgart",
              "away_team": "Bayer 04 Leverkusen",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bayer 04 Leverkusen",
              "opponent": "VfB Stuttgart",
              "stats": {
                "minutes": 25,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.1082,
                "expected_assists": 0.0019,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 9,
                "accurate_pass": 8,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14065236,
              "match_date": "2026-05-02",
              "home_team": "Bayer 04 Leverkusen",
              "away_team": "RB Leipzig",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Bayer 04 Leverkusen",
              "opponent": "RB Leipzig",
              "stats": {
                "minutes": 10,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631372,
              "match_date": "2026-03-17",
              "home_team": "Arsenal",
              "away_team": "Bayer 04 Leverkusen",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bayer 04 Leverkusen",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 30,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0328,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 17,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631363,
              "match_date": "2026-03-11",
              "home_team": "Bayer 04 Leverkusen",
              "away_team": "Arsenal",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Bayer 04 Leverkusen",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 16,
                "rating": 5.8,
                "assists": 0,
                "expected_assists": 0.009,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 6,
                "clearances": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 8,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0891,
                "expected_assists": 0.0043,
                "total_shots": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "tackles": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 14322,
            "combined_rank_score": 595.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 856.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 1.0,
            "fifa_rank": 335.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 6.8845,
            "source_file": "data/player_rankings.csv",
            "player_name": "Malik Tillman",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Manuel Rivera",
                  "ranking": 14317
                },
                {
                  "player_name": "Dan Burn",
                  "ranking": 14318
                },
                {
                  "player_name": "Dwight McNeil",
                  "ranking": 14319
                },
                {
                  "player_name": "Firdavs Abdurakhmonov",
                  "ranking": 14320
                },
                {
                  "player_name": "Seul-chan Lee",
                  "ranking": 14321
                }
              ],
              "lower": [
                {
                  "player_name": "Yu Dong-Kyu",
                  "ranking": 14323
                },
                {
                  "player_name": "Sunnatillokh Khamidzhonov",
                  "ranking": 14324
                },
                {
                  "player_name": "Carles Gil",
                  "ranking": 14325
                },
                {
                  "player_name": "Berat Djimsiti",
                  "ranking": 14326
                },
                {
                  "player_name": "Mikel Jauregizar",
                  "ranking": 14327
                }
              ]
            }
          }
        },
        "Tyler Adams": {
          "player_id": 800419,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 4,
          "height": 175,
          "market_value": 26000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0695,
            "assists": 0,
            "expected_goals": 0.0,
            "rating": 86.292,
            "minutes": 77,
            "total_pass": 45,
            "accurate_pass": 38,
            "ball_recovery": 5,
            "duels_won": 5,
            "total_shots": 0,
            "total_long_balls": 5,
            "accurate_long_balls": 3,
            "total_own_half_passes": 21,
            "accurate_own_half_passes": 20,
            "total_opp_half_passes": 24,
            "accurate_opp_half_passes": 19,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 60,
            "possession_lost": 8.446,
            "dispossessed": 1.0558,
            "duels_lost": 4,
            "aerial_won": 2,
            "aerial_lost": 2,
            "interceptions": 2,
            "tackles_won": 2,
            "tackles": 3,
            "clearances": 3,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 2,
            "fouls_drawn": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 1,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 18,
            "total_progression": 38,
            "progressive_carries": 0,
            "opponent_faced": "Benjamin Tahirović",
            "matchup_zone": "Midfield lane",
            "antagonist_source": "midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0121,
            "projected_assists": 0,
            "assist_probability": 0.0916,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.227,
                "total_shots": 0,
                "total_pass": 68,
                "accurate_pass": 58,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 1,
                "interceptions": 4,
                "clearances": 2,
                "duels_won": 6,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.023,
                "total_shots": 0,
                "total_pass": 59,
                "accurate_pass": 52,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 9,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14023964,
              "match_date": "2026-05-24",
              "home_team": "Nottingham Forest",
              "away_team": "Bournemouth",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bournemouth",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0207,
                "expected_assists": 0.0243,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 61,
                "accurate_pass": 54,
                "tackles": 6,
                "tackles_won": 2,
                "interceptions": 2,
                "aerial_won": 3,
                "duels_won": 10,
                "ball_recovery": 9
              },
              "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": 14023936,
              "match_date": "2026-05-19",
              "home_team": "Bournemouth",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bournemouth",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0112,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 34,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 3,
                "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": 14023948,
              "match_date": "2026-05-09",
              "home_team": "Fulham",
              "away_team": "Bournemouth",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bournemouth",
              "opponent": "Fulham",
              "stats": {
                "minutes": 47,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0022,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 26,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 3,
                "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": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0139,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 24,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 11,
                "interceptions": 1,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 45,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0581,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 32,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 14835,
            "combined_rank_score": 720.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 617.0,
            "sofascore_rating": 6.7333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 824.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "projected_match_rating": 7.292,
            "source_file": "data/player_rankings.csv",
            "player_name": "Tyler Adams",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Dani Vivian",
                  "ranking": 14830
                },
                {
                  "player_name": "Łukasz Skorupski",
                  "ranking": 14831
                },
                {
                  "player_name": "Gonzalo Montiel",
                  "ranking": 14832
                },
                {
                  "player_name": "Youssef Enriquez",
                  "ranking": 14833
                },
                {
                  "player_name": "Aleksey Miranchuk",
                  "ranking": 14834
                }
              ],
              "lower": [
                {
                  "player_name": "Callum Wilson",
                  "ranking": 14836
                },
                {
                  "player_name": "Jonas Wind",
                  "ranking": 14837
                },
                {
                  "player_name": "Jeon Seong-jin",
                  "ranking": 14838
                },
                {
                  "player_name": "Joël Veltman",
                  "ranking": 14839
                },
                {
                  "player_name": "Merih Demiral",
                  "ranking": 14840
                }
              ]
            }
          }
        },
        "Sergiño Dest": {
          "player_id": 906021,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 173,
          "market_value": 17200000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 86.1161,
            "minutes": 58,
            "total_pass": 27,
            "accurate_pass": 24,
            "duels_won": 3,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 10,
            "accurate_own_half_passes": 9,
            "total_opp_half_passes": 17,
            "accurate_opp_half_passes": 15,
            "crosses_total": 2,
            "crosses_accurate": 2,
            "touches": 41,
            "possession_lost": 6.1848,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 3,
            "won_contest": 2,
            "ball_recovery": 5,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.1443,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 1,
            "xgot": 0.0,
            "ball_carries": 13,
            "total_progression": 51,
            "progressive_carries": 1,
            "key_pass": 1,
            "opponent_faced": "Nikola Katić, Tarik Muharemović",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0068,
            "projected_assists": 0,
            "assist_probability": 0.0789,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 14,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0253,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "key_pass": 1,
                "interceptions": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 80,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.1305,
                "expected_assists": 0.1518,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 24,
                "accurate_pass": 23,
                "key_pass": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 72,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.058,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 27,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14028530,
              "match_date": "2026-05-17",
              "home_team": "PSV Eindhoven",
              "away_team": "FC Twente",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "PSV Eindhoven",
              "opponent": "FC Twente",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.2128,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 35,
                "key_pass": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "VriendenLoterij Eredivisie",
              "league_id": "37",
              "league_slug": "eredivisie",
              "league_country": "Netherlands",
              "season_id": "77012",
              "season_name": "VriendenLoterij Eredivisie 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14028548,
              "match_date": "2026-05-10",
              "home_team": "Go Ahead Eagles",
              "away_team": "PSV Eindhoven",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "PSV Eindhoven",
              "opponent": "Go Ahead Eagles",
              "stats": {
                "minutes": 65,
                "rating": 7.0,
                "assists": 1,
                "expected_assists": 0.1768,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 32,
                "key_pass": 1,
                "tackles": 1,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "VriendenLoterij Eredivisie",
              "league_id": "37",
              "league_slug": "eredivisie",
              "league_country": "Netherlands",
              "season_id": "77012",
              "season_name": "VriendenLoterij Eredivisie 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 9058,
            "combined_rank_score": 437.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 767.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "starter",
            "projected_match_rating": 7.1161,
            "source_file": "data/player_rankings.csv",
            "player_name": "Sergiño Dest",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Agon Rexhaj",
                  "ranking": 9053
                },
                {
                  "player_name": "Mahmoud El-Badry",
                  "ranking": 9054
                },
                {
                  "player_name": "Franco Torgnascioli",
                  "ranking": 9055
                },
                {
                  "player_name": "Mohamed Hassan",
                  "ranking": 9056
                },
                {
                  "player_name": "Segerso Geci",
                  "ranking": 9057
                }
              ],
              "lower": [
                {
                  "player_name": "Filip Samurović",
                  "ranking": 9059
                },
                {
                  "player_name": "Jefferson Alphonse",
                  "ranking": 9060
                },
                {
                  "player_name": "Barrie McKay",
                  "ranking": 9061
                },
                {
                  "player_name": "Alexandros Tereziou",
                  "ranking": 9062
                },
                {
                  "player_name": "Juan Delgado",
                  "ranking": 9063
                }
              ]
            }
          }
        },
        "Chris Richards": {
          "player_id": 931844,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 3,
          "height": 188,
          "market_value": 25000000,
          "stats": {
            "interceptions": 0,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 3,
            "rating": 84.2141,
            "minutes": 87,
            "total_pass": 57,
            "accurate_pass": 51,
            "duels_won": 6,
            "total_long_balls": 6,
            "accurate_long_balls": 3,
            "total_own_half_passes": 38,
            "accurate_own_half_passes": 37,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 16,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 69,
            "possession_lost": 8.573,
            "dispossessed": 1.0532,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.291,
            "expected_assists": 0.0421,
            "total_shots": 1,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.674,
            "ball_carries": 24,
            "total_progression": 58,
            "progressive_carries": 1,
            "key_pass": 0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.2,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Edin Džeko",
            "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.1035,
            "projected_assists": 0,
            "assist_probability": 0.0222,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_assists": 0.012,
                "total_shots": 0,
                "total_pass": 95,
                "accurate_pass": 91,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 7,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.0422,
                "expected_assists": 0.0113,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 84,
                "accurate_pass": 84,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14023953,
              "match_date": "2026-05-17",
              "home_team": "Brentford",
              "away_team": "Crystal Palace",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Crystal Palace",
              "opponent": "Brentford",
              "stats": {
                "minutes": 29,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 4,
                "clearances": 2,
                "aerial_won": 2,
                "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": 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": 5.7,
                "assists": 0,
                "expected_goals": 0.1829,
                "expected_assists": 0.0007,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 25,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 6,
                "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": 14023937,
              "match_date": "2026-05-10",
              "home_team": "Crystal Palace",
              "away_team": "Everton",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Crystal Palace",
              "opponent": "Everton",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.4259,
                "expected_assists": 0.0989,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 65,
                "accurate_pass": 57,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 9,
                "aerial_won": 11,
                "duels_won": 12,
                "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": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.1462,
                "total_shots": 0,
                "total_pass": 44,
                "accurate_pass": 37,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.2641,
                "expected_assists": 0.0033,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 26,
                "accurate_pass": 20,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0054,
                "total_shots": 0,
                "total_pass": 76,
                "accurate_pass": 67,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 16014,
            "combined_rank_score": 943.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 318.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1568.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "projected_match_rating": 7.2141,
            "source_file": "data/player_rankings.csv",
            "player_name": "Chris Richards",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Kyle Clinton",
                  "ranking": 16009
                },
                {
                  "player_name": "Yuri Kovalev",
                  "ranking": 16010
                },
                {
                  "player_name": "Jermein Peña",
                  "ranking": 16011
                },
                {
                  "player_name": "Kenny Lala",
                  "ranking": 16012
                },
                {
                  "player_name": "Santiago Castro",
                  "ranking": 16013
                }
              ],
              "lower": [
                {
                  "player_name": "Mikel Goti",
                  "ranking": 16015
                },
                {
                  "player_name": "Senne Lynen",
                  "ranking": 16016
                },
                {
                  "player_name": "João Moutinho",
                  "ranking": 16017
                },
                {
                  "player_name": "Alejandro Garnacho",
                  "ranking": 16018
                },
                {
                  "player_name": "Salim Mustafoev",
                  "ranking": 16019
                }
              ]
            }
          }
        },
        "Tim Ream": {
          "player_id": 118179,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 13,
          "height": 185,
          "market_value": 145000,
          "stats": {
            "interceptions": 1,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 3,
            "aerial_won": 1,
            "rating": 78.7681,
            "minutes": 87,
            "total_pass": 56,
            "accurate_pass": 49,
            "duels_won": 3,
            "total_long_balls": 8,
            "accurate_long_balls": 4,
            "total_own_half_passes": 34,
            "accurate_own_half_passes": 32,
            "total_opp_half_passes": 22,
            "accurate_opp_half_passes": 17,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 64,
            "possession_lost": 7.1924,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0098,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 24,
            "total_progression": 79,
            "progressive_carries": 1,
            "key_pass": 0,
            "opponent_faced": "Sead Kolašinac",
            "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0136,
            "projected_assists": 0,
            "assist_probability": 0.011,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0102,
                "total_shots": 0,
                "total_pass": 76,
                "accurate_pass": 68,
                "interceptions": 2,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assists": 0,
                "expected_assists": 0.0265,
                "total_shots": 0,
                "total_pass": 90,
                "accurate_pass": 84,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15171569,
              "match_date": "2026-05-23",
              "home_team": "Charlotte FC",
              "away_team": "New England Revolution",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Charlotte FC",
              "opponent": "New England Revolution",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0074,
                "total_shots": 0,
                "total_pass": 50,
                "accurate_pass": 44,
                "tackles": 1,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "MLS",
              "league_id": "242",
              "league_slug": "mls",
              "league_country": "USA",
              "season_id": "86668",
              "season_name": "MLS 2026",
              "season_year": "2026"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 89,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0107,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 38,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 4,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 86,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 10,
                "clearances": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0167,
                "total_shots": 0,
                "total_pass": 67,
                "accurate_pass": 56,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 17875,
            "combined_rank_score": 2356.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 456.0,
            "sofascore_rating": 6.8667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 4257.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "starter",
            "projected_match_rating": 6.7681,
            "source_file": "data/player_rankings.csv",
            "player_name": "Tim Ream",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Calvin Verdonk",
                  "ranking": 17870
                },
                {
                  "player_name": "Flávio",
                  "ranking": 17871
                },
                {
                  "player_name": "Facundo Mura",
                  "ranking": 17872
                },
                {
                  "player_name": "Marko Stamenić",
                  "ranking": 17873
                },
                {
                  "player_name": "Christian Benteke",
                  "ranking": 17874
                }
              ],
              "lower": [
                {
                  "player_name": "Andrej Ilić",
                  "ranking": 17876
                },
                {
                  "player_name": "David Schnegg",
                  "ranking": 17877
                },
                {
                  "player_name": "Giuseppe Pezzella",
                  "ranking": 17878
                },
                {
                  "player_name": "Olivier Deman",
                  "ranking": 17879
                },
                {
                  "player_name": "Seung-Won Jeong",
                  "ranking": 17880
                }
              ]
            }
          }
        },
        "Alexander Freeman": {
          "player_id": 1184541,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 16,
          "height": 188,
          "market_value": 3200000,
          "stats": {
            "interceptions": 0,
            "tackles": 3,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 2,
            "rating": 85.6773,
            "minutes": 69,
            "total_pass": 54,
            "accurate_pass": 47,
            "duels_won": 7,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 25,
            "accurate_own_half_passes": 23,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 25,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 74,
            "possession_lost": 8.8378,
            "dispossessed": 0.982,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 2,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.982,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.4012,
            "expected_assists": 0.0196,
            "total_shots": 0,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.9231,
            "ball_carries": 14,
            "total_progression": 62,
            "progressive_carries": 0,
            "key_pass": 1,
            "opponent_faced": "Esmir Bajraktarević",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.18,
            "projected_assists": 0,
            "assist_probability": 0.0468,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 13,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 5,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.337,
                "expected_assists": 0.0306,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 65,
                "accurate_pass": 59,
                "key_pass": 1,
                "tackles": 4,
                "interceptions": 2,
                "clearances": 5,
                "aerial_won": 4,
                "duels_won": 10,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 1,
                "expected_assists": 0.0353,
                "total_shots": 0,
                "total_pass": 74,
                "accurate_pass": 64,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 6,
                "duels_won": 9,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14083644,
              "match_date": "2026-05-13",
              "home_team": "Villarreal",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Villarreal",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0261,
                "total_shots": 0,
                "total_pass": 72,
                "accurate_pass": 65,
                "tackles": 5,
                "tackles_won": 4,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 14008,
            "combined_rank_score": 715.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 502.0,
            "sofascore_rating": 6.8222,
            "sofascore_appearances": 9.0,
            "fifa_rank": 929.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "starter",
            "projected_match_rating": 6.6773,
            "source_file": "data/player_rankings.csv",
            "player_name": "Alexander Freeman",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ga-on Baek",
                  "ranking": 14003
                },
                {
                  "player_name": "Nuno Santos",
                  "ranking": 14004
                },
                {
                  "player_name": "Callum McGregor",
                  "ranking": 14005
                },
                {
                  "player_name": "Gayà",
                  "ranking": 14006
                },
                {
                  "player_name": "Wesley Fofana",
                  "ranking": 14007
                }
              ],
              "lower": [
                {
                  "player_name": "Chris Smalling",
                  "ranking": 14009
                },
                {
                  "player_name": "Stefan Posch",
                  "ranking": 14010
                },
                {
                  "player_name": "Diego Llorente",
                  "ranking": 14011
                },
                {
                  "player_name": "Rafael Caroca",
                  "ranking": 14012
                },
                {
                  "player_name": "Lionel Altamirano",
                  "ranking": 14013
                }
              ]
            }
          }
        }
      },
      "bench_players": {
        "Matt Turner": {
          "player_id": 833943,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 1,
          "height": 190,
          "market_value": 2600000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.0231,
            "rating": 80.5821,
            "minutes": 4,
            "total_pass": 1,
            "accurate_pass": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0479,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.5186,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 18,
                "clearances": 1,
                "ball_recovery": 11,
                "goals_prevented": -0.6798
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15171569,
              "match_date": "2026-05-23",
              "home_team": "Charlotte FC",
              "away_team": "New England Revolution",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "New England Revolution",
              "opponent": "Charlotte FC",
              "stats": {
                "minutes": 90,
                "rating": 8.6,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 16,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 6,
                "saves": 5,
                "goals_prevented": 0.9109
              },
              "has_player_stats": true,
              "league_name": "MLS",
              "league_id": "242",
              "league_slug": "mls",
              "league_country": "USA",
              "season_id": "86668",
              "season_name": "MLS 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15171561,
              "match_date": "2026-05-16",
              "home_team": "New England Revolution",
              "away_team": "Minnesota United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "New England Revolution",
              "opponent": "Minnesota United",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "assists": 0,
                "expected_assists": 0.0008,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 21,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 9,
                "saves": 5,
                "goals_prevented": 1.2018
              },
              "has_player_stats": true,
              "league_name": "MLS",
              "league_id": "242",
              "league_slug": "mls",
              "league_country": "USA",
              "season_id": "86668",
              "season_name": "MLS 2026",
              "season_year": "2026"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 22,
                "clearances": 2,
                "ball_recovery": 8,
                "saves": 4,
                "goals_prevented": 0.3494
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 4,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 4,
                "goals_prevented": -0.6283
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 14,
                "ball_recovery": 6,
                "saves": 3,
                "goals_prevented": 0.2147
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 17038,
            "combined_rank_score": 1662.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 617.0,
            "sofascore_rating": 6.7333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 2707.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "projected_match_rating": 6.5821,
            "source_file": "data/player_rankings.csv",
            "player_name": "Matt Turner",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Joe Lolley",
                  "ranking": 17033
                },
                {
                  "player_name": "Joël Monteiro",
                  "ranking": 17034
                },
                {
                  "player_name": "Agustín Almendra",
                  "ranking": 17035
                },
                {
                  "player_name": "Santiago González",
                  "ranking": 17036
                },
                {
                  "player_name": "Carlos Zambrano",
                  "ranking": 17037
                }
              ],
              "lower": [
                {
                  "player_name": "Tomás Belmonte",
                  "ranking": 17039
                },
                {
                  "player_name": "Antonio Blanco",
                  "ranking": 17040
                },
                {
                  "player_name": "Andreas Schjelderup",
                  "ranking": 17041
                },
                {
                  "player_name": "Julian Gressel",
                  "ranking": 17042
                },
                {
                  "player_name": "Ivan Schranz",
                  "ranking": 17043
                }
              ]
            }
          }
        },
        "Cameron Carter-Vickers": {
          "player_id": 795972,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 2,
          "height": 185,
          "market_value": 9600000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 85.5767,
            "minutes": 14,
            "total_pass": 1,
            "accurate_pass": 0,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 1,
            "possession_lost": 0.1552,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.313,
            "bench_expected_minutes": 13.89,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 15858,
            "combined_rank_score": 918.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 902.0,
            "sofascore_rating": 6.4,
            "sofascore_appearances": 1.0,
            "fifa_rank": 935.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "projected_match_rating": 6.5767,
            "source_file": "data/player_rankings.csv",
            "player_name": "Cameron Carter-Vickers",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Santiago Ascacíbar",
                  "ranking": 15853
                },
                {
                  "player_name": "Mukhammadali Musakhonov",
                  "ranking": 15854
                },
                {
                  "player_name": "Alessio Hasler",
                  "ranking": 15855
                },
                {
                  "player_name": "Rodrigo Godoy",
                  "ranking": 15856
                },
                {
                  "player_name": "Filippo Berardi",
                  "ranking": 15857
                }
              ],
              "lower": [
                {
                  "player_name": "Matteo Valli Casadei",
                  "ranking": 15859
                },
                {
                  "player_name": "Artur Crăciun",
                  "ranking": 15860
                },
                {
                  "player_name": "Sardorbek Erkinov",
                  "ranking": 15861
                },
                {
                  "player_name": "Shokhrukh Isokov",
                  "ranking": 15862
                },
                {
                  "player_name": "Filippo Fabbri",
                  "ranking": 15863
                }
              ]
            }
          }
        },
        "Mark McKenzie": {
          "player_id": 922759,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 183,
          "market_value": 7300000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "rating": 80.6601,
            "minutes": 14,
            "total_pass": 7,
            "accurate_pass": 7,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 1.1711,
            "dispossessed": 0.9971,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0046,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 2,
            "total_progression": 4,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.308,
            "bench_expected_minutes": 13.78,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0082,
                "total_shots": 0,
                "total_pass": 58,
                "accurate_pass": 50,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14064515,
              "match_date": "2026-05-10",
              "home_team": "Toulouse",
              "away_team": "Olympique Lyonnais",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Toulouse",
              "opponent": "Olympique Lyonnais",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0053,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 30,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 8,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Ligue 1",
              "league_id": "34",
              "league_slug": "ligue-1",
              "league_country": "France",
              "season_id": "77356",
              "season_name": "Ligue 1 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14167988,
              "match_date": "2026-05-03",
              "home_team": "RC Strasbourg",
              "away_team": "Toulouse",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Toulouse",
              "opponent": "RC Strasbourg",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0668,
                "total_shots": 0,
                "total_pass": 53,
                "accurate_pass": 51,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Ligue 1",
              "league_id": "34",
              "league_slug": "ligue-1",
              "league_country": "France",
              "season_id": "77356",
              "season_name": "Ligue 1 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 16841,
            "combined_rank_score": 1518.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 2838.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 6.6601,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mark McKenzie",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Fernando Zampedri",
                  "ranking": 16836
                },
                {
                  "player_name": "Matías Rojas",
                  "ranking": 16837
                },
                {
                  "player_name": "Ali Sowe",
                  "ranking": 16838
                },
                {
                  "player_name": "Joaquin Pereyra",
                  "ranking": 16839
                },
                {
                  "player_name": "Dakonam Djené",
                  "ranking": 16840
                }
              ],
              "lower": [
                {
                  "player_name": "Zuriko Davitashvili",
                  "ranking": 16842
                },
                {
                  "player_name": "Martín Campaña",
                  "ranking": 16843
                },
                {
                  "player_name": "Matías Kranevitter",
                  "ranking": 16844
                },
                {
                  "player_name": "Martín Cauteruccio",
                  "ranking": 16845
                },
                {
                  "player_name": "Wesley Saïd",
                  "ranking": 16846
                }
              ]
            }
          }
        },
        "Johnny Cardoso": {
          "player_id": 990169,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 186,
          "market_value": 21000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0049,
            "assists": 0,
            "expected_goals": 0.0,
            "rating": 88.081,
            "minutes": 23,
            "total_pass": 7,
            "accurate_pass": 6,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 1.7409,
            "dispossessed": 1.5633,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 2,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 2,
            "fouls": 0,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 4,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.535,
            "bench_expected_minutes": 22.78,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 15632635,
              "match_date": "2026-05-05",
              "home_team": "Arsenal",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 33,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0035,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 10,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15632633,
              "match_date": "2026-04-29",
              "home_team": "Atlético Madrid",
              "away_team": "Arsenal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 88,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0416,
                "expected_assists": 0.0169,
                "total_shots": 1,
                "total_pass": 49,
                "accurate_pass": 42,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15632089,
              "match_date": "2026-04-14",
              "home_team": "Atlético Madrid",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 10,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0007,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631370,
              "match_date": "2026-03-18",
              "home_team": "Tottenham Hotspur",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0114,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 38,
                "tackles": 5,
                "tackles_won": 4,
                "clearances": 1,
                "duels_won": 9,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631356,
              "match_date": "2026-03-10",
              "home_team": "Atlético Madrid",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.034,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 47,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 45,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0029,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 6,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 24,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0085,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 17,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 10210,
            "combined_rank_score": 465.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.8778,
            "sofascore_appearances": 10.0,
            "fifa_rank": 485.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 7.081,
            "source_file": "data/player_rankings.csv",
            "player_name": "Johnny Cardoso",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Denis Zakaria",
                  "ranking": 10205
                },
                {
                  "player_name": "Gerónimo Patritti",
                  "ranking": 10206
                },
                {
                  "player_name": "Sander Berge",
                  "ranking": 10207
                },
                {
                  "player_name": "Alexis Saelemaekers",
                  "ranking": 10208
                },
                {
                  "player_name": "Rui Silva",
                  "ranking": 10209
                }
              ],
              "lower": [
                {
                  "player_name": "Omar Carabalí",
                  "ranking": 10211
                },
                {
                  "player_name": "Mauro Goicoechea",
                  "ranking": 10212
                },
                {
                  "player_name": "Ahmed Nader El Sayed",
                  "ranking": 10213
                },
                {
                  "player_name": "Néstor Camacho",
                  "ranking": 10214
                },
                {
                  "player_name": "Jesús Alfaro",
                  "ranking": 10215
                }
              ]
            }
          }
        },
        "Yunus Musah": {
          "player_id": 983815,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 6,
          "height": 178,
          "market_value": 18600000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0082,
            "assists": 0,
            "expected_goals": 0.0,
            "rating": 80.7514,
            "minutes": 23,
            "total_pass": 6,
            "accurate_pass": 5,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 8,
            "possession_lost": 1.2001,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0626,
            "ball_carries": 3,
            "total_progression": 18,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.531,
            "bench_expected_minutes": 22.68,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 13980080,
              "match_date": "2026-05-22",
              "home_team": "Fiorentina",
              "away_team": "Atalanta",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atalanta",
              "opponent": "Fiorentina",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0427,
                "expected_assists": 0.0589,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 57,
                "accurate_pass": 50,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13980058,
              "match_date": "2026-05-17",
              "home_team": "Atalanta",
              "away_team": "Bologna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atalanta",
              "opponent": "Bologna",
              "stats": {
                "minutes": 27,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0044,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 8,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631361,
              "match_date": "2026-03-10",
              "home_team": "Atalanta",
              "away_team": "FC Bayern München",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atalanta",
              "opponent": "FC Bayern München",
              "stats": {
                "minutes": 35,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0537,
                "expected_assists": 0.0044,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 11,
                "accurate_pass": 11,
                "key_pass": 1,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 72,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0013,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 10,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0093,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 25,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 16904,
            "combined_rank_score": 1576.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 773.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 2.0,
            "fifa_rank": 2379.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 6.7514,
            "source_file": "data/player_rankings.csv",
            "player_name": "Yunus Musah",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Barnabás Varga",
                  "ranking": 16899
                },
                {
                  "player_name": "Rick Van Drongelen",
                  "ranking": 16900
                },
                {
                  "player_name": "Marco Di Cesare",
                  "ranking": 16901
                },
                {
                  "player_name": "Williot Swedberg",
                  "ranking": 16902
                },
                {
                  "player_name": "Leandro González Pírez",
                  "ranking": 16903
                }
              ],
              "lower": [
                {
                  "player_name": "Francisco Álvarez",
                  "ranking": 16905
                },
                {
                  "player_name": "Zlatko Tripić",
                  "ranking": 16906
                },
                {
                  "player_name": "Fisayo Dele-Bashiru",
                  "ranking": 16907
                },
                {
                  "player_name": "Tjaronn Chery",
                  "ranking": 16908
                },
                {
                  "player_name": "Diego Coppola",
                  "ranking": 16909
                }
              ]
            }
          }
        },
        "Ricardo Pepi": {
          "player_id": 986395,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 185,
          "market_value": 31000000,
          "stats": {
            "expected_goals": 0.1303,
            "goal_rate": 0.0001,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0156,
            "key_pass": 0,
            "rating": 82.8826,
            "minutes": 26,
            "total_shots": 1,
            "duels_won": 1,
            "aerial_won": 1,
            "total_pass": 4,
            "accurate_pass": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 7,
            "possession_lost": 1.4891,
            "dispossessed": 1.4197,
            "duels_lost": 1,
            "aerial_lost": 3,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.2602,
            "offsides": 2,
            "ball_carries": 2,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.61,
            "bench_expected_minutes": 26.43,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_goals": 0.1986,
                "expected_assists": 0.0118,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 12,
                "key_pass": 1,
                "aerial_won": 2,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 74,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.1108,
                "expected_assists": 0.0192,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 11,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 18,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.1147,
                "expected_assists": 0.0829,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 3,
                "accurate_pass": 3,
                "key_pass": 1,
                "tackles": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14028530,
              "match_date": "2026-05-17",
              "home_team": "PSV Eindhoven",
              "away_team": "FC Twente",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "PSV Eindhoven",
              "opponent": "FC Twente",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 1.1429,
                "expected_assists": 0.1899,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 18,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "VriendenLoterij Eredivisie",
              "league_id": "37",
              "league_slug": "eredivisie",
              "league_country": "Netherlands",
              "season_id": "77012",
              "season_name": "VriendenLoterij Eredivisie 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14028548,
              "match_date": "2026-05-10",
              "home_team": "Go Ahead Eagles",
              "away_team": "PSV Eindhoven",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "PSV Eindhoven",
              "opponent": "Go Ahead Eagles",
              "stats": {
                "minutes": 86,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.5485,
                "expected_assists": 0.0302,
                "total_shots": 5,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "total_pass": 14,
                "accurate_pass": 13,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "VriendenLoterij Eredivisie",
              "league_id": "37",
              "league_slug": "eredivisie",
              "league_country": "Netherlands",
              "season_id": "77012",
              "season_name": "VriendenLoterij Eredivisie 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 49,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0801,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 15,
                "key_pass": 2,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 18,
                "rating": 6.0,
                "assists": 0,
                "expected_goals": 0.6466,
                "expected_assists": 0.0009,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 3,
                "accurate_pass": 3,
                "interceptions": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 25,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 1.6239,
                "expected_assists": 0.0183,
                "total_shots": 6,
                "shots_on_target": 4,
                "shots_off_target": 1,
                "total_pass": 9,
                "accurate_pass": 8,
                "key_pass": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 16632,
            "combined_rank_score": 1359.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 916.0,
            "sofascore_rating": 6.3333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1802.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "substitute",
            "projected_match_rating": 6.8826,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ricardo Pepi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Glen Kamara",
                  "ranking": 16627
                },
                {
                  "player_name": "Marco Grüll",
                  "ranking": 16628
                },
                {
                  "player_name": "Vítor Carvalho",
                  "ranking": 16629
                },
                {
                  "player_name": "James Justin",
                  "ranking": 16630
                },
                {
                  "player_name": "Allahyar Sayyadmanesh",
                  "ranking": 16631
                }
              ],
              "lower": [
                {
                  "player_name": "Qazim Laci",
                  "ranking": 16633
                },
                {
                  "player_name": "Kerim Mrabti",
                  "ranking": 16634
                },
                {
                  "player_name": "Dániel Gazdag",
                  "ranking": 16635
                },
                {
                  "player_name": "Johann Lepenant",
                  "ranking": 16636
                },
                {
                  "player_name": "Greg Taylor",
                  "ranking": 16637
                }
              ]
            }
          }
        },
        "Brenden Aaronson": {
          "player_id": 973431,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 178,
          "market_value": 23000000,
          "stats": {
            "expected_goals": 0.0257,
            "goal_rate": 0.0001,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0418,
            "key_pass": 0,
            "rating": 80.9033,
            "minutes": 26,
            "total_shots": 0,
            "duels_won": 1,
            "aerial_won": 0,
            "total_pass": 4,
            "accurate_pass": 4,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 2.4377,
            "dispossessed": 3.4894,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 3,
            "fouls": 1,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0366,
            "offsides": 0,
            "ball_carries": 3,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.599,
            "bench_expected_minutes": 26.17,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 77,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.5414,
                "expected_assists": 0.2658,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 21,
                "key_pass": 2,
                "tackles": 4,
                "tackles_won": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14023968,
              "match_date": "2026-05-24",
              "home_team": "West Ham United",
              "away_team": "Leeds United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Leeds United",
              "opponent": "West Ham United",
              "stats": {
                "minutes": 89,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.2849,
                "expected_assists": 0.2922,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 26,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "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": 14023954,
              "match_date": "2026-05-17",
              "home_team": "Leeds United",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Leeds United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 60,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0158,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 11,
                "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": 14023944,
              "match_date": "2026-05-11",
              "home_team": "Tottenham Hotspur",
              "away_team": "Leeds United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Leeds United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 63,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.1544,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "key_pass": 1,
                "tackles": 2,
                "tackles_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"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 9,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 17080,
            "combined_rank_score": 1705.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 856.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 1.0,
            "fifa_rank": 2554.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "substitute",
            "projected_match_rating": 6.9033,
            "source_file": "data/player_rankings.csv",
            "player_name": "Brenden Aaronson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Leonardo Bittencourt",
                  "ranking": 17075
                },
                {
                  "player_name": "Matias Galarza",
                  "ranking": 17076
                },
                {
                  "player_name": "Vitaliy Buyalskyi",
                  "ranking": 17077
                },
                {
                  "player_name": "Himad Abdelli",
                  "ranking": 17078
                },
                {
                  "player_name": "Ben Brereton Díaz",
                  "ranking": 17079
                }
              ],
              "lower": [
                {
                  "player_name": "Dereck Kutesa",
                  "ranking": 17081
                },
                {
                  "player_name": "Fayçal Fajr",
                  "ranking": 17082
                },
                {
                  "player_name": "Pantelis Hatzidiakos",
                  "ranking": 17083
                },
                {
                  "player_name": "Jonathan Rodríguez",
                  "ranking": 17084
                },
                {
                  "player_name": "Michael Kayode",
                  "ranking": 17085
                }
              ]
            }
          }
        }
      },
      "substitutes": {
        "Ricardo Pepi": {
          "player_id": 986395,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 185,
          "market_value": 31000000,
          "stats": {
            "expected_goals": 0.1303,
            "goal_rate": 0.0001,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0156,
            "key_pass": 0,
            "rating": 82.8826,
            "minutes": 26,
            "total_shots": 1,
            "duels_won": 1,
            "aerial_won": 1,
            "total_pass": 4,
            "accurate_pass": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 7,
            "possession_lost": 1.4891,
            "dispossessed": 1.4197,
            "duels_lost": 1,
            "aerial_lost": 3,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.2602,
            "offsides": 2,
            "ball_carries": 2,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.61,
            "bench_expected_minutes": 26.43,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_goals": 0.1986,
                "expected_assists": 0.0118,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 12,
                "key_pass": 1,
                "aerial_won": 2,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186878,
              "match_date": "2026-06-19",
              "home_team": "USA",
              "away_team": "Australia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Australia",
              "stats": {
                "minutes": 74,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.1108,
                "expected_assists": 0.0192,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 11,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186873,
              "match_date": "2026-06-13",
              "home_team": "USA",
              "away_team": "Paraguay",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Paraguay",
              "stats": {
                "minutes": 18,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.1147,
                "expected_assists": 0.0829,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 3,
                "accurate_pass": 3,
                "key_pass": 1,
                "tackles": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14028530,
              "match_date": "2026-05-17",
              "home_team": "PSV Eindhoven",
              "away_team": "FC Twente",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "PSV Eindhoven",
              "opponent": "FC Twente",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 1.1429,
                "expected_assists": 0.1899,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 18,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "VriendenLoterij Eredivisie",
              "league_id": "37",
              "league_slug": "eredivisie",
              "league_country": "Netherlands",
              "season_id": "77012",
              "season_name": "VriendenLoterij Eredivisie 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14028548,
              "match_date": "2026-05-10",
              "home_team": "Go Ahead Eagles",
              "away_team": "PSV Eindhoven",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "PSV Eindhoven",
              "opponent": "Go Ahead Eagles",
              "stats": {
                "minutes": 86,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.5485,
                "expected_assists": 0.0302,
                "total_shots": 5,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "total_pass": 14,
                "accurate_pass": 13,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "VriendenLoterij Eredivisie",
              "league_id": "37",
              "league_slug": "eredivisie",
              "league_country": "Netherlands",
              "season_id": "77012",
              "season_name": "VriendenLoterij Eredivisie 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886376,
              "match_date": "2024-07-02",
              "home_team": "USA",
              "away_team": "Uruguay",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Uruguay",
              "stats": {
                "minutes": 49,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0801,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 15,
                "key_pass": 2,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 18,
                "rating": 6.0,
                "assists": 0,
                "expected_goals": 0.6466,
                "expected_assists": 0.0009,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 3,
                "accurate_pass": 3,
                "interceptions": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 25,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 1.6239,
                "expected_assists": 0.0183,
                "total_shots": 6,
                "shots_on_target": 4,
                "shots_off_target": 1,
                "total_pass": 9,
                "accurate_pass": 8,
                "key_pass": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 16632,
            "combined_rank_score": 1359.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 916.0,
            "sofascore_rating": 6.3333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1802.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "substitute",
            "projected_match_rating": 6.8826,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ricardo Pepi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Glen Kamara",
                  "ranking": 16627
                },
                {
                  "player_name": "Marco Grüll",
                  "ranking": 16628
                },
                {
                  "player_name": "Vítor Carvalho",
                  "ranking": 16629
                },
                {
                  "player_name": "James Justin",
                  "ranking": 16630
                },
                {
                  "player_name": "Allahyar Sayyadmanesh",
                  "ranking": 16631
                }
              ],
              "lower": [
                {
                  "player_name": "Qazim Laci",
                  "ranking": 16633
                },
                {
                  "player_name": "Kerim Mrabti",
                  "ranking": 16634
                },
                {
                  "player_name": "Dániel Gazdag",
                  "ranking": 16635
                },
                {
                  "player_name": "Johann Lepenant",
                  "ranking": 16636
                },
                {
                  "player_name": "Greg Taylor",
                  "ranking": 16637
                }
              ]
            }
          }
        },
        "Brenden Aaronson": {
          "player_id": 973431,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 178,
          "market_value": 23000000,
          "stats": {
            "expected_goals": 0.0257,
            "goal_rate": 0.0001,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0418,
            "key_pass": 0,
            "rating": 80.9033,
            "minutes": 26,
            "total_shots": 0,
            "duels_won": 1,
            "aerial_won": 0,
            "total_pass": 4,
            "accurate_pass": 4,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 2.4377,
            "dispossessed": 3.4894,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 3,
            "fouls": 1,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0366,
            "offsides": 0,
            "ball_carries": 3,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.599,
            "bench_expected_minutes": 26.17,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 15186887,
              "match_date": "2026-06-26",
              "home_team": "Türkiye",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "USA",
              "opponent": "Türkiye",
              "stats": {
                "minutes": 77,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.5414,
                "expected_assists": 0.2658,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 21,
                "key_pass": 2,
                "tackles": 4,
                "tackles_won": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14023968,
              "match_date": "2026-05-24",
              "home_team": "West Ham United",
              "away_team": "Leeds United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Leeds United",
              "opponent": "West Ham United",
              "stats": {
                "minutes": 89,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.2849,
                "expected_assists": 0.2922,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 26,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "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": 14023954,
              "match_date": "2026-05-17",
              "home_team": "Leeds United",
              "away_team": "Brighton & Hove Albion",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Leeds United",
              "opponent": "Brighton & Hove Albion",
              "stats": {
                "minutes": 60,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0158,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 11,
                "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": 14023944,
              "match_date": "2026-05-11",
              "home_team": "Tottenham Hotspur",
              "away_team": "Leeds United",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Leeds United",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 63,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.1544,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "key_pass": 1,
                "tackles": 2,
                "tackles_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"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 9,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 17080,
            "combined_rank_score": 1705.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 856.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 1.0,
            "fifa_rank": 2554.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "substitute",
            "projected_match_rating": 6.9033,
            "source_file": "data/player_rankings.csv",
            "player_name": "Brenden Aaronson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Leonardo Bittencourt",
                  "ranking": 17075
                },
                {
                  "player_name": "Matias Galarza",
                  "ranking": 17076
                },
                {
                  "player_name": "Vitaliy Buyalskyi",
                  "ranking": 17077
                },
                {
                  "player_name": "Himad Abdelli",
                  "ranking": 17078
                },
                {
                  "player_name": "Ben Brereton Díaz",
                  "ranking": 17079
                }
              ],
              "lower": [
                {
                  "player_name": "Dereck Kutesa",
                  "ranking": 17081
                },
                {
                  "player_name": "Fayçal Fajr",
                  "ranking": 17082
                },
                {
                  "player_name": "Pantelis Hatzidiakos",
                  "ranking": 17083
                },
                {
                  "player_name": "Jonathan Rodríguez",
                  "ranking": 17084
                },
                {
                  "player_name": "Michael Kayode",
                  "ranking": 17085
                }
              ]
            }
          }
        },
        "Johnny Cardoso": {
          "player_id": 990169,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 186,
          "market_value": 21000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0049,
            "assists": 0,
            "expected_goals": 0.0,
            "rating": 88.081,
            "minutes": 23,
            "total_pass": 7,
            "accurate_pass": 6,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 1.7409,
            "dispossessed": 1.5633,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 2,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 2,
            "fouls": 0,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 4,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.535,
            "bench_expected_minutes": 22.78,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.588,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 15632635,
              "match_date": "2026-05-05",
              "home_team": "Arsenal",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 33,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0035,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 10,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15632633,
              "match_date": "2026-04-29",
              "home_team": "Atlético Madrid",
              "away_team": "Arsenal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Arsenal",
              "stats": {
                "minutes": 88,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0416,
                "expected_assists": 0.0169,
                "total_shots": 1,
                "total_pass": 49,
                "accurate_pass": 42,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15632089,
              "match_date": "2026-04-14",
              "home_team": "Atlético Madrid",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 10,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0007,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631370,
              "match_date": "2026-03-18",
              "home_team": "Tottenham Hotspur",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0114,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 38,
                "tackles": 5,
                "tackles_won": 4,
                "clearances": 1,
                "duels_won": 9,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631356,
              "match_date": "2026-03-10",
              "home_team": "Atlético Madrid",
              "away_team": "Tottenham Hotspur",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Tottenham Hotspur",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.034,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 47,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 11886372,
              "match_date": "2024-06-27",
              "home_team": "Panama",
              "away_team": "USA",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Panama",
              "stats": {
                "minutes": 45,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0029,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 6,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            },
            {
              "match_id": 11886363,
              "match_date": "2024-06-23",
              "home_team": "USA",
              "away_team": "Bolivia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "USA",
              "opponent": "Bolivia",
              "stats": {
                "minutes": 24,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0085,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 17,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Copa América",
              "league_id": "133",
              "league_slug": "copa-america",
              "league_country": "South America",
              "season_id": "57114",
              "season_name": "Copa America 2024",
              "season_year": "2024"
            }
          ],
          "ranking": {
            "global_player_rank": 10210,
            "combined_rank_score": 465.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.8778,
            "sofascore_appearances": 10.0,
            "fifa_rank": 485.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 7.081,
            "source_file": "data/player_rankings.csv",
            "player_name": "Johnny Cardoso",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Denis Zakaria",
                  "ranking": 10205
                },
                {
                  "player_name": "Gerónimo Patritti",
                  "ranking": 10206
                },
                {
                  "player_name": "Sander Berge",
                  "ranking": 10207
                },
                {
                  "player_name": "Alexis Saelemaekers",
                  "ranking": 10208
                },
                {
                  "player_name": "Rui Silva",
                  "ranking": 10209
                }
              ],
              "lower": [
                {
                  "player_name": "Omar Carabalí",
                  "ranking": 10211
                },
                {
                  "player_name": "Mauro Goicoechea",
                  "ranking": 10212
                },
                {
                  "player_name": "Ahmed Nader El Sayed",
                  "ranking": 10213
                },
                {
                  "player_name": "Néstor Camacho",
                  "ranking": 10214
                },
                {
                  "player_name": "Jesús Alfaro",
                  "ranking": 10215
                }
              ]
            }
          }
        }
      },
      "team_totals": {
        "projected_goals": 1,
        "expected_goals": 1.49,
        "expected_assists": 1.02,
        "total_shots": 11,
        "shots_on_target": 6,
        "total_passes": 418,
        "interceptions": 10,
        "tackles": 17,
        "avg_rating": 86.62,
        "possession_estimated_pct": 53.2,
        "pressing_actions_per_90": 8.0
      }
    },
    "BiH": {
      "formation": "4-4-2",
      "players": {
        "Edin Džeko": {
          "player_id": 14990,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 11,
          "height": 193,
          "market_value": 905000,
          "stats": {
            "expected_goals": 0.04,
            "goal_rate": 0.0003,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0455,
            "key_pass": 0,
            "rating": 87.5938,
            "minutes": 71,
            "total_shots": 2,
            "duels_won": 4,
            "aerial_won": 2,
            "total_pass": 22,
            "accurate_pass": 15,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 8,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 31,
            "possession_lost": 10.7935,
            "dispossessed": 0.9812,
            "duels_lost": 5,
            "aerial_lost": 2,
            "total_contest": 2,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "assists": 0,
            "shots_off_target": 1,
            "interceptions": 1,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 2,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 7,
            "total_progression": 5,
            "progressive_carries": 1,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Antonee Robinson, Chris Richards",
            "opponent_faced": "Antonee Robinson, Chris Richards",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 64,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.1129,
                "expected_assists": 0.0212,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 10,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 64,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.1154,
                "expected_assists": 0.149,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 16,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 19,
                "tackles": 1,
                "clearances": 2,
                "aerial_won": 4,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 2729,
            "combined_rank_score": 329.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 88.0,
            "sofascore_rating": 7.4778,
            "sofascore_appearances": 9.0,
            "fifa_rank": 571.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "starter",
            "projected_match_rating": 6.5938,
            "source_file": "data/player_rankings.csv",
            "player_name": "Edin Džeko",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Hamed Hemdan",
                  "ranking": 2724
                },
                {
                  "player_name": "Hörður Magnússon",
                  "ranking": 2725
                },
                {
                  "player_name": "Ivan Yordanov",
                  "ranking": 2726
                },
                {
                  "player_name": "Shaune Mogaila",
                  "ranking": 2727
                },
                {
                  "player_name": "Al-Hareth Hatam",
                  "ranking": 2728
                }
              ],
              "lower": [
                {
                  "player_name": "Arda Güler",
                  "ranking": 2730
                },
                {
                  "player_name": "Goto Masaaki",
                  "ranking": 2731
                },
                {
                  "player_name": "Lucas Schoofs",
                  "ranking": 2732
                },
                {
                  "player_name": "Domagoj Bukvić",
                  "ranking": 2733
                },
                {
                  "player_name": "Alfred Gøthler",
                  "ranking": 2734
                }
              ]
            }
          }
        },
        "Ermedin Demirović": {
          "player_id": 878081,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 10,
          "height": 184,
          "market_value": 20000000,
          "stats": {
            "expected_goals": 0.0515,
            "goal_rate": 0.0004,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0178,
            "key_pass": 0,
            "rating": 86.669,
            "minutes": 82,
            "total_shots": 2,
            "duels_won": 4,
            "aerial_won": 2,
            "total_pass": 12,
            "accurate_pass": 9,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 7,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 23,
            "possession_lost": 7.0154,
            "dispossessed": 1.559,
            "duels_lost": 7,
            "aerial_lost": 3,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 3,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 2,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 2,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 1,
            "xgot": 0.4677,
            "offsides": 1,
            "ball_carries": 6,
            "total_progression": 19,
            "progressive_carries": 1,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Antonee Robinson, Chris Richards",
            "opponent_faced": "Antonee Robinson, Chris Richards",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.0213,
                "expected_assists": 0.0084,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 13,
                "accurate_pass": 9,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 86,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0161,
                "expected_assists": 0.0031,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 17,
                "accurate_pass": 12,
                "tackles": 3,
                "clearances": 3,
                "aerial_won": 7,
                "duels_won": 11,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14065560,
              "match_date": "2026-05-16",
              "home_team": "Eintracht Frankfurt",
              "away_team": "VfB Stuttgart",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "VfB Stuttgart",
              "opponent": "Eintracht Frankfurt",
              "stats": {
                "minutes": 86,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.2093,
                "expected_assists": 0.0062,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 9,
                "accurate_pass": 5,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14065248,
              "match_date": "2026-05-09",
              "home_team": "VfB Stuttgart",
              "away_team": "Bayer 04 Leverkusen",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "VfB Stuttgart",
              "opponent": "Bayer 04 Leverkusen",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 1.1227,
                "expected_assists": 0.0477,
                "total_shots": 6,
                "shots_on_target": 3,
                "shots_off_target": 3,
                "total_pass": 16,
                "accurate_pass": 13,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14065244,
              "match_date": "2026-05-02",
              "home_team": "TSG Hoffenheim",
              "away_team": "VfB Stuttgart",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "VfB Stuttgart",
              "opponent": "TSG Hoffenheim",
              "stats": {
                "minutes": 35,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1815,
                "expected_assists": 0.0359,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 4,
                "accurate_pass": 3,
                "key_pass": 1,
                "clearances": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631840,
              "match_date": "2026-03-19",
              "home_team": "FC Porto",
              "away_team": "VfB Stuttgart",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "VfB Stuttgart",
              "opponent": "FC Porto",
              "stats": {
                "minutes": 90,
                "rating": 5.3,
                "assists": 0,
                "expected_goals": 0.0464,
                "expected_assists": 0.0337,
                "total_shots": 1,
                "total_pass": 14,
                "accurate_pass": 11,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "UEFA Europa League",
              "league_id": "679",
              "league_slug": "uefa-europa-league",
              "league_country": "Europe",
              "season_id": "76984",
              "season_name": "UEFA Europa League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631832,
              "match_date": "2026-03-12",
              "home_team": "VfB Stuttgart",
              "away_team": "FC Porto",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "VfB Stuttgart",
              "opponent": "FC Porto",
              "stats": {
                "minutes": 63,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.1699,
                "expected_assists": 0.0136,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 11,
                "accurate_pass": 10,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "UEFA Europa League",
              "league_id": "679",
              "league_slug": "uefa-europa-league",
              "league_country": "Europe",
              "season_id": "76984",
              "season_name": "UEFA Europa League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 14266,
            "combined_rank_score": 582.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 478.0,
            "sofascore_rating": 6.8429,
            "sofascore_appearances": 7.0,
            "fifa_rank": 686.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 6.669,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ermedin Demirović",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Franck Yannick Kessié",
                  "ranking": 14261
                },
                {
                  "player_name": "Matheus Cunha",
                  "ranking": 14262
                },
                {
                  "player_name": "Viktor Tsygankov",
                  "ranking": 14263
                },
                {
                  "player_name": "Mahdi Camara",
                  "ranking": 14264
                },
                {
                  "player_name": "Eric García",
                  "ranking": 14265
                }
              ],
              "lower": [
                {
                  "player_name": "Hwang Seok-ki",
                  "ranking": 14267
                },
                {
                  "player_name": "Ollabergan Karimov",
                  "ranking": 14268
                },
                {
                  "player_name": "Álvaro Fidalgo",
                  "ranking": 14269
                },
                {
                  "player_name": "Benjamín Chandía",
                  "ranking": 14270
                },
                {
                  "player_name": "Fábio",
                  "ranking": 14271
                }
              ]
            }
          }
        },
        "Kerim Alajbegović": {
          "player_id": 1425366,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 19,
          "height": 185,
          "market_value": 20000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1721,
            "assists": 0,
            "expected_goals": 0.2518,
            "rating": 68.0376,
            "minutes": 81,
            "total_pass": 26,
            "accurate_pass": 21,
            "ball_recovery": 3,
            "duels_won": 5,
            "total_shots": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 3,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 15,
            "crosses_total": 6,
            "crosses_accurate": 1,
            "touches": 48,
            "possession_lost": 13.5111,
            "dispossessed": 1.7357,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 2,
            "total_contest": 4,
            "won_contest": 3,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 2,
            "goal_rate": 1.0393,
            "goals": 0,
            "shots_on_target": 2,
            "shots_off_target": 2,
            "blocks": 0,
            "big_chances_created": 2,
            "big_chances_missed": 0,
            "xgot": 0.3949,
            "ball_carries": 21,
            "total_progression": 124,
            "progressive_carries": 6,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.1,
            "crosses_attempted": 2.4,
            "duel_win_rate": 0.411,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "LM vs CB",
            "numerical_situation": "1v1",
            "opponent_defenders": "Antonee Robinson",
            "opponent_faced": "Antonee Robinson",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 61.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 82,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1904,
                "expected_assists": 0.1951,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 33,
                "accurate_pass": 28,
                "key_pass": 2,
                "clearances": 1,
                "duels_won": 10,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 89,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.1002,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 17,
                "key_pass": 2,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 16,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0019,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 5,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15690648,
              "match_date": "2026-05-17",
              "home_team": "Red Bull Salzburg",
              "away_team": "TSV Hartberg",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Red Bull Salzburg",
              "opponent": "TSV Hartberg",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.4488,
                "expected_assists": 0.115,
                "total_shots": 7,
                "shots_on_target": 4,
                "shots_off_target": 3,
                "total_pass": 45,
                "accurate_pass": 39,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Austrian Bundesliga",
              "league_id": "45",
              "league_slug": "bundesliga",
              "league_country": "Austria",
              "season_id": "77382",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15690637,
              "match_date": "2026-05-10",
              "home_team": "LASK",
              "away_team": "Red Bull Salzburg",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Red Bull Salzburg",
              "opponent": "LASK",
              "stats": {
                "minutes": 35,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0078,
                "expected_assists": 0.0038,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Austrian Bundesliga",
              "league_id": "45",
              "league_slug": "bundesliga",
              "league_country": "Austria",
              "season_id": "77382",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15690639,
              "match_date": "2026-05-03",
              "home_team": "Red Bull Salzburg",
              "away_team": "SK Sturm Graz",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Red Bull Salzburg",
              "opponent": "SK Sturm Graz",
              "stats": {
                "minutes": 80,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.1931,
                "expected_assists": 0.0549,
                "total_shots": 3,
                "shots_on_target": 2,
                "total_pass": 16,
                "accurate_pass": 12,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Austrian Bundesliga",
              "league_id": "45",
              "league_slug": "bundesliga",
              "league_country": "Austria",
              "season_id": "77382",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15690645,
              "match_date": "2026-04-26",
              "home_team": "SK Rapid Wien",
              "away_team": "Red Bull Salzburg",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Red Bull Salzburg",
              "opponent": "SK Rapid Wien",
              "stats": {
                "minutes": 57,
                "rating": 7.4,
                "assists": 0,
                "expected_goals": 0.158,
                "expected_assists": 0.5595,
                "total_shots": 3,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 14,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Austrian Bundesliga",
              "league_id": "45",
              "league_slug": "bundesliga",
              "league_country": "Austria",
              "season_id": "77382",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15690627,
              "match_date": "2026-04-22",
              "home_team": "Red Bull Salzburg",
              "away_team": "FK Austria Wien",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Red Bull Salzburg",
              "opponent": "FK Austria Wien",
              "stats": {
                "minutes": 72,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.1366,
                "expected_assists": 0.0175,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 15,
                "accurate_pass": 14,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Austrian Bundesliga",
              "league_id": "45",
              "league_slug": "bundesliga",
              "league_country": "Austria",
              "season_id": "77382",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 11,
                "rating": 6.6,
                "assists": 0,
                "total_shots": 1,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 23449,
            "combined_rank_score": 7242.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 109.0,
            "sofascore_rating": 7.3857,
            "sofascore_appearances": 7.0,
            "fifa_rank": 14376.0,
            "fifa_overall": 61.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "projected_match_rating": 7.0376,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kerim Alajbegović",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ben Osborn",
                  "ranking": 23444
                },
                {
                  "player_name": "Tarkan Serbest",
                  "ranking": 23445
                },
                {
                  "player_name": "Tyron Owusu",
                  "ranking": 23446
                },
                {
                  "player_name": "Patrick Brouwer",
                  "ranking": 23447
                },
                {
                  "player_name": "Braydon Manu",
                  "ranking": 23448
                }
              ],
              "lower": [
                {
                  "player_name": "Macklin Freke",
                  "ranking": 23450
                },
                {
                  "player_name": "Paul Will",
                  "ranking": 23451
                },
                {
                  "player_name": "Kayne Ramsay",
                  "ranking": 23452
                },
                {
                  "player_name": "Nicolás Laméndola",
                  "ranking": 23453
                },
                {
                  "player_name": "Billy Mitchell",
                  "ranking": 23454
                }
              ]
            }
          }
        },
        "Ivan Bašić": {
          "player_id": 1049701,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 13,
          "height": 178,
          "market_value": 1500000,
          "stats": {
            "key_pass": 2,
            "expected_assists": 0.1544,
            "assists": 0,
            "expected_goals": 0.0408,
            "rating": 90.0181,
            "minutes": 59,
            "total_pass": 34,
            "accurate_pass": 31,
            "ball_recovery": 3,
            "duels_won": 3,
            "total_shots": 1,
            "total_long_balls": 4,
            "accurate_long_balls": 3,
            "total_own_half_passes": 18,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 14,
            "crosses_total": 4,
            "crosses_accurate": 3,
            "touches": 44,
            "possession_lost": 4.2487,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 3,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 9,
            "total_progression": 19,
            "progressive_carries": 0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.254,
            "pressing_faced": "HIGH",
            "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
            "numerical_situation": "1v1",
            "opponent_defenders": "Weston McKennie",
            "opponent_faced": "Weston McKennie",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 90,
                "rating": 7.9,
                "assists": 1,
                "expected_goals": 0.1243,
                "expected_assists": 0.1654,
                "total_shots": 4,
                "shots_off_target": 1,
                "total_pass": 69,
                "accurate_pass": 66,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 27,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0036,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 12,
                "key_pass": 1,
                "clearances": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 62,
                "rating": 7.4,
                "assists": 0,
                "expected_assists": 0.2856,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 17,
                "key_pass": 5,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 2500,
            "combined_rank_score": 287.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 318.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 7.0,
            "fifa_rank": 256.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 7.0181,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ivan Bašić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Alejandro Azócar",
                  "ranking": 2495
                },
                {
                  "player_name": "Sherzod Esanov",
                  "ranking": 2496
                },
                {
                  "player_name": "Temur Mamasidikov",
                  "ranking": 2497
                },
                {
                  "player_name": "Juan Ignacio Díaz",
                  "ranking": 2498
                },
                {
                  "player_name": "Santiago Silva Azambuja",
                  "ranking": 2499
                }
              ],
              "lower": [
                {
                  "player_name": "Héctor Cuellar",
                  "ranking": 2501
                },
                {
                  "player_name": "Francisco Chaverra",
                  "ranking": 2502
                },
                {
                  "player_name": "Park Ji-Won",
                  "ranking": 2503
                },
                {
                  "player_name": "Guillermo Ortíz",
                  "ranking": 2504
                },
                {
                  "player_name": "Lucas Romero",
                  "ranking": 2505
                }
              ]
            }
          }
        },
        "Benjamin Tahirović": {
          "player_id": 1102659,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 6,
          "height": 191,
          "market_value": 4400000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0046,
            "assists": 0,
            "expected_goals": 0.0,
            "rating": 73.5819,
            "minutes": 70,
            "total_pass": 24,
            "accurate_pass": 19,
            "ball_recovery": 3,
            "duels_won": 4,
            "total_shots": 1,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 14,
            "accurate_own_half_passes": 12,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 7,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 36,
            "possession_lost": 8.8779,
            "dispossessed": 0.9864,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 2,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 5,
            "total_progression": 1,
            "progressive_carries": 0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.322,
            "pressing_faced": "HIGH",
            "matchup_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
            "numerical_situation": "1v1",
            "opponent_defenders": "Weston McKennie",
            "opponent_faced": "Weston McKennie",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 67.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0027,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 21,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 63,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0066,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 20,
                "interceptions": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0163,
                "expected_assists": 0.0097,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 24,
                "accurate_pass": 17,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 84,
                "rating": 6.8,
                "assists": 0,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 21,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 20571,
            "combined_rank_score": 4569.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 350.0,
            "sofascore_rating": 6.97,
            "sofascore_appearances": 10.0,
            "fifa_rank": 8788.0,
            "fifa_overall": 67.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "projected_match_rating": 6.5819,
            "source_file": "data/player_rankings.csv",
            "player_name": "Benjamin Tahirović",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ignacio Rodríguez",
                  "ranking": 20566
                },
                {
                  "player_name": "Younes Taha",
                  "ranking": 20567
                },
                {
                  "player_name": "Paul Seguin",
                  "ranking": 20568
                },
                {
                  "player_name": "Mattia Bottani",
                  "ranking": 20569
                },
                {
                  "player_name": "Jonathan Sirois",
                  "ranking": 20570
                }
              ],
              "lower": [
                {
                  "player_name": "Álex Pozo",
                  "ranking": 20572
                },
                {
                  "player_name": "Ignacio Russo",
                  "ranking": 20573
                },
                {
                  "player_name": "Fabio Ferraro",
                  "ranking": 20574
                },
                {
                  "player_name": "Fidan Aliti",
                  "ranking": 20575
                },
                {
                  "player_name": "Yannick Leliendal",
                  "ranking": 20576
                }
              ]
            }
          }
        },
        "Esmir Bajraktarević": {
          "player_id": 1136110,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 20,
          "height": 175,
          "market_value": 8199999,
          "stats": {
            "expected_goals": 0.1197,
            "goal_rate": 0.0004,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.003,
            "key_pass": 0,
            "rating": 73.3212,
            "minutes": 26,
            "total_shots": 1,
            "duels_won": 3,
            "aerial_won": 1,
            "total_pass": 9,
            "accurate_pass": 9,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 6,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 15,
            "possession_lost": 4.0013,
            "dispossessed": 3.001,
            "duels_lost": 3,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 1,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 3,
            "total_progression": 0,
            "progressive_carries": 0,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.8,
            "crosses_attempted": 2.1,
            "duel_win_rate": 0.313,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "RM vs CB",
            "numerical_situation": "1v1",
            "opponent_defenders": "Antonee Robinson",
            "opponent_faced": "Antonee Robinson",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 67.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.0545,
                "expected_assists": 0.027,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 21,
                "key_pass": 2,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 26,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0028,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 9,
                "interceptions": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 74,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 7,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14028548,
              "match_date": "2026-05-10",
              "home_team": "Go Ahead Eagles",
              "away_team": "PSV Eindhoven",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "PSV Eindhoven",
              "opponent": "Go Ahead Eagles",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.8948,
                "expected_assists": 0.5375,
                "total_shots": 4,
                "shots_on_target": 3,
                "total_pass": 30,
                "accurate_pass": 29,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "VriendenLoterij Eredivisie",
              "league_id": "37",
              "league_slug": "eredivisie",
              "league_country": "Netherlands",
              "season_id": "77012",
              "season_name": "VriendenLoterij Eredivisie 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 11,
                "tackles": 4,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 9,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 20349,
            "combined_rank_score": 4384.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 154.0,
            "sofascore_rating": 7.2571,
            "sofascore_appearances": 7.0,
            "fifa_rank": 8614.0,
            "fifa_overall": 67.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 6.3212,
            "source_file": "data/player_rankings.csv",
            "player_name": "Esmir Bajraktarević",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Yerson Candelo",
                  "ranking": 20344
                },
                {
                  "player_name": "Mukhtar Ali",
                  "ranking": 20345
                },
                {
                  "player_name": "Olaetxea",
                  "ranking": 20346
                },
                {
                  "player_name": "Lautaro Vargas",
                  "ranking": 20347
                },
                {
                  "player_name": "Dani Tasende",
                  "ranking": 20348
                }
              ],
              "lower": [
                {
                  "player_name": "Óscar Plano",
                  "ranking": 20350
                },
                {
                  "player_name": "Rodrigo Herrera",
                  "ranking": 20351
                },
                {
                  "player_name": "Anderson Julio",
                  "ranking": 20352
                },
                {
                  "player_name": "Anthony Ralston",
                  "ranking": 20353
                },
                {
                  "player_name": "Mathieu Choinière",
                  "ranking": 20354
                }
              ]
            }
          }
        },
        "Sead Kolašinac": {
          "player_id": 142148,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 5,
          "height": 183,
          "market_value": 4200000,
          "stats": {
            "interceptions": 0,
            "tackles": 2,
            "tackles_won": 0,
            "clearances": 2,
            "aerial_won": 0,
            "rating": 85.242,
            "minutes": 68,
            "total_pass": 30,
            "accurate_pass": 25,
            "duels_won": 5,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 18,
            "accurate_own_half_passes": 16,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 9,
            "crosses_total": 3,
            "crosses_accurate": 1,
            "touches": 44,
            "possession_lost": 9.0684,
            "dispossessed": 1.6461,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.1084,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 1,
            "xgot": 0.0,
            "ball_carries": 8,
            "total_progression": 31,
            "progressive_carries": 0,
            "key_pass": 1,
            "tackles_in_zone": 1.9,
            "tackles_won_in_zone": 1.8,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.615,
            "opponent_faced": "Tim Ream",
            "pressing_zone": "Right Wingback vs Left Back — Overlapping Run",
            "matchup_zone": "Right Wingback vs Left Back — Overlapping Run",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.1339,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 44,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "assists": 0,
                "expected_assists": 0.0084,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 40,
                "tackles": 3,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 84,
                "rating": 7.9,
                "assists": 1,
                "expected_assists": 0.5128,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 15,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 7,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 13980058,
              "match_date": "2026-05-17",
              "home_team": "Atalanta",
              "away_team": "Bologna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atalanta",
              "opponent": "Bologna",
              "stats": {
                "minutes": 2,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13980096,
              "match_date": "2026-05-10",
              "home_team": "AC Milan",
              "away_team": "Atalanta",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atalanta",
              "opponent": "AC Milan",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0174,
                "total_shots": 0,
                "total_pass": 40,
                "accurate_pass": 38,
                "tackles": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15631361,
              "match_date": "2026-03-10",
              "home_team": "Atalanta",
              "away_team": "FC Bayern München",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atalanta",
              "opponent": "FC Bayern München",
              "stats": {
                "minutes": 55,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 16,
                "tackles": 5,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 14756,
            "combined_rank_score": 704.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 532.0,
            "sofascore_rating": 6.8,
            "sofascore_appearances": 4.0,
            "fifa_rank": 877.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 6.242,
            "source_file": "data/player_rankings.csv",
            "player_name": "Sead Kolašinac",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Neco Williams",
                  "ranking": 14751
                },
                {
                  "player_name": "Thiago Almada",
                  "ranking": 14752
                },
                {
                  "player_name": "Alisher Shukurov",
                  "ranking": 14753
                },
                {
                  "player_name": "Danny Welbeck",
                  "ranking": 14754
                },
                {
                  "player_name": "Cristian Arango",
                  "ranking": 14755
                }
              ],
              "lower": [
                {
                  "player_name": "Francisco Marchant",
                  "ranking": 14757
                },
                {
                  "player_name": "Joel Canchimbo",
                  "ranking": 14758
                },
                {
                  "player_name": "Anderson Angulo",
                  "ranking": 14759
                },
                {
                  "player_name": "Nicolas Giacopetti",
                  "ranking": 14760
                },
                {
                  "player_name": "Yang Tae-Yang",
                  "ranking": 14761
                }
              ]
            }
          }
        },
        "Nikola Katić": {
          "player_id": 831488,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 18,
          "height": 194,
          "market_value": 1900000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 7,
            "aerial_won": 4,
            "rating": 75.9397,
            "minutes": 79,
            "total_pass": 41,
            "accurate_pass": 35,
            "duels_won": 8,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 27,
            "accurate_own_half_passes": 26,
            "total_opp_half_passes": 14,
            "accurate_opp_half_passes": 9,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 59,
            "possession_lost": 6.2112,
            "dispossessed": 0.0,
            "duels_lost": 4,
            "aerial_lost": 3,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0679,
            "expected_assists": 0.0,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 34,
            "progressive_carries": 0,
            "key_pass": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Sergiño Dest",
            "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 69.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 63,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0713,
                "expected_assists": 0.0079,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 65,
                "accurate_pass": 62,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 31,
                "tackles": 3,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "assists": 0,
                "expected_assists": 0.0029,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 14,
                "tackles": 5,
                "tackles_won": 4,
                "interceptions": 3,
                "clearances": 16,
                "aerial_won": 10,
                "duels_won": 15,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 19408,
            "combined_rank_score": 3557.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 129.0,
            "sofascore_rating": 7.3286,
            "sofascore_appearances": 7.0,
            "fifa_rank": 6985.0,
            "fifa_overall": 69.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "starter",
            "projected_match_rating": 6.9397,
            "source_file": "data/player_rankings.csv",
            "player_name": "Nikola Katić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Luis Amarilla",
                  "ranking": 19403
                },
                {
                  "player_name": "German Onugkha",
                  "ranking": 19404
                },
                {
                  "player_name": "Gonzalo Luján",
                  "ranking": 19405
                },
                {
                  "player_name": "Rein Van Helden",
                  "ranking": 19406
                },
                {
                  "player_name": "In-jae Hwang",
                  "ranking": 19407
                }
              ],
              "lower": [
                {
                  "player_name": "Brandon Aguilera",
                  "ranking": 19409
                },
                {
                  "player_name": "Lucas Rodríguez",
                  "ranking": 19410
                },
                {
                  "player_name": "Boubakar Kouyaté",
                  "ranking": 19411
                },
                {
                  "player_name": "Nicolas Pallois",
                  "ranking": 19412
                },
                {
                  "player_name": "Junior Marabel",
                  "ranking": 19413
                }
              ]
            }
          }
        },
        "Tarik Muharemović": {
          "player_id": 1118177,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 4,
          "height": 193,
          "market_value": 27000000,
          "stats": {
            "interceptions": 1,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 12,
            "aerial_won": 2,
            "rating": 77.302,
            "minutes": 93,
            "total_pass": 55,
            "accurate_pass": 48,
            "duels_won": 6,
            "total_long_balls": 7,
            "accurate_long_balls": 4,
            "total_own_half_passes": 37,
            "accurate_own_half_passes": 36,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 13,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 73,
            "possession_lost": 6.7727,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.2091,
            "expected_assists": 0.0212,
            "total_shots": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 12,
            "total_progression": 21,
            "progressive_carries": 0,
            "key_pass": 1,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.2,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Sergiño Dest",
            "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 70.0
          },
          "latest_10_games": [
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 80,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 36,
                "interceptions": 3,
                "clearances": 11,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "assists": 0,
                "expected_goals": 0.1804,
                "expected_assists": 0.0027,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 31,
                "accurate_pass": 24,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 21,
                "aerial_won": 6,
                "duels_won": 9,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 13980078,
              "match_date": "2026-05-17",
              "home_team": "Sassuolo",
              "away_team": "Lecce",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sassuolo",
              "opponent": "Lecce",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0258,
                "total_shots": 0,
                "total_pass": 92,
                "accurate_pass": 84,
                "clearances": 9,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13980073,
              "match_date": "2026-05-08",
              "home_team": "Torino",
              "away_team": "Sassuolo",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sassuolo",
              "opponent": "Torino",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.2124,
                "expected_assists": 0.0349,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 64,
                "accurate_pass": 58,
                "interceptions": 3,
                "clearances": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Serie A",
              "league_id": "23",
              "league_slug": "serie-a",
              "league_country": "Italy",
              "season_id": "76457",
              "season_name": "Serie A 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 27,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 8,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 18814,
            "combined_rank_score": 3068.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 134.0,
            "sofascore_rating": 7.3143,
            "sofascore_appearances": 7.0,
            "fifa_rank": 6003.0,
            "fifa_overall": 70.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 7.302,
            "source_file": "data/player_rankings.csv",
            "player_name": "Tarik Muharemović",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Emmanuel Biumla",
                  "ranking": 18809
                },
                {
                  "player_name": "Nikolas Sattlberger",
                  "ranking": 18810
                },
                {
                  "player_name": "Federico Bonazzoli",
                  "ranking": 18811
                },
                {
                  "player_name": "Berat Özdemir",
                  "ranking": 18812
                },
                {
                  "player_name": "Ashley Barnes",
                  "ranking": 18813
                }
              ],
              "lower": [
                {
                  "player_name": "Štěpán Chaloupek",
                  "ranking": 18815
                },
                {
                  "player_name": "Lukas Petkov",
                  "ranking": 18816
                },
                {
                  "player_name": "Saîf-Eddine Khaoui",
                  "ranking": 18817
                },
                {
                  "player_name": "Abel Luciatti",
                  "ranking": 18818
                },
                {
                  "player_name": "Chibuike Nwaiwu",
                  "ranking": 18819
                }
              ]
            }
          }
        },
        "Nikola Vasilj": {
          "player_id": 325061,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 194,
          "market_value": 4099999,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0,
            "rating": 83.2245,
            "minutes": 89,
            "total_pass": 30,
            "accurate_pass": 17,
            "total_long_balls": 18,
            "accurate_long_balls": 5,
            "touches": 40,
            "clearances": 2,
            "ball_recovery": 10,
            "high_claims": 1,
            "punches": 1.3105,
            "aerial_won": 1,
            "sweeper_actions": 1,
            "sweeper_accurate": 1,
            "saves_inside_box": 2,
            "possession_lost": 13.0949,
            "duels_won": 1,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 16,
            "accurate_own_half_passes": 13,
            "expected_saves": 1.41,
            "high_pressure_saves": 0.54,
            "shots_faced": 3.0,
            "opponent_faced": "Sergiño Dest, Folarin Balogun",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 32,
                "clearances": 1,
                "ball_recovery": 14,
                "saves": 2,
                "goals_prevented": 0.1389
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 90,
                "rating": 5.5,
                "assists": 0,
                "expected_assists": 0.0007,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 21,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 9,
                "saves": 3,
                "goals_prevented": -1.5444
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 11,
                "clearances": 1,
                "ball_recovery": 12,
                "saves": 1,
                "goals_prevented": -0.2473
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14065563,
              "match_date": "2026-05-16",
              "home_team": "FC St. Pauli",
              "away_team": "VfL Wolfsburg",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "FC St. Pauli",
              "opponent": "VfL Wolfsburg",
              "stats": {
                "minutes": 90,
                "rating": 8.4,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 18,
                "clearances": 2,
                "ball_recovery": 8,
                "saves": 8,
                "goals_prevented": 0.6575
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14065250,
              "match_date": "2026-05-09",
              "home_team": "RB Leipzig",
              "away_team": "FC St. Pauli",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "FC St. Pauli",
              "opponent": "RB Leipzig",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.002,
                "total_shots": 0,
                "total_pass": 31,
                "accurate_pass": 16,
                "ball_recovery": 13,
                "saves": 3,
                "goals_prevented": -0.1895
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14065246,
              "match_date": "2026-05-03",
              "home_team": "FC St. Pauli",
              "away_team": "1. FSV Mainz 05",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "FC St. Pauli",
              "opponent": "1. FSV Mainz 05",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 16,
                "ball_recovery": 8,
                "saves": 3,
                "goals_prevented": -0.0461
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 9,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 5,
                "saves": 2
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 16232,
            "combined_rank_score": 1076.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 658.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 10.0,
            "fifa_rank": 1495.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "projected_match_rating": 6.2245,
            "source_file": "data/player_rankings.csv",
            "player_name": "Nikola Vasilj",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Omari Hutchinson",
                  "ranking": 16227
                },
                {
                  "player_name": "Amir Murillo",
                  "ranking": 16228
                },
                {
                  "player_name": "Luis Muriel",
                  "ranking": 16229
                },
                {
                  "player_name": "Nathaniel Brown",
                  "ranking": 16230
                },
                {
                  "player_name": "Puado",
                  "ranking": 16231
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Folorunsho",
                  "ranking": 16233
                },
                {
                  "player_name": "Costinha",
                  "ranking": 16234
                },
                {
                  "player_name": "Derrick Köhn",
                  "ranking": 16235
                },
                {
                  "player_name": "Patrick Mainka",
                  "ranking": 16236
                },
                {
                  "player_name": "Rodrigo Becão",
                  "ranking": 16237
                }
              ]
            }
          }
        },
        "Amar Dedić": {
          "player_id": 1102791,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 7,
          "height": 180,
          "market_value": 15500000,
          "stats": {
            "interceptions": 0,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 0,
            "rating": 79.4271,
            "minutes": 81,
            "total_pass": 29,
            "accurate_pass": 23,
            "duels_won": 5,
            "total_long_balls": 4,
            "accurate_long_balls": 1,
            "total_own_half_passes": 15,
            "accurate_own_half_passes": 13,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 11,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 53,
            "possession_lost": 10.9408,
            "dispossessed": 1.5381,
            "duels_lost": 6,
            "aerial_lost": 1,
            "total_contest": 3,
            "won_contest": 2,
            "ball_recovery": 5,
            "challenges_lost": 2,
            "fouls": 2,
            "fouls_drawn": 2,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0304,
            "expected_assists": 0.041,
            "total_shots": 0,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0308,
            "ball_carries": 13,
            "total_progression": 64,
            "progressive_carries": 2,
            "key_pass": 1,
            "tackles_in_zone": 2.1,
            "tackles_won_in_zone": 1.7,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.527,
            "opponent_faced": "Malik Tillman",
            "pressing_zone": "Left Wingback vs Right Back — Overlapping Run",
            "matchup_zone": "Left Wingback vs Right Back — Overlapping Run",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "assists": 0,
                "expected_goals": 0.0335,
                "expected_assists": 0.0071,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 26,
                "accurate_pass": 22,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 7,
                "ball_recovery": 9
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0084,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 14,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 7,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14336198,
              "match_date": "2026-05-16",
              "home_team": "Estoril Praia",
              "away_team": "Benfica",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Benfica",
              "opponent": "Estoril Praia",
              "stats": {
                "minutes": 22,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.1377,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 11,
                "key_pass": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Liga Portugal Betclic",
              "league_id": "238",
              "league_slug": "liga-portugal-betclic",
              "league_country": "Portugal",
              "season_id": "77806",
              "season_name": "Liga Portugal 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14288898,
              "match_date": "2026-05-11",
              "home_team": "Benfica",
              "away_team": "Sporting Braga",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Benfica",
              "opponent": "Sporting Braga",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.034,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 34,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 9
              },
              "has_player_stats": true,
              "league_name": "Liga Portugal Betclic",
              "league_id": "238",
              "league_slug": "liga-portugal-betclic",
              "league_country": "Portugal",
              "season_id": "77806",
              "season_name": "Liga Portugal 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14288883,
              "match_date": "2026-05-02",
              "home_team": "Famalicão",
              "away_team": "Benfica",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Benfica",
              "opponent": "Famalicão",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0036,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 24,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Liga Portugal Betclic",
              "league_id": "238",
              "league_slug": "liga-portugal-betclic",
              "league_country": "Portugal",
              "season_id": "77806",
              "season_name": "Liga Portugal 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15452752,
              "match_date": "2026-02-25",
              "home_team": "Real Madrid",
              "away_team": "Benfica",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Benfica",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0571,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 32,
                "tackles": 1,
                "interceptions": 3,
                "clearances": 4,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "UEFA Champions League",
              "league_id": "7",
              "league_slug": "uefa-champions-league",
              "league_country": "Europe",
              "season_id": "76953",
              "season_name": "UEFA Champions League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 17052,
            "combined_rank_score": 1681.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 369.0,
            "sofascore_rating": 6.95,
            "sofascore_appearances": 8.0,
            "fifa_rank": 2993.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 6.4271,
            "source_file": "data/player_rankings.csv",
            "player_name": "Amar Dedić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Tim Skarke",
                  "ranking": 17047
                },
                {
                  "player_name": "Romain Faivre",
                  "ranking": 17048
                },
                {
                  "player_name": "Luciano Vietto",
                  "ranking": 17049
                },
                {
                  "player_name": "Jordan Ayew",
                  "ranking": 17050
                },
                {
                  "player_name": "Antonio Sánchez",
                  "ranking": 17051
                }
              ],
              "lower": [
                {
                  "player_name": "Oliver Burke",
                  "ranking": 17053
                },
                {
                  "player_name": "Chemsdine Talbi",
                  "ranking": 17054
                },
                {
                  "player_name": "Yann Aurel Bisseck",
                  "ranking": 17055
                },
                {
                  "player_name": "Cláudio Ramos",
                  "ranking": 17056
                },
                {
                  "player_name": "Mahmoud Dahoud",
                  "ranking": 17057
                }
              ]
            }
          }
        }
      },
      "bench_players": {
        "Martin Zlomislić": {
          "player_id": 885719,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 13,
          "height": 190,
          "market_value": 1900000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.0001,
            "rating": 88.4692,
            "minutes": 4,
            "total_pass": 1,
            "accurate_pass": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0479,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.3951,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "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": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 14023410,
              "match_date": "2026-05-08",
              "home_team": "HNK Rijeka",
              "away_team": "HNK Vukovar 1991",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "HNK Rijeka",
              "opponent": "HNK Vukovar 1991",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 16,
                "clearances": 1,
                "ball_recovery": 3,
                "saves": 1,
                "goals_prevented": 0.1233
              },
              "has_player_stats": true,
              "league_name": "HNL",
              "league_id": "170",
              "league_slug": "hnl",
              "league_country": "Croatia",
              "season_id": "76980",
              "season_name": "HNL 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023412,
              "match_date": "2026-05-03",
              "home_team": "NK Lokomotiva Zagreb",
              "away_team": "HNK Rijeka",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "HNK Rijeka",
              "opponent": "NK Lokomotiva Zagreb",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 23,
                "clearances": 1,
                "ball_recovery": 11,
                "saves": 1,
                "goals_prevented": 0.0144
              },
              "has_player_stats": true,
              "league_name": "HNL",
              "league_id": "170",
              "league_slug": "hnl",
              "league_country": "Croatia",
              "season_id": "76980",
              "season_name": "HNL 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023418,
              "match_date": "2026-04-26",
              "home_team": "HNK Rijeka",
              "away_team": "HNK Hajduk Split",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "HNK Rijeka",
              "opponent": "HNK Hajduk Split",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 11,
                "clearances": 2,
                "ball_recovery": 6,
                "saves": 1,
                "goals_prevented": 0.0929
              },
              "has_player_stats": true,
              "league_name": "HNL",
              "league_id": "170",
              "league_slug": "hnl",
              "league_country": "Croatia",
              "season_id": "76980",
              "season_name": "HNL 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023414,
              "match_date": "2026-04-22",
              "home_team": "NK Varaždin",
              "away_team": "HNK Rijeka",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "HNK Rijeka",
              "opponent": "NK Varaždin",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 19,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 8,
                "goals_prevented": -0.0138
              },
              "has_player_stats": true,
              "league_name": "HNL",
              "league_id": "170",
              "league_slug": "hnl",
              "league_country": "Croatia",
              "season_id": "76980",
              "season_name": "HNL 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1070,
            "combined_rank_score": 295.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 340.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "projected_match_rating": 6.4692,
            "source_file": "data/player_rankings.csv",
            "player_name": "Martin Zlomislić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mao Hosoya",
                  "ranking": 1065
                },
                {
                  "player_name": "Arturo González",
                  "ranking": 1066
                },
                {
                  "player_name": "Sébastien Salles-Lamonge",
                  "ranking": 1067
                },
                {
                  "player_name": "Franco Pardo",
                  "ranking": 1068
                },
                {
                  "player_name": "Yehor Tverdokhlib",
                  "ranking": 1069
                }
              ],
              "lower": [
                {
                  "player_name": "Xander Dierckx",
                  "ranking": 1071
                },
                {
                  "player_name": "Ezequiel Unsaín",
                  "ranking": 1072
                },
                {
                  "player_name": "Mateo Ponte",
                  "ranking": 1073
                },
                {
                  "player_name": "Ismael Kandouss",
                  "ranking": 1074
                },
                {
                  "player_name": "Ante Oreč",
                  "ranking": 1075
                }
              ]
            }
          }
        },
        "Nidal Čelik": {
          "player_id": 1399503,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 4,
          "height": 192,
          "market_value": 3700000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 70.8792,
            "minutes": 14,
            "total_pass": 8,
            "accurate_pass": 7,
            "duels_won": 0,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 1.0412,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 7,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.3,
            "bench_expected_minutes": 13.61,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "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": 64.0
          },
          "latest_10_games": [
            {
              "match_id": 14061911,
              "match_date": "2026-05-17",
              "home_team": "Olympique Lyonnais",
              "away_team": "RC Lens",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "RC Lens",
              "opponent": "Olympique Lyonnais",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0027,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 47,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Ligue 1",
              "league_id": "34",
              "league_slug": "ligue-1",
              "league_country": "France",
              "season_id": "77356",
              "season_name": "Ligue 1 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 22372,
            "combined_rank_score": 6205.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 12177.0,
            "fifa_overall": 64.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 6.8792,
            "source_file": "data/player_rankings.csv",
            "player_name": "Nidal Čelik",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Sam Sanna",
                  "ranking": 22367
                },
                {
                  "player_name": "Emmanuel Fernandez",
                  "ranking": 22368
                },
                {
                  "player_name": "Khalis Merah",
                  "ranking": 22369
                },
                {
                  "player_name": "Alex Bonetig",
                  "ranking": 22370
                },
                {
                  "player_name": "Batuhan Şen",
                  "ranking": 22371
                }
              ],
              "lower": [
                {
                  "player_name": "Joshua Yaro",
                  "ranking": 22373
                },
                {
                  "player_name": "Rafael Profini",
                  "ranking": 22374
                },
                {
                  "player_name": "Nicolás Ratti",
                  "ranking": 22375
                },
                {
                  "player_name": "Sebastian Breza",
                  "ranking": 22376
                },
                {
                  "player_name": "Dominik Reimann",
                  "ranking": 22377
                }
              ]
            }
          }
        },
        "Stjepan Radeljić": {
          "player_id": 843746,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 6,
          "height": 201,
          "market_value": 2900000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "rating": 87.2316,
            "minutes": 14,
            "total_pass": 10,
            "accurate_pass": 9,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 1.1468,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.148,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0163,
            "expected_assists": 0.0148,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.1184,
            "ball_carries": 3,
            "total_progression": 9,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.299,
            "bench_expected_minutes": 13.57,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0176,
                "expected_assists": 0.2847,
                "total_shots": 1,
                "total_pass": 88,
                "accurate_pass": 81,
                "clearances": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 14023410,
              "match_date": "2026-05-08",
              "home_team": "HNK Rijeka",
              "away_team": "HNK Vukovar 1991",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "HNK Rijeka",
              "opponent": "HNK Vukovar 1991",
              "stats": {
                "minutes": 90,
                "rating": 8.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1464,
                "expected_assists": 0.1108,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 69,
                "accurate_pass": 62,
                "key_pass": 1,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "HNL",
              "league_id": "170",
              "league_slug": "hnl",
              "league_country": "Croatia",
              "season_id": "76980",
              "season_name": "HNL 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023412,
              "match_date": "2026-05-03",
              "home_team": "NK Lokomotiva Zagreb",
              "away_team": "HNK Rijeka",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "HNK Rijeka",
              "opponent": "NK Lokomotiva Zagreb",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0038,
                "total_shots": 0,
                "total_pass": 54,
                "accurate_pass": 48,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "HNL",
              "league_id": "170",
              "league_slug": "hnl",
              "league_country": "Croatia",
              "season_id": "76980",
              "season_name": "HNL 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14023418,
              "match_date": "2026-04-26",
              "home_team": "HNK Rijeka",
              "away_team": "HNK Hajduk Split",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "HNK Rijeka",
              "opponent": "HNK Hajduk Split",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.1534,
                "expected_assists": 0.0173,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 68,
                "accurate_pass": 61,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 4,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "HNL",
              "league_id": "170",
              "league_slug": "hnl",
              "league_country": "Croatia",
              "season_id": "76980",
              "season_name": "HNL 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 7071,
            "combined_rank_score": 533.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 418.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 3.0,
            "fifa_rank": 649.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "projected_match_rating": 7.2316,
            "source_file": "data/player_rankings.csv",
            "player_name": "Stjepan Radeljić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Azizkhon Isokov",
                  "ranking": 7066
                },
                {
                  "player_name": "Otabek Boymurodov",
                  "ranking": 7067
                },
                {
                  "player_name": "Matheus Henrique",
                  "ranking": 7068
                },
                {
                  "player_name": "Halam Loboa",
                  "ranking": 7069
                },
                {
                  "player_name": "Esteban Páez",
                  "ranking": 7070
                }
              ],
              "lower": [
                {
                  "player_name": "Jahmali Waite",
                  "ranking": 7072
                },
                {
                  "player_name": "Lucas Villalba",
                  "ranking": 7073
                },
                {
                  "player_name": "Rodrigo Echeverría",
                  "ranking": 7074
                },
                {
                  "player_name": "Jin-uk Jeong",
                  "ranking": 7075
                },
                {
                  "player_name": "Andreas Tetteh",
                  "ranking": 7076
                }
              ]
            }
          }
        },
        "Ermin Mahmić": {
          "player_id": 1149353,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 26,
          "height": 182,
          "market_value": 5200000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0051,
            "assists": 0,
            "expected_goals": 0.0659,
            "rating": 88.7557,
            "minutes": 22,
            "total_pass": 3,
            "accurate_pass": 2,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 4,
            "possession_lost": 0.7282,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.2427,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0437,
            "ball_carries": 1,
            "total_progression": 10,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.504,
            "bench_expected_minutes": 22.08,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 26,
                "rating": 7.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0534,
                "expected_assists": 0.0016,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 3,
                "accurate_pass": 3,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 7,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0616,
                "total_shots": 1,
                "shots_on_target": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 16073303,
              "match_date": "2026-05-13",
              "home_team": "FC Hradec Králové",
              "away_team": "FC Slovan Liberec",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "FC Slovan Liberec",
              "opponent": "FC Hradec Králové",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "expected_goals": 0.4291,
                "expected_assists": 0.0678,
                "total_shots": 5,
                "shots_off_target": 4,
                "total_pass": 19,
                "accurate_pass": 16,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Czech First League",
              "league_id": "172",
              "league_slug": "1-liga",
              "league_country": "Czech Republic",
              "season_id": "77019",
              "season_name": "Chance Liga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16073306,
              "match_date": "2026-05-09",
              "home_team": "FC Viktoria Plzeň",
              "away_team": "FC Slovan Liberec",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "FC Slovan Liberec",
              "opponent": "FC Viktoria Plzeň",
              "stats": {
                "minutes": 72,
                "rating": 6.1,
                "expected_goals": 0.1448,
                "expected_assists": 0.0018,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 11,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Czech First League",
              "league_id": "172",
              "league_slug": "1-liga",
              "league_country": "Czech Republic",
              "season_id": "77019",
              "season_name": "Chance Liga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 538,
            "combined_rank_score": 288.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 358.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "substitute",
            "projected_match_rating": 6.7557,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ermin Mahmic",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Montrell Culbreath",
                  "ranking": 533
                },
                {
                  "player_name": "Reinildo Mandava",
                  "ranking": 534
                },
                {
                  "player_name": "Sidny Lopes Cabral",
                  "ranking": 535
                },
                {
                  "player_name": "Jesús Ricardo Angulo",
                  "ranking": 536
                },
                {
                  "player_name": "Gaëtan Perrin",
                  "ranking": 537
                }
              ],
              "lower": [
                {
                  "player_name": "Adriano Jagušić",
                  "ranking": 539
                },
                {
                  "player_name": "Anísio Cabral",
                  "ranking": 540
                },
                {
                  "player_name": "Antony Alves",
                  "ranking": 541
                },
                {
                  "player_name": "Marc Pubill",
                  "ranking": 542
                },
                {
                  "player_name": "Omar Campos",
                  "ranking": 543
                }
              ]
            }
          }
        },
        "Amar Memić": {
          "player_id": 1129610,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 99,
          "height": 176,
          "market_value": 4400000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0021,
            "assists": 0,
            "expected_goals": 0.0,
            "rating": 78.4934,
            "minutes": 22,
            "total_pass": 4,
            "accurate_pass": 2,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 8,
            "possession_lost": 2.7177,
            "dispossessed": 0.9864,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0193,
            "ball_carries": 2,
            "total_progression": 6,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.502,
            "bench_expected_minutes": 22.04,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "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": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0008,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "assists": 0,
                "expected_goals": 0.0154,
                "expected_assists": 0.0086,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 18,
                "accurate_pass": 17,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 74,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0523,
                "expected_assists": 0.0024,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 7,
                "accurate_pass": 3,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 16073311,
              "match_date": "2026-05-17",
              "home_team": "FC Viktoria Plzeň",
              "away_team": "FK Jablonec",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "FC Viktoria Plzeň",
              "opponent": "FK Jablonec",
              "stats": {
                "minutes": 85,
                "rating": 6.8,
                "expected_goals": 0.1006,
                "expected_assists": 0.1581,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 20,
                "accurate_pass": 16,
                "key_pass": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Czech First League",
              "league_id": "172",
              "league_slug": "1-liga",
              "league_country": "Czech Republic",
              "season_id": "77019",
              "season_name": "Chance Liga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16073302,
              "match_date": "2026-05-12",
              "home_team": "AC Sparta Praha",
              "away_team": "FC Viktoria Plzeň",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "FC Viktoria Plzeň",
              "opponent": "AC Sparta Praha",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "expected_goals": 0.1051,
                "expected_assists": 0.0246,
                "total_shots": 3,
                "shots_on_target": 3,
                "total_pass": 28,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Czech First League",
              "league_id": "172",
              "league_slug": "1-liga",
              "league_country": "Czech Republic",
              "season_id": "77019",
              "season_name": "Chance Liga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 1,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 13,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 17653,
            "combined_rank_score": 2166.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 476.0,
            "sofascore_rating": 6.8444,
            "sofascore_appearances": 9.0,
            "fifa_rank": 3857.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "projected_match_rating": 6.4934,
            "source_file": "data/player_rankings.csv",
            "player_name": "Amar Memić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Justin Hammel",
                  "ranking": 17648
                },
                {
                  "player_name": "Jim Allevinah",
                  "ranking": 17649
                },
                {
                  "player_name": "Mauricio Martínez",
                  "ranking": 17650
                },
                {
                  "player_name": "Alvaro Núñez",
                  "ranking": 17651
                },
                {
                  "player_name": "Tomáš Suslov",
                  "ranking": 17652
                }
              ],
              "lower": [
                {
                  "player_name": "Tim Oermann",
                  "ranking": 17654
                },
                {
                  "player_name": "Ivan Smolčić",
                  "ranking": 17655
                },
                {
                  "player_name": "Kaio César",
                  "ranking": 17656
                },
                {
                  "player_name": "Ivan Leguizamon",
                  "ranking": 17657
                },
                {
                  "player_name": "Pedro Henrique",
                  "ranking": 17658
                }
              ]
            }
          }
        },
        "Haris Tabaković": {
          "player_id": 259803,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 196,
          "market_value": 3600000,
          "stats": {
            "expected_goals": 0.1072,
            "goal_rate": 0.2739,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.001,
            "key_pass": 0,
            "rating": 79.9122,
            "minutes": 25,
            "total_shots": 1,
            "duels_won": 1,
            "aerial_won": 1,
            "total_pass": 4,
            "accurate_pass": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 7,
            "possession_lost": 1.9369,
            "dispossessed": 0.9835,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.2297,
            "offsides": 2,
            "ball_carries": 1,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.56,
            "bench_expected_minutes": 25.32,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 14065559,
              "match_date": "2026-05-16",
              "home_team": "Borussia M'gladbach",
              "away_team": "TSG Hoffenheim",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Borussia M'gladbach",
              "opponent": "TSG Hoffenheim",
              "stats": {
                "minutes": 74,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.3871,
                "expected_assists": 0.0057,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 12,
                "accurate_pass": 8,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14065243,
              "match_date": "2026-05-03",
              "home_team": "Borussia M'gladbach",
              "away_team": "Borussia Dortmund",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Borussia M'gladbach",
              "opponent": "Borussia Dortmund",
              "stats": {
                "minutes": 89,
                "rating": 6.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 1.1286,
                "expected_assists": 0.004,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 10,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 63,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 13,
                "accurate_pass": 11,
                "key_pass": 1,
                "clearances": 3,
                "aerial_won": 4,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 17240,
            "combined_rank_score": 1834.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 122.0,
            "sofascore_rating": 7.35,
            "sofascore_appearances": 4.0,
            "fifa_rank": 3546.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.9122,
            "source_file": "data/player_rankings.csv",
            "player_name": "Haris Tabaković",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mostafa Mohamed",
                  "ranking": 17235
                },
                {
                  "player_name": "Nnamdi Collins",
                  "ranking": 17236
                },
                {
                  "player_name": "Lautaro Rivero",
                  "ranking": 17237
                },
                {
                  "player_name": "Matías Mansilla",
                  "ranking": 17238
                },
                {
                  "player_name": "Brandon Vázquez",
                  "ranking": 17239
                }
              ],
              "lower": [
                {
                  "player_name": "Marc Kempf",
                  "ranking": 17241
                },
                {
                  "player_name": "Domingos Duarte",
                  "ranking": 17242
                },
                {
                  "player_name": "Arnaud Nordin",
                  "ranking": 17243
                },
                {
                  "player_name": "Ricky van Wolfswinkel",
                  "ranking": 17244
                },
                {
                  "player_name": "Nathan Zeze",
                  "ranking": 17245
                }
              ]
            }
          }
        },
        "Jovo Lukić": {
          "player_id": 927797,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 25,
          "height": 190,
          "market_value": 2000000,
          "stats": {
            "expected_goals": 0.0358,
            "goal_rate": 0.0865,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0004,
            "key_pass": 0,
            "rating": 71.0163,
            "minutes": 25,
            "total_shots": 0,
            "duels_won": 2,
            "aerial_won": 1,
            "total_pass": 3,
            "accurate_pass": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 5,
            "possession_lost": 1.9302,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.273,
            "offsides": 0,
            "ball_carries": 1,
            "total_progression": 4,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.559,
            "bench_expected_minutes": 25.29,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 64.0
          },
          "latest_10_games": [
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 12,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 62,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.6891,
                "expected_assists": 0.0032,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 9,
                "duels_won": 10,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 22380,
            "combined_rank_score": 6216.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 12176.0,
            "fifa_overall": 64.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 7.0163,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jovo Lukić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicolás Ratti",
                  "ranking": 22375
                },
                {
                  "player_name": "Sebastian Breza",
                  "ranking": 22376
                },
                {
                  "player_name": "Dominik Reimann",
                  "ranking": 22377
                },
                {
                  "player_name": "Tristan Degreef",
                  "ranking": 22378
                },
                {
                  "player_name": "Ivan Jukić",
                  "ranking": 22379
                }
              ],
              "lower": [
                {
                  "player_name": "Wouter Prins",
                  "ranking": 22381
                },
                {
                  "player_name": "Gastón González",
                  "ranking": 22382
                },
                {
                  "player_name": "Hamza Güreler",
                  "ranking": 22383
                },
                {
                  "player_name": "Dario Špikić",
                  "ranking": 22384
                },
                {
                  "player_name": "Jake Young",
                  "ranking": 22385
                }
              ]
            }
          }
        }
      },
      "substitutes": {
        "Haris Tabaković": {
          "player_id": 259803,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 196,
          "market_value": 3600000,
          "stats": {
            "expected_goals": 0.1072,
            "goal_rate": 0.2739,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.001,
            "key_pass": 0,
            "rating": 79.9122,
            "minutes": 25,
            "total_shots": 1,
            "duels_won": 1,
            "aerial_won": 1,
            "total_pass": 4,
            "accurate_pass": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 7,
            "possession_lost": 1.9369,
            "dispossessed": 0.9835,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.2297,
            "offsides": 2,
            "ball_carries": 1,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.56,
            "bench_expected_minutes": 25.32,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 14065559,
              "match_date": "2026-05-16",
              "home_team": "Borussia M'gladbach",
              "away_team": "TSG Hoffenheim",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Borussia M'gladbach",
              "opponent": "TSG Hoffenheim",
              "stats": {
                "minutes": 74,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.3871,
                "expected_assists": 0.0057,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 12,
                "accurate_pass": 8,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14065243,
              "match_date": "2026-05-03",
              "home_team": "Borussia M'gladbach",
              "away_team": "Borussia Dortmund",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Borussia M'gladbach",
              "opponent": "Borussia Dortmund",
              "stats": {
                "minutes": 89,
                "rating": 6.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 1.1286,
                "expected_assists": 0.004,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 10,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Bundesliga",
              "league_id": "35",
              "league_slug": "bundesliga",
              "league_country": "Germany",
              "season_id": "77333",
              "season_name": "Bundesliga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 13233693,
              "match_date": "2025-11-18",
              "home_team": "Austria",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Austria",
              "stats": {
                "minutes": 63,
                "rating": 7.5,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 13,
                "accurate_pass": 11,
                "key_pass": 1,
                "clearances": 3,
                "aerial_won": 4,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "World Cup Qual. UEFA",
              "league_id": "11",
              "league_slug": "world-championship-qual-uefa",
              "league_country": "Europe",
              "season_id": "69427",
              "season_name": "World Cup Qualification, UEFA 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 17240,
            "combined_rank_score": 1834.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 122.0,
            "sofascore_rating": 7.35,
            "sofascore_appearances": 4.0,
            "fifa_rank": 3546.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.9122,
            "source_file": "data/player_rankings.csv",
            "player_name": "Haris Tabaković",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Mostafa Mohamed",
                  "ranking": 17235
                },
                {
                  "player_name": "Nnamdi Collins",
                  "ranking": 17236
                },
                {
                  "player_name": "Lautaro Rivero",
                  "ranking": 17237
                },
                {
                  "player_name": "Matías Mansilla",
                  "ranking": 17238
                },
                {
                  "player_name": "Brandon Vázquez",
                  "ranking": 17239
                }
              ],
              "lower": [
                {
                  "player_name": "Marc Kempf",
                  "ranking": 17241
                },
                {
                  "player_name": "Domingos Duarte",
                  "ranking": 17242
                },
                {
                  "player_name": "Arnaud Nordin",
                  "ranking": 17243
                },
                {
                  "player_name": "Ricky van Wolfswinkel",
                  "ranking": 17244
                },
                {
                  "player_name": "Nathan Zeze",
                  "ranking": 17245
                }
              ]
            }
          }
        },
        "Jovo Lukić": {
          "player_id": 927797,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 25,
          "height": 190,
          "market_value": 2000000,
          "stats": {
            "expected_goals": 0.0358,
            "goal_rate": 0.0865,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0004,
            "key_pass": 0,
            "rating": 71.0163,
            "minutes": 25,
            "total_shots": 0,
            "duels_won": 2,
            "aerial_won": 1,
            "total_pass": 3,
            "accurate_pass": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 5,
            "possession_lost": 1.9302,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.273,
            "offsides": 0,
            "ball_carries": 1,
            "total_progression": 4,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.559,
            "bench_expected_minutes": 25.29,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 64.0
          },
          "latest_10_games": [
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 12,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186836,
              "match_date": "2026-06-12",
              "home_team": "Canada",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Bosnia & Herzegovina",
              "opponent": "Canada",
              "stats": {
                "minutes": 62,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.6891,
                "expected_assists": 0.0032,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 9,
                "duels_won": 10,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            }
          ],
          "ranking": {
            "global_player_rank": 22380,
            "combined_rank_score": 6216.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 12176.0,
            "fifa_overall": 64.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 7.0163,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jovo Lukić",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicolás Ratti",
                  "ranking": 22375
                },
                {
                  "player_name": "Sebastian Breza",
                  "ranking": 22376
                },
                {
                  "player_name": "Dominik Reimann",
                  "ranking": 22377
                },
                {
                  "player_name": "Tristan Degreef",
                  "ranking": 22378
                },
                {
                  "player_name": "Ivan Jukić",
                  "ranking": 22379
                }
              ],
              "lower": [
                {
                  "player_name": "Wouter Prins",
                  "ranking": 22381
                },
                {
                  "player_name": "Gastón González",
                  "ranking": 22382
                },
                {
                  "player_name": "Hamza Güreler",
                  "ranking": 22383
                },
                {
                  "player_name": "Dario Špikić",
                  "ranking": 22384
                },
                {
                  "player_name": "Jake Young",
                  "ranking": 22385
                }
              ]
            }
          }
        },
        "Ermin Mahmić": {
          "player_id": 1149353,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 26,
          "height": 182,
          "market_value": 5200000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0051,
            "assists": 0,
            "expected_goals": 0.0659,
            "rating": 88.7557,
            "minutes": 22,
            "total_pass": 3,
            "accurate_pass": 2,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 4,
            "possession_lost": 0.7282,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.2427,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0437,
            "ball_carries": 1,
            "total_progression": 10,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.504,
            "bench_expected_minutes": 22.08,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.425,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 15186829,
              "match_date": "2026-06-24",
              "home_team": "Bosnia & Herzegovina",
              "away_team": "Qatar",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Qatar",
              "stats": {
                "minutes": 26,
                "rating": 7.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0534,
                "expected_assists": 0.0016,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 3,
                "accurate_pass": 3,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 15186806,
              "match_date": "2026-06-18",
              "home_team": "Switzerland",
              "away_team": "Bosnia & Herzegovina",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Bosnia & Herzegovina",
              "opponent": "Switzerland",
              "stats": {
                "minutes": 7,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0616,
                "total_shots": 1,
                "shots_on_target": 1
              },
              "has_player_stats": true,
              "league_name": "FIFA World Cup",
              "league_id": "16",
              "league_slug": "world-championship",
              "league_country": "World",
              "season_id": "58210",
              "season_name": "World Cup 2026",
              "season_year": "2026"
            },
            {
              "match_id": 16073303,
              "match_date": "2026-05-13",
              "home_team": "FC Hradec Králové",
              "away_team": "FC Slovan Liberec",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "FC Slovan Liberec",
              "opponent": "FC Hradec Králové",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "expected_goals": 0.4291,
                "expected_assists": 0.0678,
                "total_shots": 5,
                "shots_off_target": 4,
                "total_pass": 19,
                "accurate_pass": 16,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Czech First League",
              "league_id": "172",
              "league_slug": "1-liga",
              "league_country": "Czech Republic",
              "season_id": "77019",
              "season_name": "Chance Liga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 16073306,
              "match_date": "2026-05-09",
              "home_team": "FC Viktoria Plzeň",
              "away_team": "FC Slovan Liberec",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "FC Slovan Liberec",
              "opponent": "FC Viktoria Plzeň",
              "stats": {
                "minutes": 72,
                "rating": 6.1,
                "expected_goals": 0.1448,
                "expected_assists": 0.0018,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 11,
                "accurate_pass": 7,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Czech First League",
              "league_id": "172",
              "league_slug": "1-liga",
              "league_country": "Czech Republic",
              "season_id": "77019",
              "season_name": "Chance Liga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 538,
            "combined_rank_score": 288.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 358.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "substitute",
            "projected_match_rating": 6.7557,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ermin Mahmic",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Montrell Culbreath",
                  "ranking": 533
                },
                {
                  "player_name": "Reinildo Mandava",
                  "ranking": 534
                },
                {
                  "player_name": "Sidny Lopes Cabral",
                  "ranking": 535
                },
                {
                  "player_name": "Jesús Ricardo Angulo",
                  "ranking": 536
                },
                {
                  "player_name": "Gaëtan Perrin",
                  "ranking": 537
                }
              ],
              "lower": [
                {
                  "player_name": "Adriano Jagušić",
                  "ranking": 539
                },
                {
                  "player_name": "Anísio Cabral",
                  "ranking": 540
                },
                {
                  "player_name": "Antony Alves",
                  "ranking": 541
                },
                {
                  "player_name": "Marc Pubill",
                  "ranking": 542
                },
                {
                  "player_name": "Omar Campos",
                  "ranking": 543
                }
              ]
            }
          }
        }
      },
      "team_totals": {
        "projected_goals": 0,
        "expected_goals": 1.02,
        "expected_assists": 0.57,
        "total_shots": 11,
        "shots_on_target": 4,
        "total_passes": 322,
        "interceptions": 7,
        "tackles": 11,
        "avg_rating": 80.03,
        "possession_estimated_pct": 46.8,
        "pressing_actions_per_90": 6.2
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Sergiño Dest",
        "attacker_role": "ST",
        "attacker_market_value": 17200000,
        "attacker_height": 173,
        "attacker_skill_quality": 0.603,
        "defenders": [
          "Nikola Katić",
          "Tarik Muharemović"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.559,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.2444,
        "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.6,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Nikola Katić",
            "role": "CB",
            "market_value": 1900000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Tarik Muharemović",
            "role": "CB",
            "market_value": 27000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Sergiño Dest (ST) is heavily outmatched defensively against Nikola Katić and Tarik Muharemović in a 2-defender block. Duel win probability: 18%.  Projected xG contribution: 0.244 — with very limited chance creation expected."
      },
      {
        "attacker": "Folarin Balogun",
        "attacker_role": "SS",
        "attacker_market_value": 36000000,
        "attacker_height": 179,
        "attacker_skill_quality": 0.758,
        "defenders": [
          "Nikola Katić",
          "Ivan Bašić"
        ],
        "defender_roles": [
          "CB",
          "CM"
        ],
        "def_skill_quality_avg": 0.421,
        "duel_zone": "Shadow Striker vs CB + Mid Cover — Layered Defense",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.404,
        "xg_contribution": 0.1733,
        "shots_in_zone": 2.3,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.1,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Nikola Katić",
            "role": "CB",
            "market_value": 1900000,
            "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.596
          },
          {
            "player": "Ivan Bašić",
            "role": "CM",
            "market_value": 1500000,
            "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.596
          }
        ],
        "duel_analysis": "Folarin Balogun (SS) faces tough defensive resistance against Nikola Katić and Ivan Bašić in a 2-defender block. Duel win probability: 40%. The quality gap is significant (€36M vs €2M avg). Projected xG contribution: 0.173 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Malik Tillman",
        "attacker_role": "LWB",
        "attacker_market_value": 27000000,
        "attacker_height": 186,
        "attacker_skill_quality": 0.694,
        "defenders": [
          "Amar Dedić"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.585,
        "duel_zone": "Left Wingback vs Right Back — Overlapping Run",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.473,
        "xg_contribution": 0.1069,
        "shots_in_zone": 1.1,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.8,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 2.7,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Amar Dedić",
            "role": "RB",
            "market_value": 15500000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.7,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.527
          }
        ],
        "duel_analysis": "Malik Tillman (LWB) is evenly matched against Amar Dedić in a direct 1v1 contest. Duel win probability: 47%.  Projected xG contribution: 0.107 — with neither side clearly dominant."
      },
      {
        "attacker": "Tim Ream",
        "attacker_role": "RWB",
        "attacker_market_value": 145000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.402,
        "defenders": [
          "Sead Kolašinac"
        ],
        "defender_roles": [
          "LB"
        ],
        "def_skill_quality_avg": 0.452,
        "duel_zone": "Right Wingback vs Left Back — Overlapping Run",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.385,
        "xg_contribution": 0.0664,
        "shots_in_zone": 0.9,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 2.1,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Sead Kolašinac",
            "role": "LB",
            "market_value": 4200000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.8,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.615
          }
        ],
        "duel_analysis": "Tim Ream (RWB) faces tough defensive resistance against Sead Kolašinac in a direct 1v1 contest. Duel win probability: 39%.  Projected xG contribution: 0.066 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Weston McKennie",
        "attacker_role": "CM",
        "attacker_market_value": 31000000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.725,
        "defenders": [
          "Ivan Bašić"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.419,
        "duel_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.586,
        "xg_contribution": 0.0803,
        "shots_in_zone": 1.9,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.5,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.1,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Ivan Bašić",
            "role": "CM",
            "market_value": 1500000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.4,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.414
          }
        ],
        "duel_analysis": "Weston McKennie (CM) is slightly favored against Ivan Bašić in a direct 1v1 contest. Duel win probability: 59%. The quality gap is significant (€31M vs €2M avg). Projected xG contribution: 0.080 — creating consistent moderate threat."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "Kerim Alajbegović",
        "attacker_role": "LM",
        "attacker_market_value": 20000000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.631,
        "defenders": [
          "Antonee Robinson"
        ],
        "defender_roles": [
          "CB"
        ],
        "def_skill_quality_avg": 0.669,
        "duel_zone": "LM vs CB",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.411,
        "xg_contribution": 0.2508,
        "shots_in_zone": 1.5,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.1,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 2.4,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Antonee Robinson",
            "role": "CB",
            "market_value": 24000000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.9,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.589
          }
        ],
        "duel_analysis": "Kerim Alajbegović (LM) faces tough defensive resistance against Antonee Robinson in a direct 1v1 contest. Duel win probability: 41%.  Projected xG contribution: 0.251 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Ivan Bašić",
        "attacker_role": "CM",
        "attacker_market_value": 1500000,
        "attacker_height": 178,
        "attacker_skill_quality": 0.419,
        "defenders": [
          "Weston McKennie"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.725,
        "duel_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.254,
        "xg_contribution": 0.0311,
        "shots_in_zone": 1.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Weston McKennie",
            "role": "CM",
            "market_value": 31000000,
            "tackles_attempted": 2.2,
            "tackles_won": 2.3,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.746
          }
        ],
        "duel_analysis": "Ivan Bašić (CM) is heavily outmatched defensively against Weston McKennie in a direct 1v1 contest. Duel win probability: 25%. The quality gap is significant (€2M vs €31M avg). Projected xG contribution: 0.031 — with very limited chance creation expected."
      },
      {
        "attacker": "Benjamin Tahirović",
        "attacker_role": "CM",
        "attacker_market_value": 4400000,
        "attacker_height": 191,
        "attacker_skill_quality": 0.455,
        "defenders": [
          "Weston McKennie"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.725,
        "duel_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.322,
        "xg_contribution": 0.0902,
        "shots_in_zone": 1.4,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 1.3,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Weston McKennie",
            "role": "CM",
            "market_value": 31000000,
            "tackles_attempted": 2.2,
            "tackles_won": 2.1,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.678
          }
        ],
        "duel_analysis": "Benjamin Tahirović (CM) faces tough defensive resistance against Weston McKennie in a direct 1v1 contest. Duel win probability: 32%. The quality gap is significant (€4M vs €31M avg). Projected xG contribution: 0.090 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Edin Džeko",
        "attacker_role": "ST",
        "attacker_market_value": 905000,
        "attacker_height": 193,
        "attacker_skill_quality": 0.411,
        "defenders": [
          "Antonee Robinson",
          "Chris Richards"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.673,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.0405,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 2.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Antonee Robinson",
            "role": "CB",
            "market_value": 24000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Chris Richards",
            "role": "CB",
            "market_value": 25000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Edin Džeko (ST) is heavily outmatched defensively against Antonee Robinson and Chris Richards in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€1M vs €24M avg). Projected xG contribution: 0.041 — with very limited chance creation expected."
      },
      {
        "attacker": "Ermedin Demirović",
        "attacker_role": "ST",
        "attacker_market_value": 20000000,
        "attacker_height": 184,
        "attacker_skill_quality": 0.631,
        "defenders": [
          "Antonee Robinson",
          "Chris Richards"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.673,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.0521,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.7,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.6,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Antonee Robinson",
            "role": "CB",
            "market_value": 24000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Chris Richards",
            "role": "CB",
            "market_value": 25000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Ermedin Demirović (ST) is heavily outmatched defensively against Antonee Robinson and Chris Richards in a 2-defender block. Duel win probability: 18%.  Projected xG contribution: 0.052 — with very limited chance creation expected."
      },
      {
        "attacker": "Esmir Bajraktarević",
        "attacker_role": "RM",
        "attacker_market_value": 8199999,
        "attacker_height": 175,
        "attacker_skill_quality": 0.501,
        "defenders": [
          "Antonee Robinson"
        ],
        "defender_roles": [
          "CB"
        ],
        "def_skill_quality_avg": 0.669,
        "duel_zone": "RM vs CB",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.313,
        "xg_contribution": 0.1211,
        "shots_in_zone": 1.3,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.8,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 2.1,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Antonee Robinson",
            "role": "CB",
            "market_value": 24000000,
            "tackles_attempted": 2.1,
            "tackles_won": 2.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.687
          }
        ],
        "duel_analysis": "Esmir Bajraktarević (RM) is heavily outmatched defensively against Antonee Robinson in a direct 1v1 contest. Duel win probability: 31%. The quality gap is significant (€8M vs €24M avg). Projected xG contribution: 0.121 — with very limited chance creation expected."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.702,
      "away_midfield_power": 0.502,
      "home_creative_power": 0.712,
      "away_creative_power": 0.531,
      "home_defensive_power": 0.689,
      "away_defensive_power": 0.387,
      "home_dominance_ratio": 0.583,
      "home_midfield_count": 3,
      "away_midfield_count": 3,
      "home_midfield_players": [
        "Weston McKennie",
        "Malik Tillman",
        "Tyler Adams"
      ],
      "away_midfield_players": [
        "Kerim Alajbegović",
        "Ivan Bašić",
        "Benjamin Tahirović"
      ],
      "possession_advantage": "home",
      "estimated_possession_home_pct": 53.2,
      "estimated_possession_away_pct": 46.8,
      "home_pressing_actions_per_90": 8.0,
      "away_pressing_actions_per_90": 6.2,
      "home_key_passes_projected": 5.8,
      "away_key_passes_projected": 4.7,
      "home_throughball_threat": 2.7,
      "away_throughball_threat": 2.2,
      "key_personal_duel": "Weston McKennie vs Kerim Alajbegović",
      "midfield_lambda_factor_home": 1.039,
      "midfield_lambda_factor_away": 0.973
    },
    "formation_analysis": {
      "home_formation": "3-4-2-1",
      "away_formation": "4-4-2",
      "home_tactical_bonus": -0.04,
      "away_tactical_bonus": 0.04,
      "formation_verdict": "Tactical parity between 3-4-2-1 and 4-4-2. Match outcome driven primarily by individual player quality."
    },
    "home_lambda": 1.488,
    "away_lambda": 1.02,
    "home_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "Shadow Striker vs CB + Mid Cover — Layered Defense"
    ],
    "away_top_threat_zones": [
      "LM vs CB",
      "RM vs CB"
    ],
    "home_player_antagonists": {
      "Sergiño Dest": {
        "opponents": [
          "Nikola Katić",
          "Tarik Muharemović"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Folarin Balogun": {
        "opponents": [
          "Nikola Katić",
          "Ivan Bašić"
        ],
        "primary_zone": "Shadow Striker vs CB + Mid Cover — Layered Defense",
        "source": "attacking_duel"
      },
      "Malik Tillman": {
        "opponents": [
          "Amar Dedić",
          "Kerim Alajbegović"
        ],
        "primary_zone": "Left Wingback vs Right Back — Overlapping Run",
        "source": "attacking_duel, midfield_pairing"
      },
      "Tim Ream": {
        "opponents": [
          "Sead Kolašinac"
        ],
        "primary_zone": "Right Wingback vs Left Back — Overlapping Run",
        "source": "attacking_duel"
      },
      "Weston McKennie": {
        "opponents": [
          "Ivan Bašić",
          "Benjamin Tahirović"
        ],
        "primary_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Antonee Robinson": {
        "opponents": [
          "Kerim Alajbegović",
          "Edin Džeko",
          "Ermedin Demirović",
          "Esmir Bajraktarević"
        ],
        "primary_zone": "LM vs CB",
        "source": "defensive_duel"
      },
      "Chris Richards": {
        "opponents": [
          "Edin Džeko",
          "Ermedin Demirović"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Tyler Adams": {
        "opponents": [
          "Benjamin Tahirović"
        ],
        "primary_zone": "Midfield lane",
        "source": "midfield_pairing"
      },
      "Matthew Freese": {
        "opponents": [
          "Esmir Bajraktarević",
          "Ermedin Demirović"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Alexander Freeman": {
        "opponents": [
          "Esmir Bajraktarević"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Christian Pulišić": {
        "opponents": [
          "Tarik Muharemović",
          "Amar Dedić"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Nikola Katić": {
        "opponents": [
          "Sergiño Dest",
          "Folarin Balogun"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Tarik Muharemović": {
        "opponents": [
          "Sergiño Dest"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Ivan Bašić": {
        "opponents": [
          "Folarin Balogun",
          "Weston McKennie"
        ],
        "primary_zone": "Shadow Striker vs CB + Mid Cover — Layered Defense",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Amar Dedić": {
        "opponents": [
          "Malik Tillman"
        ],
        "primary_zone": "Left Wingback vs Right Back — Overlapping Run",
        "source": "defensive_duel"
      },
      "Sead Kolašinac": {
        "opponents": [
          "Tim Ream"
        ],
        "primary_zone": "Right Wingback vs Left Back — Overlapping Run",
        "source": "defensive_duel"
      },
      "Kerim Alajbegović": {
        "opponents": [
          "Antonee Robinson",
          "Malik Tillman"
        ],
        "primary_zone": "LM vs CB",
        "source": "attacking_duel, midfield_pairing"
      },
      "Benjamin Tahirović": {
        "opponents": [
          "Weston McKennie",
          "Tyler Adams"
        ],
        "primary_zone": "Central Mid vs Central Mid — Box-to-Box Midfield Contest",
        "source": "attacking_duel, midfield_pairing"
      },
      "Edin Džeko": {
        "opponents": [
          "Antonee Robinson",
          "Chris Richards"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Ermedin Demirović": {
        "opponents": [
          "Antonee Robinson",
          "Chris Richards"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Esmir Bajraktarević": {
        "opponents": [
          "Antonee Robinson"
        ],
        "primary_zone": "RM vs CB",
        "source": "attacking_duel"
      },
      "Nikola Vasilj": {
        "opponents": [
          "Christian Pulišić",
          "Folarin Balogun"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "key_tactical_insight": "Home midfield dominates with ~53% possession expected (Weston McKennie vs Kerim Alajbegović). Total antagonist xG — Home: 0.67, Away: 0.59. Home danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle. Away danger zone: LM vs CB.",
    "lambda_factors": {
      "home_gk_opposition_factor": 1.0051,
      "away_gk_opposition_factor": 1.0152,
      "home_set_piece_bonus": 0.104,
      "away_set_piece_bonus": 0.18,
      "home_defensive_solidity_vs": 0.9618,
      "away_defensive_solidity_vs": 0.9453,
      "home_midfield_factor": 1.039,
      "away_midfield_factor": 0.973,
      "stage_discount": 1.0,
      "quality_gap_applied": true,
      "home_avg_quality": 0.6449,
      "away_avg_quality": 0.5203,
      "avg_quality_gap": 0.1246,
      "squad_value_gap_log": 0.7585,
      "top5_value_gap_log": 0.5411,
      "attack_value_gap_log": 0.9788,
      "elite_count_gap": 1,
      "combined_quality_gap": 0.2315,
      "stronger_lambda_boost": 0.5094,
      "weaker_lambda_suppression": 0.3241,
      "home_bench_lambda_bonus": 0.0893,
      "away_bench_lambda_bonus": 0.1157,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "mismatch_score_pressure_applied": false,
      "competitive_underdog_floor_applied": true,
      "competitive_underdog_floor": 1.02,
      "pre_competitive_floor_home_lambda": 1.488,
      "pre_competitive_floor_away_lambda": 0.766,
      "pre_calibration_home_lambda": 1.4883,
      "pre_calibration_away_lambda": 0.7657,
      "competition_calibration_applied": false,
      "competition_calibration_reason": "no_sofascore_matches_data",
      "competition_calibration_samples": 0,
      "competition_observed_total_goals": 0.0,
      "competition_calibration_scale": 1.0,
      "neutral_share_preserved": true,
      "final_home_lambda": 1.488,
      "final_away_lambda": 1.02
    }
  },
  "home_standing": {
    "available": false,
    "team_position": null,
    "opponent_position": null,
    "standing_lambda_multiplier": 1.0,
    "attack_index": null,
    "defense_concede_index": null,
    "form_multiplier": null,
    "team_attack_rate_contextual": null,
    "opp_defense_rate_contextual": null,
    "team_ppg": null,
    "opponent_ppg": null
  },
  "away_standing": {
    "available": false,
    "team_position": null,
    "opponent_position": null,
    "standing_lambda_multiplier": 1.0,
    "attack_index": null,
    "defense_concede_index": null,
    "form_multiplier": null,
    "team_attack_rate_contextual": null,
    "opp_defense_rate_contextual": null,
    "team_ppg": null,
    "opponent_ppg": null
  },
  "timestamp": "2026-07-01T13:31:24Z"
}