{
  "schema_version": 1,
  "player_season": "2024-2025",
  "player_snapshot_loaded_at": "2026-05-09T20:18:00.788697+00:00",
  "snapshot_note": "This timestamp records loading the bundled file, not the last match played or a live update.",
  "player_source": "Bundled players_data-2024_2025.csv via master_normalised_stats_2026.csv",
  "source_limitation": "The manifest does not establish the original player-data supplier, collection date or redistribution licence.",
  "rating_context": "Role-specific difficulty-adjusted performance, age and minutes; missing injury history is neutral. Elo uses 2025-2026 matches.",
  "inputs_sha256": {
    "data/master_normalised_stats_2026.csv": "7e93095575641db1e67770dcbc296b6b583a46bf47b9e562ee4e96f9e72c3c43",
    "data/players_data-2024_2025.csv": "18fe8dbf3864be735d08a56c8a40f71ff0698e85a6610e0242ba82cfbb58746e",
    "data/scout_manifest.json": "1e87380915d14c9b8b557fe01bfe4557fc7c4aae9bd424abb9d1fa71108e1924",
    "data/team_multipliers.json": "3d1a4dc8331cab86aaf3757227e12c0d62feccc67e7755a2bccb8a253a8c74a9"
  },
  "percentile_basis": {
    "position": "FW",
    "rows": 371,
    "method": "midpoint rank of raw values; no additional minutes filter",
    "metrics": {
      "xG": {
        "column": "xG",
        "available_rows": 371
      },
      "npxG": {
        "column": "npxG",
        "available_rows": 371
      },
      "Ast": {
        "column": "Ast",
        "available_rows": 371
      },
      "Prog passes": {
        "column": "PrgP",
        "available_rows": 371
      },
      "Prog carries": {
        "column": "PrgC",
        "available_rows": 371
      },
      "Tkl+Int": {
        "column": "Tkl+Int",
        "available_rows": 371
      },
      "Shot accuracy": {
        "column": "SoT%",
        "available_rows": 322
      },
      "Finishing efficiency": {
        "column": "G/Sh",
        "available_rows": 322
      },
      "Reception threat": {
        "column": "PrgR",
        "available_rows": 371
      },
      "Link-up creation": {
        "column": "SCA90",
        "available_rows": 371
      },
      "Aerial outlet": {
        "column": "Won%",
        "available_rows": 333
      },
      "Penalty-area presence": {
        "column": "Att Pen",
        "available_rows": 371
      },
      "Shot quality": {
        "column": "npxG/Sh",
        "available_rows": 322
      },
      "Shot volume": {
        "column": "Sh/90",
        "available_rows": 371
      },
      "Expected assist value": {
        "column": "xAG",
        "available_rows": 371
      }
    }
  },
  "player": {
    "name": "Kylian Mbappé",
    "club": "Real Madrid",
    "position": "FW",
    "minutes": 2907.0,
    "rating": 83,
    "metrics": [
      {
        "label": "Expected goals (xG)",
        "column": "xG",
        "value": 25.9,
        "percentile": 99.59568733153638,
        "rank_label": "99th percentile",
        "available_rows": 371
      },
      {
        "label": "Touches in the penalty area",
        "column": "Att Pen",
        "value": 320.0,
        "percentile": 99.59568733153638,
        "rank_label": "99th percentile",
        "available_rows": 371
      },
      {
        "label": "Progressive passes received",
        "column": "PrgR",
        "value": 386.0,
        "percentile": 99.32614555256065,
        "rank_label": "99th percentile",
        "available_rows": 371
      },
      {
        "label": "Progressive passes",
        "column": "PrgP",
        "value": 140.0,
        "percentile": 99.05660377358491,
        "rank_label": "99th percentile",
        "available_rows": 371
      },
      {
        "label": "Non-penalty xG",
        "column": "npxG",
        "value": 18.6,
        "percentile": 98.78706199460916,
        "rank_label": "99th percentile",
        "available_rows": 371
      },
      {
        "label": "Progressive carries",
        "column": "PrgC",
        "value": 150.0,
        "percentile": 98.78706199460916,
        "rank_label": "99th percentile",
        "available_rows": 371
      }
    ]
  },
  "comparison": {
    "player_a": "Kylian Mbappé",
    "player_b": "Erling Haaland",
    "minutes_a": 2907.0,
    "minutes_b": 2736.0,
    "club_a": "Real Madrid",
    "club_b": "Manchester City",
    "metrics": [
      {
        "label": "Goals",
        "column": "Gls",
        "a": 31.0,
        "b": 22.0
      },
      {
        "label": "Assists",
        "column": "Ast",
        "a": 3.0,
        "b": 3.0
      },
      {
        "label": "Expected goals",
        "column": "xG",
        "a": 25.9,
        "b": 22.0
      },
      {
        "label": "Shots on target",
        "column": "SoT",
        "a": 75.0,
        "b": 55.0
      },
      {
        "label": "Key passes",
        "column": "KP",
        "a": 51.0,
        "b": 29.0
      },
      {
        "label": "Progressive carries",
        "column": "PrgC",
        "a": 150.0,
        "b": 24.0
      }
    ],
    "basis": "Raw season totals; not adjusted per 90 or for league strength."
  },
  "xi": {
    "selection": "Manually selected example Premier League 4-3-3; not a highest-rated XI or a live team of the week.",
    "picks": [
      {
        "pos": "GK",
        "player": "Alisson",
        "squad": "Liverpool",
        "rating": 70
      },
      {
        "pos": "DF",
        "player": "Trent Alexander-Arnold",
        "squad": "Liverpool",
        "rating": 65
      },
      {
        "pos": "DF",
        "player": "William Saliba",
        "squad": "Arsenal",
        "rating": 82
      },
      {
        "pos": "DF",
        "player": "Virgil van Dijk",
        "squad": "Liverpool",
        "rating": 76
      },
      {
        "pos": "DF",
        "player": "Joško Gvardiol",
        "squad": "Manchester City",
        "rating": 80
      },
      {
        "pos": "MF",
        "player": "Declan Rice",
        "squad": "Arsenal",
        "rating": 83
      },
      {
        "pos": "MF",
        "player": "Bruno Fernandes",
        "squad": "Manchester Utd",
        "rating": 84
      },
      {
        "pos": "MF",
        "player": "Cole Palmer",
        "squad": "Chelsea",
        "rating": 87
      },
      {
        "pos": "FW",
        "player": "Mohamed Salah",
        "squad": "Liverpool",
        "rating": 78
      },
      {
        "pos": "FW",
        "player": "Erling Haaland",
        "squad": "Manchester City",
        "rating": 82
      },
      {
        "pos": "FW",
        "player": "Alexander Isak",
        "squad": "Newcastle Utd",
        "rating": 82
      }
    ]
  },
  "analysis": [
    {
      "player": "Kylian Mbappé",
      "club": "Real Madrid",
      "position": "FW",
      "role": "forward",
      "role_estimate": null,
      "profile_label": "Forward",
      "supporting_metrics": [
        {
          "column": "Gls",
          "label": "Goals",
          "unit": "per 90",
          "raw_value": 31.0,
          "value": 0.9597523219814241,
          "median": 0.35714285714285715,
          "percentile": 97.39884393063583,
          "peer_rows": 173
        },
        {
          "column": "npxG",
          "label": "Non-penalty xG",
          "unit": "per 90",
          "raw_value": 18.6,
          "value": 0.5758513931888546,
          "median": 0.31924198250728864,
          "percentile": 90.46242774566474,
          "peer_rows": 173
        },
        {
          "column": "xAG",
          "label": "Expected assisted goals",
          "unit": "per 90",
          "raw_value": 7.7,
          "value": 0.23839009287925697,
          "median": 0.11377506538796861,
          "percentile": 86.9942196531792,
          "peer_rows": 173
        },
        {
          "column": "PrgC",
          "label": "Progressive carries",
          "unit": "per 90",
          "raw_value": 150.0,
          "value": 4.643962848297214,
          "median": 1.452245965983428,
          "percentile": 89.88439306358381,
          "peer_rows": 173
        },
        {
          "column": "PrgR",
          "label": "Progressive passes received",
          "unit": "per 90",
          "raw_value": 386.0,
          "value": 11.95046439628483,
          "median": 5.625,
          "percentile": 95.08670520231213,
          "peer_rows": 173
        },
        {
          "column": "Sh",
          "label": "Shots",
          "unit": "per 90",
          "raw_value": 152.0,
          "value": 4.705882352941177,
          "median": 2.412539754656974,
          "percentile": 99.13294797687861,
          "peer_rows": 173
        },
        {
          "column": "npxG/Sh",
          "label": "Non-penalty xG per shot",
          "unit": "xG per shot",
          "raw_value": 0.12,
          "value": 0.12,
          "median": 0.13,
          "percentile": 36.99421965317919,
          "peer_rows": 173
        },
        {
          "column": "KP",
          "label": "Key passes",
          "unit": "per 90",
          "raw_value": 51.0,
          "value": 1.5789473684210527,
          "median": 0.9856495468277946,
          "percentile": 83.52601156069365,
          "peer_rows": 173
        }
      ],
      "minutes": 2907.0,
      "peer_rows": 173,
      "min_minutes": 900,
      "basis": "Exact position label FW; at least 900 minutes; includes the selected row when eligible. No league or possession adjustment.",
      "sample_note": "2,907 minutes recorded; meets the 900-minute peer threshold.",
      "metrics": [
        {
          "column": "Gls",
          "label": "Goals",
          "unit": "per 90",
          "raw_value": 31.0,
          "value": 0.9597523219814241,
          "median": 0.35714285714285715,
          "percentile": 97.39884393063583,
          "peer_rows": 173
        },
        {
          "column": "npxG",
          "label": "Non-penalty xG",
          "unit": "per 90",
          "raw_value": 18.6,
          "value": 0.5758513931888546,
          "median": 0.31924198250728864,
          "percentile": 90.46242774566474,
          "peer_rows": 173
        },
        {
          "column": "xAG",
          "label": "Expected assisted goals",
          "unit": "per 90",
          "raw_value": 7.7,
          "value": 0.23839009287925697,
          "median": 0.11377506538796861,
          "percentile": 86.9942196531792,
          "peer_rows": 173
        },
        {
          "column": "PrgC",
          "label": "Progressive carries",
          "unit": "per 90",
          "raw_value": 150.0,
          "value": 4.643962848297214,
          "median": 1.452245965983428,
          "percentile": 89.88439306358381,
          "peer_rows": 173
        },
        {
          "column": "PrgR",
          "label": "Progressive passes received",
          "unit": "per 90",
          "raw_value": 386.0,
          "value": 11.95046439628483,
          "median": 5.625,
          "percentile": 95.08670520231213,
          "peer_rows": 173
        }
      ],
      "notes": [
        "Highest rank among the displayed metrics: goals at 0.96 per 90, compared with a group median of 0.36.",
        "31 goals against 25.9 expected goals: +5.10 across the recorded season. This difference does not establish repeatable finishing skill.",
        "Shot profile: 4.71 shots per 90 versus a peer median of 2.41, with 0.12 non-penalty xG per shot versus 0.13. This separates shot volume from the average quality of recorded chances.",
        "Chance creation: 1.58 key passes and 0.24 expected assisted goals per 90; peer medians are 0.99 and 0.11. These measure passes leading to shots and the quality of those shots."
      ]
    },
    {
      "player": "Trent Alexander-Arnold",
      "club": "Liverpool",
      "position": "DF",
      "role": "defender",
      "role_estimate": {
        "method": "defender-six-signal-v1",
        "role": "full_back",
        "label": "Full-back-like",
        "status": "inferred",
        "evidence": [
          {
            "column": "crosses",
            "label": "Crosses",
            "unit": "per 90",
            "group": "wide",
            "value": 5.822410147991543,
            "median": 0.7514450867052023,
            "percentile": 96.59270998415214,
            "peer_rows": 631
          },
          {
            "column": "carries",
            "label": "Progressive carries",
            "unit": "per 90",
            "group": "wide",
            "value": 1.9408033826638478,
            "median": 1.0505836575875487,
            "percentile": 76.14896988906497,
            "peer_rows": 631
          },
          {
            "column": "attacking_touches",
            "label": "Attacking-third share of touches",
            "unit": "%",
            "group": "wide",
            "value": 29.307282415630553,
            "median": 14.363143631436316,
            "percentile": 80.5863708399366,
            "peer_rows": 631
          },
          {
            "column": "clearances",
            "label": "Clearances",
            "unit": "per 90",
            "group": "central",
            "value": 2.0930232558139537,
            "median": 3.494550408719346,
            "percentile": 15.134706814580031,
            "peer_rows": 631
          },
          {
            "column": "aerials",
            "label": "Aerial contests",
            "unit": "per 90",
            "group": "central",
            "value": 0.6088794926004228,
            "median": 2.5324675324675323,
            "percentile": 0.554675118858954,
            "peer_rows": 631
          },
          {
            "column": "defensive_touches",
            "label": "Defensive-third share of touches",
            "unit": "%",
            "group": "central",
            "value": 26.332149200710482,
            "median": 36.357908002520475,
            "percentile": 18.462757527733757,
            "peer_rows": 631
          }
        ],
        "wide_score": 86.52931854199683,
        "central_score": 13.47068145800317,
        "side": null,
        "basis": "Six equally weighted percentile signals within eligible defenders: crosses, progressive carries and attacking-third touch share versus clearances, aerial contests and defensive-third touch share. At least 900 minutes, 30 defender rows and 20 available rows per signal. Each profile averages its three signals and the complements of the opposing three. A role hint needs all six signals, a leading score of at least 65 and a gap of at least 20 points, with two supporting signals at or above 65. These heuristic scores are not probabilities. Team tactics affect the figures; side and exact duties require position data or video.",
        "cohort_rows": 631,
        "min_minutes": 900,
        "reason": "Full-back-like profile inferred from season statistics. The leading signal group averages 87/100, with a 73-point gap. This identifies a statistical tendency, not a confirmed position or side."
      },
      "profile_label": "Full-back-like · inferred",
      "supporting_metrics": [
        {
          "column": "Tkl+Int",
          "label": "Tackles + interceptions",
          "unit": "per 90",
          "raw_value": 103.0,
          "value": 3.919661733615222,
          "median": 2.710876425446461,
          "percentile": 90.69548872180451,
          "peer_rows": 532
        },
        {
          "column": "PrgP",
          "label": "Progressive passes",
          "unit": "per 90",
          "raw_value": 232.0,
          "value": 8.828752642706132,
          "median": 3.34777664349732,
          "percentile": 99.53007518796993,
          "peer_rows": 532
        },
        {
          "column": "PrgC",
          "label": "Progressive carries",
          "unit": "per 90",
          "raw_value": 51.0,
          "value": 1.9408033826638478,
          "median": 0.892111514593384,
          "percentile": 82.80075187969925,
          "peer_rows": 532
        },
        {
          "column": "Int",
          "label": "Interceptions",
          "unit": "per 90",
          "raw_value": 31.0,
          "value": 1.1797040169133193,
          "median": 1.0169895056993763,
          "percentile": 64.75563909774436,
          "peer_rows": 532
        },
        {
          "column": "Won%",
          "label": "Aerial duels won",
          "unit": "%",
          "raw_value": 18.8,
          "value": 18.8,
          "median": 55.6,
          "percentile": 0.09398496240601503,
          "peer_rows": 532
        },
        {
          "column": "Cmp%",
          "label": "Pass completion",
          "unit": "%",
          "raw_value": 73.5,
          "value": 73.5,
          "median": 84.65,
          "percentile": 7.518796992481203,
          "peer_rows": 532
        },
        {
          "column": "Crs",
          "label": "Crosses",
          "unit": "per 90",
          "raw_value": 153.0,
          "value": 5.822410147991543,
          "median": 0.45222134620687515,
          "percentile": 97.27443609022556,
          "peer_rows": 532
        },
        {
          "column": "CrsPA",
          "label": "Crosses into penalty area",
          "unit": "per 90",
          "raw_value": 20.0,
          "value": 0.7610993657505285,
          "median": 0.08881925897598797,
          "percentile": 94.45488721804512,
          "peer_rows": 532
        }
      ],
      "minutes": 2365.0,
      "peer_rows": 532,
      "min_minutes": 900,
      "basis": "Exact position label DF; at least 900 minutes; includes the selected row when eligible. No league or possession adjustment.",
      "sample_note": "2,365 minutes recorded; meets the 900-minute peer threshold.",
      "metrics": [
        {
          "column": "Tkl+Int",
          "label": "Tackles + interceptions",
          "unit": "per 90",
          "raw_value": 103.0,
          "value": 3.919661733615222,
          "median": 2.710876425446461,
          "percentile": 90.69548872180451,
          "peer_rows": 532
        },
        {
          "column": "PrgP",
          "label": "Progressive passes",
          "unit": "per 90",
          "raw_value": 232.0,
          "value": 8.828752642706132,
          "median": 3.34777664349732,
          "percentile": 99.53007518796993,
          "peer_rows": 532
        },
        {
          "column": "PrgC",
          "label": "Progressive carries",
          "unit": "per 90",
          "raw_value": 51.0,
          "value": 1.9408033826638478,
          "median": 0.892111514593384,
          "percentile": 82.80075187969925,
          "peer_rows": 532
        },
        {
          "column": "Int",
          "label": "Interceptions",
          "unit": "per 90",
          "raw_value": 31.0,
          "value": 1.1797040169133193,
          "median": 1.0169895056993763,
          "percentile": 64.75563909774436,
          "peer_rows": 532
        },
        {
          "column": "Won%",
          "label": "Aerial duels won",
          "unit": "%",
          "raw_value": 18.8,
          "value": 18.8,
          "median": 55.6,
          "percentile": 0.09398496240601503,
          "peer_rows": 532
        },
        {
          "column": "Cmp%",
          "label": "Pass completion",
          "unit": "%",
          "raw_value": 73.5,
          "value": 73.5,
          "median": 84.65,
          "percentile": 7.518796992481203,
          "peer_rows": 532
        },
        {
          "column": "Crs",
          "label": "Crosses",
          "unit": "per 90",
          "raw_value": 153.0,
          "value": 5.822410147991543,
          "median": 0.45222134620687515,
          "percentile": 97.27443609022556,
          "peer_rows": 532
        },
        {
          "column": "CrsPA",
          "label": "Crosses into penalty area",
          "unit": "per 90",
          "raw_value": 20.0,
          "value": 0.7610993657505285,
          "median": 0.08881925897598797,
          "percentile": 94.45488721804512,
          "peer_rows": 532
        }
      ],
      "notes": [
        "Full-back-like profile, inferred from the stats: crosses 5.82 per 90 versus a defender median of 0.75; attacking-third share of touches 29.31% versus a defender median of 14.36; aerial contests 0.61 per 90 versus a defender median of 2.53. The data does not establish left or right side.",
        "Passing contrast: 8.83 progressive passes per 90 against a median of 3.35, alongside 73.5% pass completion against 84.65%. Completion alone does not account for pass difficulty.",
        "Ball-winning volume: 3.92 tackles plus interceptions per 90 versus 2.71 for peers; interceptions account for 1.18 per 90 versus 1.02. More defensive actions can reflect more time spent defending, rather than greater efficiency.",
        "Aerial record: 3 of 16 contests won, with a recorded success rate of 18.8% versus a peer median of 55.6%. Read that percentage alongside the 16-contest sample."
      ]
    }
  ],
  "player_vector_comparison": {
    "distance": 0.3306820583499035,
    "similarity_index": 66.93179416500965,
    "shared_dimensions": 83,
    "active_dimensions": 83,
    "cohort_rows": 173,
    "method": "per90-minmax-rms-v2",
    "configured_dimensions": 83,
    "player_a": "Kylian Mbappé",
    "player_b": "Erling Haaland",
    "minutes_a": 2907.0,
    "minutes_b": 2736.0,
    "position_a": "FW",
    "position_b": "FW",
    "min_minutes": 900,
    "same_position_only": true,
    "metrics": [
      {
        "column": "Sw",
        "label": "Switches",
        "unit": "per 90",
        "a": 0.5882352941176471,
        "b": 0.0,
        "a_scaled": 0.7892156862745099,
        "b_scaled": 0.0,
        "gap_share": 6.862653321460116
      },
      {
        "column": "Att 3rd_stats_possession",
        "label": "Touches in attacking third",
        "unit": "per 90",
        "a": 34.4891640866873,
        "b": 12.631578947368421,
        "a_scaled": 0.7611110789193615,
        "b_scaled": 0.1463810357115954,
        "gap_share": 4.163604988893346
      },
      {
        "column": "PrgR",
        "label": "Progressive passes received",
        "unit": "per 90",
        "a": 11.95046439628483,
        "b": 4.078947368421052,
        "a_scaled": 0.7382773183938323,
        "b_scaled": 0.14675874462128946,
        "gap_share": 3.855115687879869
      },
      {
        "column": "Carries",
        "label": "Carries",
        "unit": "per 90",
        "a": 32.972136222910216,
        "b": 10.197368421052632,
        "a_scaled": 0.6430156244276943,
        "b_scaled": 0.056231993763696045,
        "gap_share": 3.793644430228678
      },
      {
        "column": "PrgDist_stats_possession",
        "label": "Progressive carrying distance",
        "unit": "yards per 90",
        "a": 117.89473684210526,
        "b": 18.980263157894736,
        "a_scaled": 0.6383568084109021,
        "b_scaled": 0.0693251999920848,
        "gap_share": 3.56757757510408
      },
      {
        "column": "TotDist_stats_possession",
        "label": "Carrying distance",
        "unit": "yards per 90",
        "a": 216.31578947368422,
        "b": 49.14473684210526,
        "a_scaled": 0.6502142983639451,
        "b_scaled": 0.08389913934052712,
        "gap_share": 3.5335969949087684
      },
      {
        "column": "Rec",
        "label": "Passes received",
        "unit": "per 90",
        "a": 41.95046439628483,
        "b": 15.723684210526315,
        "a_scaled": 0.6409247350151933,
        "b_scaled": 0.07631936274971929,
        "gap_share": 3.5122923313203005
      },
      {
        "column": "PrgC",
        "label": "Progressive carries",
        "unit": "per 90",
        "a": 4.643962848297214,
        "b": 0.7894736842105263,
        "a_scaled": 0.65765881794247,
        "b_scaled": 0.09461817599357489,
        "gap_share": 3.4928515851734017
      },
      {
        "column": "PrgP",
        "label": "Progressive passes",
        "unit": "per 90",
        "a": 4.3343653250774,
        "b": 0.6578947368421053,
        "a_scaled": 0.5784348842635024,
        "b_scaled": 0.02348269653888059,
        "gap_share": 3.3932181295696098
      },
      {
        "column": "Touches",
        "label": "Touches",
        "unit": "per 90",
        "a": 48.6687306501548,
        "b": 21.019736842105264,
        "a_scaled": 0.5980032784820181,
        "b_scaled": 0.04661511298728814,
        "gap_share": 3.3497741300050676
      },
      {
        "column": "Cmp",
        "label": "Completed passes",
        "unit": "per 90",
        "a": 29.38080495356037,
        "b": 8.388157894736842,
        "a_scaled": 0.5713044845156476,
        "b_scaled": 0.029225144219414072,
        "gap_share": 3.2376235819890797
      },
      {
        "column": "TotDist",
        "label": "Passing distance",
        "unit": "yards per 90",
        "a": 421.73374613003097,
        "b": 101.51315789473684,
        "a_scaled": 0.5423428560592342,
        "b_scaled": 0.01543278546478166,
        "gap_share": 3.058958896465443
      },
      {
        "column": "CPA",
        "label": "Carries into penalty area",
        "unit": "per 90",
        "a": 2.972136222910217,
        "b": 0.756578947368421,
        "a_scaled": 0.7019101583036392,
        "b_scaled": 0.17867634889109565,
        "gap_share": 3.0164229787328956
      },
      {
        "column": "Att",
        "label": "Attempted passes",
        "unit": "per 90",
        "a": 35.44891640866873,
        "b": 12.532894736842104,
        "a_scaled": 0.5464273662383268,
        "b_scaled": 0.029611761896755656,
        "gap_share": 2.942875429445504
      },
      {
        "column": "Live",
        "label": "Live-ball passes",
        "unit": "per 90",
        "a": 33.250773993808046,
        "b": 12.236842105263158,
        "a_scaled": 0.5614190731819496,
        "b_scaled": 0.05065108262523001,
        "gap_share": 2.8744051888925037
      },
      {
        "column": "Att_stats_possession",
        "label": "Take-ons attempted",
        "unit": "per 90",
        "a": 5.7894736842105265,
        "b": 1.1842105263157894,
        "a_scaled": 0.5640810538054472,
        "b_scaled": 0.08248890237300358,
        "gap_share": 2.555403258381716
      },
      {
        "column": "1/3_stats_possession",
        "label": "Carries into final third",
        "unit": "per 90",
        "a": 2.9411764705882355,
        "b": 0.4934210526315789,
        "a_scaled": 0.5780494015788135,
        "b_scaled": 0.0969753930280246,
        "gap_share": 2.5499075220960457
      },
      {
        "column": "Tkld",
        "label": "Tackled during take-ons",
        "unit": "per 90",
        "a": 2.8173374613003097,
        "b": 0.6578947368421053,
        "a_scaled": 0.5883494227405621,
        "b_scaled": 0.11350100680051473,
        "gap_share": 2.484337702207798
      },
      {
        "column": "Att Pen",
        "label": "Touches in attacking penalty area",
        "unit": "per 90",
        "a": 9.907120743034056,
        "b": 6.25,
        "a_scaled": 1.0,
        "b_scaled": 0.5256819051292672,
        "gap_share": 2.4787916758209136
      },
      {
        "column": "PPA",
        "label": "Passes into penalty area",
        "unit": "per 90",
        "a": 1.609907120743034,
        "b": 0.2631578947368421,
        "a_scaled": 0.5377654662973222,
        "b_scaled": 0.0879039704524469,
        "gap_share": 2.229760866614468
      },
      {
        "column": "Dist",
        "label": "Mean shot distance",
        "unit": "yards",
        "a": 17.3,
        "b": 12.3,
        "a_scaled": 0.6000000000000001,
        "b_scaled": 0.16521739130434787,
        "gap_share": 2.082787540839585
      },
      {
        "column": "Succ",
        "label": "Successful take-ons",
        "unit": "per 90",
        "a": 2.569659442724458,
        "b": 0.4276315789473684,
        "a_scaled": 0.4992499930671629,
        "b_scaled": 0.07086494076836006,
        "gap_share": 2.0219446378828088
      },
      {
        "column": "1/3",
        "label": "Passes into final third",
        "unit": "per 90",
        "a": 2.321981424148607,
        "b": 0.32894736842105265,
        "a_scaled": 0.47079967398261713,
        "b_scaled": 0.051624996646407406,
        "gap_share": 1.9359347724977316
      },
      {
        "column": "Cmp%",
        "label": "Pass completion",
        "unit": "%",
        "a": 82.9,
        "b": 66.9,
        "a_scaled": 0.8362282878411912,
        "b_scaled": 0.4392059553349877,
        "gap_share": 1.7367228412874895
      },
      {
        "column": "A-xAG",
        "label": "Assists minus xAG",
        "unit": "per 90",
        "a": -0.14551083591331268,
        "b": 0.0,
        "a_scaled": 0.10931504124171161,
        "b_scaled": 0.4956733989740954,
        "gap_share": 1.6446794493967762
      },
      {
        "column": "xA",
        "label": "Expected assists",
        "unit": "per 90",
        "a": 0.2043343653250774,
        "b": 0.06578947368421052,
        "a_scaled": 0.5356217003690319,
        "b_scaled": 0.1576833566105642,
        "gap_share": 1.573774681347088
      },
      {
        "column": "TO",
        "label": "Shot-creating take-ons",
        "unit": "per 90",
        "a": 0.7120743034055728,
        "b": 0.2631578947368421,
        "a_scaled": 0.5946445060018467,
        "b_scaled": 0.21975992613111725,
        "gap_share": 1.548445046260047
      },
      {
        "column": "Sh/90",
        "label": "Shots",
        "unit": "per 90",
        "a": 4.71,
        "b": 3.42,
        "a_scaled": 0.9282051282051281,
        "b_scaled": 0.5974358974358974,
        "gap_share": 1.2054545752861265
      },
      {
        "column": "Sh",
        "label": "Shots",
        "unit": "per 90",
        "a": 4.705882352941177,
        "b": 3.4210526315789473,
        "a_scaled": 0.926232769364824,
        "b_scaled": 0.5975263192995027,
        "gap_share": 1.1904662714542609
      },
      {
        "column": "SCA90",
        "label": "Shot-creating actions",
        "unit": "per 90",
        "a": 4.12,
        "b": 2.34,
        "a_scaled": 0.6678966789667897,
        "b_scaled": 0.3394833948339483,
        "gap_share": 1.188343717911507
      },
      {
        "column": "SCA",
        "label": "Shot-creating actions",
        "unit": "per 90",
        "a": 4.117647058823529,
        "b": 2.335526315789474,
        "a_scaled": 0.6671664350666763,
        "b_scaled": 0.33886502852978273,
        "gap_share": 1.1875342111134195
      },
      {
        "column": "Clr",
        "label": "Clearances",
        "unit": "per 90",
        "a": 0.030959752321981424,
        "b": 0.756578947368421,
        "a_scaled": 0.013523813378120425,
        "b_scaled": 0.3304881894278179,
        "gap_share": 1.106933551972793
      },
      {
        "column": "Mis",
        "label": "Miscontrols",
        "unit": "per 90",
        "a": 2.6006191950464395,
        "b": 1.480263157894737,
        "a_scaled": 0.41919363275230775,
        "b_scaled": 0.11375798672401362,
        "gap_share": 1.027874480104409
      },
      {
        "column": "npxG/Sh",
        "label": "Non-penalty xG per shot",
        "unit": "per shot",
        "a": 0.12,
        "b": 0.19,
        "a_scaled": 0.30434782608695643,
        "b_scaled": 0.608695652173913,
        "gap_share": 1.0205658950113965
      },
      {
        "column": "Mid 3rd_stats_possession",
        "label": "Touches in middle third",
        "unit": "per 90",
        "a": 13.591331269349846,
        "b": 7.302631578947368,
        "a_scaled": 0.3035144101750893,
        "b_scaled": 0.0,
        "gap_share": 1.0149841808255433
      },
      {
        "column": "xAG",
        "label": "Expected assisted goals",
        "unit": "per 90",
        "a": 0.23839009287925697,
        "b": 0.09868421052631579,
        "a_scaled": 0.48182611681757737,
        "b_scaled": 0.1839793565944704,
        "gap_share": 0.9774316643868967
      },
      {
        "column": "PrgDist",
        "label": "Progressive passing distance",
        "unit": "yards per 90",
        "a": 73.74613003095975,
        "b": 19.50657894736842,
        "a_scaled": 0.3226020747799302,
        "b_scaled": 0.032445105689151384,
        "gap_share": 0.9276126343795041
      },
      {
        "column": "Fld",
        "label": "Shot-creating fouls drawn",
        "unit": "per 90",
        "a": 0.2476780185758514,
        "b": 0.06578947368421052,
        "a_scaled": 0.3931659213392959,
        "b_scaled": 0.10443469785575048,
        "gap_share": 0.9185190023476965
      },
      {
        "column": "Def Pen",
        "label": "Touches in defensive penalty area",
        "unit": "per 90",
        "a": 0.030959752321981424,
        "b": 0.7236842105263158,
        "a_scaled": 0.0,
        "b_scaled": 0.25170917751881006,
        "gap_share": 0.6980696301626177
      },
      {
        "column": "PassLive",
        "label": "Shot-creating live passes",
        "unit": "per 90",
        "a": 2.569659442724458,
        "b": 1.6776315789473684,
        "a_scaled": 0.5662737401434705,
        "b_scaled": 0.33072197228342654,
        "gap_share": 0.611326721079159
      },
      {
        "column": "Dis",
        "label": "Dispossessed",
        "unit": "per 90",
        "a": 1.5170278637770898,
        "b": 0.8881578947368421,
        "a_scaled": 0.42533666188693336,
        "b_scaled": 0.19496014393285746,
        "gap_share": 0.5847591992630448
      },
      {
        "column": "Dead",
        "label": "Dead-ball passes",
        "unit": "per 90",
        "a": 2.043343653250774,
        "b": 0.23026315789473684,
        "a_scaled": 0.24507961079168508,
        "b_scaled": 0.02761787280701754,
        "gap_share": 0.5210343459617136
      },
      {
        "column": "np:G-xG",
        "label": "Non-penalty goals minus xG",
        "unit": "per 90",
        "a": 0.1671826625386997,
        "b": 0.006578947368421052,
        "a_scaled": 0.6457501352952547,
        "b_scaled": 0.431634253194219,
        "gap_share": 0.5051244701552295
      },
      {
        "column": "SoT",
        "label": "Shots on target",
        "unit": "per 90",
        "a": 2.321981424148607,
        "b": 1.8092105263157894,
        "a_scaled": 0.9052594937510519,
        "b_scaled": 0.6913926720292841,
        "gap_share": 0.5039500283380778
      },
      {
        "column": "SoT/90",
        "label": "Shots on target",
        "unit": "per 90",
        "a": 2.32,
        "b": 1.81,
        "a_scaled": 0.9041666666666667,
        "b_scaled": 0.6916666666666668,
        "gap_share": 0.49752912817358785
      },
      {
        "column": "G-xG",
        "label": "Goals minus xG",
        "unit": "per 90",
        "a": 0.15789473684210525,
        "b": 0.0,
        "a_scaled": 0.6244686702055171,
        "b_scaled": 0.41692198186488405,
        "gap_share": 0.4746049453917056
      },
      {
        "column": "KP",
        "label": "Key passes",
        "unit": "per 90",
        "a": 1.5789473684210527,
        "b": 0.9539473684210527,
        "a_scaled": 0.4408904073253898,
        "b_scaled": 0.23515500172787912,
        "gap_share": 0.4663572335006196
      },
      {
        "column": "Gls",
        "label": "Goals",
        "unit": "per 90",
        "a": 0.9597523219814241,
        "b": 0.7236842105263158,
        "a_scaled": 0.8349845201238391,
        "b_scaled": 0.6296052631578948,
        "gap_share": 0.4647440087018391
      },
      {
        "column": "Tkl%",
        "label": "Dribblers tackled",
        "unit": "%",
        "a": 20.0,
        "b": 37.5,
        "a_scaled": 0.2,
        "b_scaled": 0.375,
        "gap_share": 0.33742459903814287
      },
      {
        "column": "Blocks_stats_defense",
        "label": "Blocks",
        "unit": "per 90",
        "a": 0.09287925696594428,
        "b": 0.39473684210526316,
        "a_scaled": 0.0018982387097894707,
        "b_scaled": 0.1613502903321049,
        "gap_share": 0.28013080302107746
      },
      {
        "column": "Err",
        "label": "Errors leading to shots",
        "unit": "per 90",
        "a": 0.030959752321981424,
        "b": 0.0,
        "a_scaled": 0.15669074647402823,
        "b_scaled": 0.0,
        "gap_share": 0.2705125025848065
      },
      {
        "column": "TB",
        "label": "Through balls",
        "unit": "per 90",
        "a": 0.18575851393188855,
        "b": 0.03289473684210526,
        "a_scaled": 0.17862838915470494,
        "b_scaled": 0.031632110579479,
        "gap_share": 0.23807474251138377
      },
      {
        "column": "TI",
        "label": "Throw-ins",
        "unit": "per 90",
        "a": 0.34055727554179566,
        "b": 0.03289473684210526,
        "a_scaled": 0.16067856642332046,
        "b_scaled": 0.015520088802252545,
        "gap_share": 0.23215896166839767
      },
      {
        "column": "Succ%",
        "label": "Take-on success",
        "unit": "%",
        "a": 44.4,
        "b": 36.1,
        "a_scaled": 0.6128472222222222,
        "b_scaled": 0.46875,
        "gap_share": 0.22877673677777835
      },
      {
        "column": "Pass",
        "label": "Passes blocked",
        "unit": "per 90",
        "a": 0.09287925696594428,
        "b": 0.3618421052631579,
        "a_scaled": 0.004823579126984702,
        "b_scaled": 0.14648303491505243,
        "gap_share": 0.2211015469686298
      },
      {
        "column": "FK",
        "label": "Free-kick shots",
        "unit": "per 90",
        "a": 0.09287925696594428,
        "b": 0.03289473684210526,
        "a_scaled": 0.2131062951496388,
        "b_scaled": 0.0754751461988304,
        "gap_share": 0.20870560561216892
      },
      {
        "column": "Int",
        "label": "Interceptions",
        "unit": "per 90",
        "a": 0.030959752321981424,
        "b": 0.16447368421052633,
        "a_scaled": 0.0318612623512805,
        "b_scaled": 0.16926295624117765,
        "gap_share": 0.20801028862126666
      },
      {
        "column": "GCA",
        "label": "Goal-creating actions",
        "unit": "per 90",
        "a": 0.46439628482972134,
        "b": 0.29605263157894735,
        "a_scaled": 0.35579143938277064,
        "b_scaled": 0.22681704260651625,
        "gap_share": 0.1832768676293014
      },
      {
        "column": "Tkld%",
        "label": "Tackled during take-ons",
        "unit": "%",
        "a": 48.7,
        "b": 55.6,
        "a_scaled": 0.3109869646182496,
        "b_scaled": 0.43947858472998136,
        "gap_share": 0.181907352522109
      },
      {
        "column": "Crs",
        "label": "Crosses",
        "unit": "per 90",
        "a": 1.08359133126935,
        "b": 0.09868421052631579,
        "a_scaled": 0.13860337117303062,
        "b_scaled": 0.01262280701754386,
        "gap_share": 0.17486695224548066
      },
      {
        "column": "GCA90",
        "label": "Goal-creating actions",
        "unit": "per 90",
        "a": 0.46,
        "b": 0.3,
        "a_scaled": 0.3511450381679389,
        "b_scaled": 0.22900763358778625,
        "gap_share": 0.1643607132047432
      },
      {
        "column": "xG",
        "label": "Expected goals",
        "unit": "per 90",
        "a": 0.8018575851393189,
        "b": 0.7236842105263158,
        "a_scaled": 0.6694747648093088,
        "b_scaled": 0.5948753040351029,
        "gap_share": 0.06131574645004259
      },
      {
        "column": "Sh_stats_defense",
        "label": "Shots blocked",
        "unit": "per 90",
        "a": 0.0,
        "b": 0.03289473684210526,
        "a_scaled": 0.0,
        "b_scaled": 0.07328216374269005,
        "gap_share": 0.059169406204364554
      },
      {
        "column": "SoT%",
        "label": "Shots on target",
        "unit": "%",
        "a": 49.3,
        "b": 52.9,
        "a_scaled": 0.773076923076923,
        "b_scaled": 0.8423076923076922,
        "gap_share": 0.05280790730025756
      },
      {
        "column": "G/Sh",
        "label": "Goals per shot",
        "unit": "per shot",
        "a": 0.16,
        "b": 0.18,
        "a_scaled": 0.5333333333333333,
        "b_scaled": 0.6,
        "gap_share": 0.04896864929351732
      },
      {
        "column": "Tkl+Int",
        "label": "Tackles + interceptions",
        "unit": "per 90",
        "a": 0.2786377708978328,
        "b": 0.5263157894736842,
        "a_scaled": 0.03022342128623612,
        "b_scaled": 0.09242044388252224,
        "gap_share": 0.04262258972626079
      },
      {
        "column": "Att 3rd",
        "label": "Tackles in attacking third",
        "unit": "per 90",
        "a": 0.1238390092879257,
        "b": 0.16447368421052633,
        "a_scaled": 0.1874097007223942,
        "b_scaled": 0.24890350877192982,
        "gap_share": 0.0416642356483731
      },
      {
        "column": "CrsPA",
        "label": "Crosses into penalty area",
        "unit": "per 90",
        "a": 0.09287925696594428,
        "b": 0.03289473684210526,
        "a_scaled": 0.08735506586535544,
        "b_scaled": 0.030938252493980047,
        "gap_share": 0.03506854497924713
      },
      {
        "column": "npxG",
        "label": "Non-penalty xG",
        "unit": "per 90",
        "a": 0.5758513931888546,
        "b": 0.618421052631579,
        "a_scaled": 0.5570204175775277,
        "b_scaled": 0.6068838989687453,
        "gap_share": 0.02739465510550781
      },
      {
        "column": "CK",
        "label": "Corner kicks",
        "unit": "per 90",
        "a": 0.18575851393188855,
        "b": 0.0,
        "a_scaled": 0.04753059118384196,
        "b_scaled": 0.0,
        "gap_share": 0.024891271120103323
      },
      {
        "column": "G/SoT",
        "label": "Goals per shot on target",
        "unit": "per shot on target",
        "a": 0.32,
        "b": 0.35,
        "a_scaled": 0.47761194029850745,
        "b_scaled": 0.5223880597014925,
        "gap_share": 0.0220898896902144
      },
      {
        "column": "Def 3rd",
        "label": "Tackles in defensive third",
        "unit": "per 90",
        "a": 0.030959752321981424,
        "b": 0.09868421052631579,
        "a_scaled": 0.017758857929136566,
        "b_scaled": 0.056606359649122806,
        "gap_share": 0.016627495244205703
      },
      {
        "column": "PassDead",
        "label": "Shot-creating dead passes",
        "unit": "per 90",
        "a": 0.06191950464396285,
        "b": 0.0,
        "a_scaled": 0.036091044604976495,
        "b_scaled": 0.0,
        "gap_share": 0.014351574430632811
      },
      {
        "column": "Tkl",
        "label": "Tackles",
        "unit": "per 90",
        "a": 0.2476780185758514,
        "b": 0.3618421052631579,
        "a_scaled": 0.05529001301068949,
        "b_scaled": 0.09098972929094391,
        "gap_share": 0.01404203891742554
      },
      {
        "column": "Def 3rd_stats_possession",
        "label": "Touches in defensive third",
        "unit": "per 90",
        "a": 1.08359133126935,
        "b": 1.3157894736842106,
        "a_scaled": 0.0008913534034509357,
        "b_scaled": 0.029385930532509666,
        "gap_share": 0.008945921349176643
      },
      {
        "column": "TklW",
        "label": "Tackles won",
        "unit": "per 90",
        "a": 0.15479876160990713,
        "b": 0.19736842105263158,
        "a_scaled": 0.06204642055624653,
        "b_scaled": 0.08608253919011934,
        "gap_share": 0.006365453073687209
      },
      {
        "column": "Lost",
        "label": "Challenges lost",
        "unit": "per 90",
        "a": 0.1238390092879257,
        "b": 0.16447368421052633,
        "a_scaled": 0.047356954477697506,
        "b_scaled": 0.062895955165692,
        "gap_share": 0.002660399239072913
      },
      {
        "column": "Ast",
        "label": "Assists",
        "unit": "per 90",
        "a": 0.09287925696594428,
        "b": 0.09868421052631579,
        "a_scaled": 0.16603600504529298,
        "b_scaled": 0.1764132553606238,
        "gap_share": 0.0011864931316997996
      },
      {
        "column": "Mid 3rd",
        "label": "Tackles in middle third",
        "unit": "per 90",
        "a": 0.09287925696594428,
        "b": 0.09868421052631579,
        "a_scaled": 0.06729672478409647,
        "b_scaled": 0.07150277008310249,
        "gap_share": 0.00019491646864370392
      },
      {
        "column": "Out",
        "label": "Outswinging corners",
        "unit": "per 90",
        "a": 0.0,
        "b": 0.0,
        "a_scaled": 0.0,
        "b_scaled": 0.0,
        "gap_share": 0.0
      },
      {
        "column": "In",
        "label": "Inswinging corners",
        "unit": "per 90",
        "a": 0.0,
        "b": 0.0,
        "a_scaled": 0.0,
        "b_scaled": 0.0,
        "gap_share": 0.0
      },
      {
        "column": "Str",
        "label": "Straight corners",
        "unit": "per 90",
        "a": 0.0,
        "b": 0.0,
        "a_scaled": 0.0,
        "b_scaled": 0.0,
        "gap_share": 0.0
      },
      {
        "column": "Def",
        "label": "Shot-creating defensive actions",
        "unit": "per 90",
        "a": 0.0,
        "b": 0.0,
        "a_scaled": 0.0,
        "b_scaled": 0.0,
        "gap_share": 0.0
      }
    ],
    "closest_axes": [
      {
        "column": "Def",
        "label": "Shot-creating defensive actions",
        "unit": "per 90",
        "a": 0.0,
        "b": 0.0,
        "a_scaled": 0.0,
        "b_scaled": 0.0,
        "gap_share": 0.0
      },
      {
        "column": "In",
        "label": "Inswinging corners",
        "unit": "per 90",
        "a": 0.0,
        "b": 0.0,
        "a_scaled": 0.0,
        "b_scaled": 0.0,
        "gap_share": 0.0
      },
      {
        "column": "Out",
        "label": "Outswinging corners",
        "unit": "per 90",
        "a": 0.0,
        "b": 0.0,
        "a_scaled": 0.0,
        "b_scaled": 0.0,
        "gap_share": 0.0
      }
    ],
    "basis": "Counts per 90; existing rates and ratios unchanged. Min–max scaling within the selected cohort, then RMS distance over shared axes. At least ten shared axes and 80% coverage required. Related statistics overlap; this is statistical proximity, not a probability, quality rating or proof of the same tactical role. No league or possession adjustment."
  },
  "team_comparison": {
    "method": "selected-xi-mean-rates-v1",
    "label_a": "Liverpool selection",
    "label_b": "Arsenal selection",
    "min_minutes": 900,
    "xi_a": [
      {
        "slot": "GK",
        "player": "Alisson",
        "club": "Liverpool",
        "position": "GK",
        "minutes": 2508.0
      },
      {
        "slot": "DF1",
        "player": "Virgil van Dijk",
        "club": "Liverpool",
        "position": "DF",
        "minutes": 3330.0
      },
      {
        "slot": "DF2",
        "player": "Ibrahima Konaté",
        "club": "Liverpool",
        "position": "DF",
        "minutes": 2560.0
      },
      {
        "slot": "DF3",
        "player": "Andrew Robertson",
        "club": "Liverpool",
        "position": "DF",
        "minutes": 2482.0
      },
      {
        "slot": "DF4",
        "player": "Trent Alexander-Arnold",
        "club": "Liverpool",
        "position": "DF",
        "minutes": 2365.0
      },
      {
        "slot": "MF1",
        "player": "Ryan Gravenberch",
        "club": "Liverpool",
        "position": "MF",
        "minutes": 3160.0
      },
      {
        "slot": "MF2",
        "player": "Alexis Mac Allister",
        "club": "Liverpool",
        "position": "MF",
        "minutes": 2599.0
      },
      {
        "slot": "MF3",
        "player": "Dominik Szoboszlai",
        "club": "Liverpool",
        "position": "MF",
        "minutes": 2491.0
      },
      {
        "slot": "FW1",
        "player": "Mohamed Salah",
        "club": "Liverpool",
        "position": "FW",
        "minutes": 3371.0
      },
      {
        "slot": "FW2",
        "player": "Luis Díaz",
        "club": "Liverpool",
        "position": "FW",
        "minutes": 2399.0
      },
      {
        "slot": "FW3",
        "player": "Cody Gakpo",
        "club": "Liverpool",
        "position": "FW",
        "minutes": 1935.0
      }
    ],
    "xi_b": [
      {
        "slot": "GK",
        "player": "David Raya",
        "club": "Arsenal",
        "position": "GK",
        "minutes": 3420.0
      },
      {
        "slot": "DF1",
        "player": "William Saliba",
        "club": "Arsenal",
        "position": "DF",
        "minutes": 3039.0
      },
      {
        "slot": "DF2",
        "player": "Jurriën Timber",
        "club": "Arsenal",
        "position": "DF",
        "minutes": 2417.0
      },
      {
        "slot": "DF3",
        "player": "Gabriel Magalhães",
        "club": "Arsenal",
        "position": "DF",
        "minutes": 2363.0
      },
      {
        "slot": "DF4",
        "player": "Myles Lewis-Skelly",
        "club": "Arsenal",
        "position": "DF",
        "minutes": 1369.0
      },
      {
        "slot": "MF1",
        "player": "Declan Rice",
        "club": "Arsenal",
        "position": "MF",
        "minutes": 2825.0
      },
      {
        "slot": "MF2",
        "player": "Thomas Partey",
        "club": "Arsenal",
        "position": "MF,DF",
        "minutes": 2797.0
      },
      {
        "slot": "MF3",
        "player": "Martin Ødegaard",
        "club": "Arsenal",
        "position": "MF",
        "minutes": 2325.0
      },
      {
        "slot": "FW1",
        "player": "Leandro Trossard",
        "club": "Arsenal",
        "position": "FW",
        "minutes": 2546.0
      },
      {
        "slot": "FW2",
        "player": "Gabriel Martinelli",
        "club": "Arsenal",
        "position": "FW,MF",
        "minutes": 2290.0
      },
      {
        "slot": "FW3",
        "player": "Kai Havertz",
        "club": "Arsenal",
        "position": "FW,MF",
        "minutes": 1875.0
      }
    ],
    "outfield": [
      {
        "column": "PrgP",
        "label": "Progressive passes",
        "unit": "per 90",
        "a": 5.101228613719668,
        "b": 4.958867915223664,
        "a_rows": 10,
        "b_rows": 10,
        "difference": 0.1423606984960042
      },
      {
        "column": "PrgC",
        "label": "Progressive carries",
        "unit": "per 90",
        "a": 2.2484096305513153,
        "b": 2.237786897533287,
        "a_rows": 10,
        "b_rows": 10,
        "difference": 0.010622733018028185
      },
      {
        "column": "npxG",
        "label": "Non-penalty xG",
        "unit": "per 90",
        "a": 0.18934111634715295,
        "b": 0.15666705313148402,
        "a_rows": 10,
        "b_rows": 10,
        "difference": 0.03267406321566893
      },
      {
        "column": "xAG",
        "label": "Expected assisted goals",
        "unit": "per 90",
        "a": 0.1788431264048561,
        "b": 0.11312265839868334,
        "a_rows": 10,
        "b_rows": 10,
        "difference": 0.06572046800617277
      },
      {
        "column": "Tkl+Int",
        "label": "Tackles + interceptions",
        "unit": "per 90",
        "a": 2.4450628881823255,
        "b": 1.991812659863379,
        "a_rows": 10,
        "b_rows": 10,
        "difference": 0.45325022831894657
      },
      {
        "column": "Cmp%",
        "label": "Pass completion",
        "unit": "%",
        "a": 82.55,
        "b": 83.89,
        "a_rows": 10,
        "b_rows": 10,
        "difference": -1.3400000000000034
      }
    ],
    "goalkeepers": [
      {
        "column": "Save%",
        "label": "Save percentage",
        "unit": "%",
        "a": 72.0,
        "b": 74.2,
        "a_rows": 1,
        "b_rows": 1,
        "difference": -2.200000000000003
      },
      {
        "column": "PSxG+/-",
        "label": "Post-shot xG minus goals allowed",
        "unit": "per 90",
        "a": 0.1255980861244019,
        "b": 0.028947368421052635,
        "a_rows": 1,
        "b_rows": 1,
        "difference": 0.09665071770334926
      },
      {
        "column": "Stp%",
        "label": "Crosses stopped",
        "unit": "%",
        "a": 4.3,
        "b": 13.2,
        "a_rows": 1,
        "b_rows": 1,
        "difference": -8.899999999999999
      },
      {
        "column": "#OPA/90",
        "label": "Actions outside penalty area",
        "unit": "per 90 (recorded)",
        "a": 1.76,
        "b": 1.74,
        "a_rows": 1,
        "b_rows": 1,
        "difference": 0.020000000000000018
      }
    ],
    "notes": [
      "Liverpool selection records 0.14 more progressive passes per 90 per outfield player than Arsenal selection.",
      "Liverpool selection records 0.01 more progressive carries per 90 per outfield player than Arsenal selection.",
      "Liverpool selection records 0.03 more non-penalty xg per 90 per outfield player than Arsenal selection.",
      "Liverpool selection records 0.07 more expected assisted goals per 90 per outfield player than Arsenal selection.",
      "Liverpool selection records 0.45 more tackles + interceptions per 90 per outfield player than Arsenal selection.",
      "Arsenal selection records 1.34 more pass completion percentage points than Liverpool selection."
    ],
    "basis": "Equal-weight means of ten selected outfield players' season rates. Percentages are means of individual percentages, not team event-weighted rates. At least eight available players are required per metric; partial coverage is labelled. Goalkeepers are separate. No possession, opponent or league adjustment. These players need not have played together; this is not a measured team performance or match forecast."
  }
}
