{
  "canonical_id": "alanna-kennedy",
  "canonical_name": "Alanna Kennedy",
  "positions": [
    "DM"
  ],
  "leagues": [
    "NWSL"
  ],
  "sport_names": [],
  "ambiguous": false,
  "appearances": [
    {
      "id": 1501338,
      "full_name": "Alanna Kennedy",
      "team": "",
      "position": "DM",
      "sport_id": null,
      "league": "NWSL",
      "jersey": null,
      "college": null,
      "college_stats": null,
      "height": "5'9\"",
      "weight": "139",
      "college_full": null
    }
  ],
  "career_totals": {
    "minutes_played": 8991.0,
    "shots": 130.0,
    "shots_on_target": 36.0,
    "goals": 9.0,
    "xg": 8.959900000000001,
    "xg_place": -0.5361,
    "goals_minus_xg": 0.040100000000000025,
    "key_passes": 52.0,
    "assists": 3.0,
    "xa": 3.2478,
    "assists_minus_xa": -0.24780000000000002,
    "goals_plus_assists": 12.0,
    "xg_plus_xa": 12.207600000000001,
    "points_added": 5.0599,
    "xpoints_added": 5.5302,
    "passes_attempted": 3892.0,
    "pass_completion_pct": 3.6245999999999996,
    "xpass_completion_pct": 3.6621999999999995,
    "passes_over_expected": -29.294600000000003,
    "passes_over_expected_p100": -3.7688999999999995,
    "avg_pass_distance": 112.30250000000001,
    "avg_pass_vertical": 43.3142
  },
  "season_totals": {
    "NWSL-2016": {
      "minutes_played": 1641.0,
      "shots": 16.0,
      "shots_on_target": 4.0,
      "goals": 0.0,
      "xg": 1.3742,
      "xg_place": -1.0136,
      "goals_minus_xg": -1.3742,
      "key_passes": 9.0,
      "assists": 0.0,
      "xa": 0.2933,
      "assists_minus_xa": -0.2933,
      "goals_plus_assists": 0.0,
      "xg_plus_xa": 1.6675,
      "points_added": 0.0,
      "xpoints_added": 0.5902,
      "passes_attempted": 581.0,
      "pass_completion_pct": 0.6713,
      "xpass_completion_pct": 0.6899,
      "passes_over_expected": -10.8267,
      "passes_over_expected_p100": -1.8635,
      "avg_pass_distance": 26.5906,
      "avg_pass_vertical": 11.9469
    },
    "NWSL-2017": {
      "minutes_played": 2399.0,
      "shots": 35.0,
      "shots_on_target": 11.0,
      "goals": 5.0,
      "xg": 3.0618,
      "xg_place": 1.0075,
      "goals_minus_xg": 1.9382,
      "key_passes": 16.0,
      "assists": 1.0,
      "xa": 0.8905,
      "assists_minus_xa": 0.1095,
      "goals_plus_assists": 6.0,
      "xg_plus_xa": 3.9524,
      "points_added": 1.5912,
      "xpoints_added": 1.7967,
      "passes_attempted": 1208.0,
      "pass_completion_pct": 0.7475,
      "xpass_completion_pct": 0.7503,
      "passes_over_expected": -3.3251,
      "passes_over_expected_p100": -0.2753,
      "avg_pass_distance": 21.6951,
      "avg_pass_vertical": 7.6769
    },
    "NWSL-2018": {
      "minutes_played": 1958.0,
      "shots": 34.0,
      "shots_on_target": 7.0,
      "goals": 2.0,
      "xg": 1.9524,
      "xg_place": -0.4373,
      "goals_minus_xg": 0.0476,
      "key_passes": 16.0,
      "assists": 1.0,
      "xa": 0.6667,
      "assists_minus_xa": 0.3333,
      "goals_plus_assists": 3.0,
      "xg_plus_xa": 2.619,
      "points_added": 1.1435,
      "xpoints_added": 1.2205,
      "passes_attempted": 895.0,
      "pass_completion_pct": 0.7028,
      "xpass_completion_pct": 0.7198,
      "passes_over_expected": -15.232,
      "passes_over_expected_p100": -1.7019,
      "avg_pass_distance": 19.2985,
      "avg_pass_vertical": 7.3485
    },
    "NWSL-2019": {
      "minutes_played": 1466.0,
      "shots": 20.0,
      "shots_on_target": 7.0,
      "goals": 1.0,
      "xg": 1.1966,
      "xg_place": -0.0193,
      "goals_minus_xg": -0.1966,
      "key_passes": 7.0,
      "assists": 0.0,
      "xa": 0.6723,
      "assists_minus_xa": -0.6723,
      "goals_plus_assists": 1.0,
      "xg_plus_xa": 1.8688,
      "points_added": 0.5306,
      "xpoints_added": 0.7468,
      "passes_attempted": 561.0,
      "pass_completion_pct": 0.7487,
      "xpass_completion_pct": 0.7443,
      "passes_over_expected": 2.449,
      "passes_over_expected_p100": 0.4365,
      "avg_pass_distance": 22.7724,
      "avg_pass_vertical": 8.3848
    },
    "NWSL-2025": {
      "minutes_played": 1527.0,
      "shots": 25.0,
      "shots_on_target": 7.0,
      "goals": 1.0,
      "xg": 1.3749,
      "xg_place": -0.0734,
      "goals_minus_xg": -0.3749,
      "key_passes": 4.0,
      "assists": 1.0,
      "xa": 0.725,
      "assists_minus_xa": 0.275,
      "goals_plus_assists": 2.0,
      "xg_plus_xa": 2.0999,
      "points_added": 1.7946,
      "xpoints_added": 1.176,
      "passes_attempted": 647.0,
      "pass_completion_pct": 0.7543,
      "xpass_completion_pct": 0.7579,
      "passes_over_expected": -2.3598,
      "passes_over_expected_p100": -0.3647,
      "avg_pass_distance": 21.9459,
      "avg_pass_vertical": 7.9571
    }
  },
  "season_coaches": {},
  "game_log": [
    {
      "game_id": "soccer-nwsl-2016-xW5pwDBMg1",
      "game_slug": "soccer-nwsl-2016-xw5pwdbmg1",
      "display": "NWSL 2016 Season",
      "season": 2016,
      "week": 1,
      "league": "NWSL",
      "sport_slug": "nwsl-2016",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 1641.0,
        "shots": 16.0,
        "shots_on_target": 4.0,
        "goals": 0.0,
        "xg": 1.3742,
        "xg_place": -1.0136,
        "goals_minus_xg": -1.3742,
        "key_passes": 9.0,
        "assists": 0.0,
        "xa": 0.2933,
        "assists_minus_xa": -0.2933,
        "goals_plus_assists": 0.0,
        "xg_plus_xa": 1.6675,
        "points_added": 0.0,
        "xpoints_added": 0.5902,
        "passes_attempted": 581.0,
        "pass_completion_pct": 0.6713,
        "xpass_completion_pct": 0.6899,
        "passes_over_expected": -10.8267,
        "passes_over_expected_p100": -1.8635,
        "avg_pass_distance": 26.5906,
        "avg_pass_vertical": 11.9469
      }
    },
    {
      "game_id": "soccer-nwsl-2017-XVqKeVKM01",
      "game_slug": "soccer-nwsl-2017-xvqkevkm01",
      "display": "NWSL 2017 Season",
      "season": 2017,
      "week": 1,
      "league": "NWSL",
      "sport_slug": "nwsl-2017",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 2399.0,
        "shots": 35.0,
        "shots_on_target": 11.0,
        "goals": 5.0,
        "xg": 3.0618,
        "xg_place": 1.0075,
        "goals_minus_xg": 1.9382,
        "key_passes": 16.0,
        "assists": 1.0,
        "xa": 0.8905,
        "assists_minus_xa": 0.1095,
        "goals_plus_assists": 6.0,
        "xg_plus_xa": 3.9524,
        "points_added": 1.5912,
        "xpoints_added": 1.7967,
        "passes_attempted": 1208.0,
        "pass_completion_pct": 0.7475,
        "xpass_completion_pct": 0.7503,
        "passes_over_expected": -3.3251,
        "passes_over_expected_p100": -0.2753,
        "avg_pass_distance": 21.6951,
        "avg_pass_vertical": 7.6769
      }
    },
    {
      "game_id": "soccer-nwsl-2018-XVqKeVKM01",
      "game_slug": "soccer-nwsl-2018-xvqkevkm01",
      "display": "NWSL 2018 Season",
      "season": 2018,
      "week": 1,
      "league": "NWSL",
      "sport_slug": "nwsl-2018",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 1958.0,
        "shots": 34.0,
        "shots_on_target": 7.0,
        "goals": 2.0,
        "xg": 1.9524,
        "xg_place": -0.4373,
        "goals_minus_xg": 0.0476,
        "key_passes": 16.0,
        "assists": 1.0,
        "xa": 0.6667,
        "assists_minus_xa": 0.3333,
        "goals_plus_assists": 3.0,
        "xg_plus_xa": 2.619,
        "points_added": 1.1435,
        "xpoints_added": 1.2205,
        "passes_attempted": 895.0,
        "pass_completion_pct": 0.7028,
        "xpass_completion_pct": 0.7198,
        "passes_over_expected": -15.232,
        "passes_over_expected_p100": -1.7019,
        "avg_pass_distance": 19.2985,
        "avg_pass_vertical": 7.3485
      }
    },
    {
      "game_id": "soccer-nwsl-2019-XVqKeVKM01",
      "game_slug": "soccer-nwsl-2019-xvqkevkm01",
      "display": "NWSL 2019 Season",
      "season": 2019,
      "week": 1,
      "league": "NWSL",
      "sport_slug": "nwsl-2019",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 1466.0,
        "shots": 20.0,
        "shots_on_target": 7.0,
        "goals": 1.0,
        "xg": 1.1966,
        "xg_place": -0.0193,
        "goals_minus_xg": -0.1966,
        "key_passes": 7.0,
        "assists": 0.0,
        "xa": 0.6723,
        "assists_minus_xa": -0.6723,
        "goals_plus_assists": 1.0,
        "xg_plus_xa": 1.8688,
        "points_added": 0.5306,
        "xpoints_added": 0.7468,
        "passes_attempted": 561.0,
        "pass_completion_pct": 0.7487,
        "xpass_completion_pct": 0.7443,
        "passes_over_expected": 2.449,
        "passes_over_expected_p100": 0.4365,
        "avg_pass_distance": 22.7724,
        "avg_pass_vertical": 8.3848
      }
    },
    {
      "game_id": "soccer-nwsl-2025-kRQa8JOqKZ",
      "game_slug": "soccer-nwsl-2025-krqa8joqkz",
      "display": "NWSL 2025 Season",
      "season": 2025,
      "week": 1,
      "league": "NWSL",
      "sport_slug": "nwsl-2025",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 1527.0,
        "shots": 25.0,
        "shots_on_target": 7.0,
        "goals": 1.0,
        "xg": 1.3749,
        "xg_place": -0.0734,
        "goals_minus_xg": -0.3749,
        "key_passes": 4.0,
        "assists": 1.0,
        "xa": 0.725,
        "assists_minus_xa": 0.275,
        "goals_plus_assists": 2.0,
        "xg_plus_xa": 2.0999,
        "points_added": 1.7946,
        "xpoints_added": 1.176,
        "passes_attempted": 647.0,
        "pass_completion_pct": 0.7543,
        "xpass_completion_pct": 0.7579,
        "passes_over_expected": -2.3598,
        "passes_over_expected_p100": -0.3647,
        "avg_pass_distance": 21.9459,
        "avg_pass_vertical": 7.9571
      }
    }
  ],
  "college": null,
  "nfl": null,
  "articles": []
}