{
  "sport": "nba",
  "slug": "devin-vassell",
  "bio": {
    "fullName": "Devin Vassell",
    "position": "G",
    "team": "SA",
    "heightInches": 77,
    "weightLbs": 200,
    "birthDate": "2000-08-23",
    "college": "Florida State",
    "headshotUrl": "https://a.espncdn.com/i/headshots/nba/players/full/4395630.png",
    "rookieSeason": 2021,
    "lastSeason": 2026,
    "status": "ACT",
    "externalIds": {
      "espn": "4395630"
    }
  },
  "draft": {
    "year": 2020,
    "round": 1,
    "pick": 11,
    "team": "San Antonio Spurs",
    "undrafted": false
  },
  "statTables": [
    {
      "id": "totals",
      "label": "Totals",
      "columns": [
        {
          "key": "g"
        },
        {
          "key": "gs"
        },
        {
          "key": "mp"
        },
        {
          "key": "fg"
        },
        {
          "key": "fga"
        },
        {
          "key": "fg_pct"
        },
        {
          "key": "fg3"
        },
        {
          "key": "fg3a"
        },
        {
          "key": "fg3_pct"
        },
        {
          "key": "ft"
        },
        {
          "key": "fta"
        },
        {
          "key": "ft_pct"
        },
        {
          "key": "orb"
        },
        {
          "key": "drb"
        },
        {
          "key": "trb"
        },
        {
          "key": "ast"
        },
        {
          "key": "stl"
        },
        {
          "key": "blk"
        },
        {
          "key": "tov"
        },
        {
          "key": "pf"
        },
        {
          "key": "pts"
        }
      ],
      "rows": [
        {
          "season": 2021,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 62,
          "values": {
            "g": 62,
            "gs": 7,
            "mp": 1053,
            "fg": 122,
            "fga": 301,
            "fg_pct": 0.405,
            "fg3": 51,
            "fg3a": 148,
            "fg3_pct": 0.345,
            "ft": 43,
            "fta": 51,
            "ft_pct": 0.843,
            "orb": 24,
            "drb": 149,
            "trb": 173,
            "ast": 56,
            "stl": 43,
            "blk": 18,
            "tov": 22,
            "pf": 86,
            "pts": 338
          },
          "rowScope": "team"
        },
        {
          "season": 2022,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 71,
          "values": {
            "g": 71,
            "gs": 32,
            "mp": 1936,
            "fg": 326,
            "fga": 764,
            "fg_pct": 0.427,
            "fg3": 137,
            "fg3a": 380,
            "fg3_pct": 0.361,
            "ft": 83,
            "fta": 99,
            "ft_pct": 0.838,
            "orb": 44,
            "drb": 262,
            "trb": 306,
            "ast": 136,
            "stl": 76,
            "blk": 41,
            "tov": 58,
            "pf": 143,
            "pts": 872
          },
          "rowScope": "team"
        },
        {
          "season": 2023,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 38,
          "values": {
            "g": 38,
            "gs": 32,
            "mp": 1180,
            "fg": 261,
            "fga": 595,
            "fg_pct": 0.439,
            "fg3": 103,
            "fg3a": 266,
            "fg3_pct": 0.387,
            "ft": 78,
            "fta": 100,
            "ft_pct": 0.78,
            "orb": 8,
            "drb": 140,
            "trb": 148,
            "ast": 136,
            "stl": 43,
            "blk": 17,
            "tov": 57,
            "pf": 57,
            "pts": 703
          },
          "rowScope": "team"
        },
        {
          "season": 2024,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 68,
          "values": {
            "g": 68,
            "gs": 62,
            "mp": 2247,
            "fg": 498,
            "fga": 1056,
            "fg_pct": 0.472,
            "fg3": 166,
            "fg3a": 446,
            "fg3_pct": 0.372,
            "ft": 161,
            "fta": 201,
            "ft_pct": 0.801,
            "orb": 27,
            "drb": 234,
            "trb": 261,
            "ast": 277,
            "stl": 73,
            "blk": 23,
            "tov": 108,
            "pf": 74,
            "pts": 1323
          },
          "rowScope": "team"
        },
        {
          "season": 2025,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 64,
          "values": {
            "g": 64,
            "gs": 53,
            "mp": 1985,
            "fg": 394,
            "fga": 889,
            "fg_pct": 0.443,
            "fg3": 158,
            "fg3a": 429,
            "fg3_pct": 0.368,
            "ft": 95,
            "fta": 120,
            "ft_pct": 0.792,
            "orb": 34,
            "drb": 221,
            "trb": 255,
            "ast": 183,
            "stl": 84,
            "blk": 33,
            "tov": 88,
            "pf": 108,
            "pts": 1041
          },
          "rowScope": "team"
        },
        {
          "season": 2026,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 68,
          "values": {
            "g": 68,
            "gs": 66,
            "mp": 2078,
            "fg": 334,
            "fga": 769,
            "fg_pct": 0.434,
            "fg3": 168,
            "fg3a": 439,
            "fg3_pct": 0.383,
            "ft": 108,
            "fta": 132,
            "ft_pct": 0.818,
            "orb": 39,
            "drb": 235,
            "trb": 274,
            "ast": 170,
            "stl": 57,
            "blk": 25,
            "tov": 60,
            "pf": 108,
            "pts": 944
          },
          "rowScope": "team"
        },
        {
          "season": 2026,
          "seasonType": "POST",
          "team": "SA",
          "gamesPlayed": 23,
          "values": {
            "g": 23,
            "gs": 23,
            "mp": 800,
            "fg": 105,
            "fga": 243,
            "fg_pct": 0.432,
            "fg3": 56,
            "fg3a": 148,
            "fg3_pct": 0.378,
            "ft": 32,
            "fta": 39,
            "ft_pct": 0.821,
            "orb": 19,
            "drb": 103,
            "trb": 122,
            "ast": 62,
            "stl": 29,
            "blk": 17,
            "tov": 22,
            "pf": 46,
            "pts": 298
          },
          "rowScope": "team"
        }
      ],
      "careerTotals": {
        "REG": {
          "g": 371,
          "gs": 252,
          "mp": 10479,
          "fg": 1935,
          "fga": 4374,
          "fg_pct": 0.442,
          "fg3": 783,
          "fg3a": 2108,
          "fg3_pct": 0.371,
          "ft": 568,
          "fta": 703,
          "ft_pct": 0.808,
          "orb": 176,
          "drb": 1241,
          "trb": 1417,
          "ast": 958,
          "stl": 376,
          "blk": 157,
          "tov": 393,
          "pf": 576,
          "pts": 5221
        },
        "POST": {
          "g": 23,
          "gs": 23,
          "mp": 800,
          "fg": 105,
          "fga": 243,
          "fg_pct": 0.432,
          "fg3": 56,
          "fg3a": 148,
          "fg3_pct": 0.378,
          "ft": 32,
          "fta": 39,
          "ft_pct": 0.821,
          "orb": 19,
          "drb": 103,
          "trb": 122,
          "ast": 62,
          "stl": 29,
          "blk": 17,
          "tov": 22,
          "pf": 46,
          "pts": 298
        }
      }
    },
    {
      "id": "per-game",
      "label": "Per Game",
      "columns": [
        {
          "key": "mpg"
        },
        {
          "key": "ppg"
        },
        {
          "key": "rpg"
        },
        {
          "key": "apg"
        },
        {
          "key": "spg"
        },
        {
          "key": "bpg"
        },
        {
          "key": "topg"
        },
        {
          "key": "fg_pct"
        },
        {
          "key": "fg3_pct"
        },
        {
          "key": "ft_pct"
        }
      ],
      "rows": [
        {
          "season": 2021,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 62,
          "values": {
            "mpg": 17,
            "ppg": 5.5,
            "rpg": 2.8,
            "apg": 0.9,
            "spg": 0.7,
            "bpg": 0.3,
            "topg": 0.4,
            "fg_pct": 0.405,
            "fg3_pct": 0.345,
            "ft_pct": 0.843
          },
          "rowScope": "team"
        },
        {
          "season": 2022,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 71,
          "values": {
            "mpg": 27.3,
            "ppg": 12.3,
            "rpg": 4.3,
            "apg": 1.9,
            "spg": 1.1,
            "bpg": 0.6,
            "topg": 0.8,
            "fg_pct": 0.427,
            "fg3_pct": 0.361,
            "ft_pct": 0.838
          },
          "rowScope": "team"
        },
        {
          "season": 2023,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 38,
          "values": {
            "mpg": 31.1,
            "ppg": 18.5,
            "rpg": 3.9,
            "apg": 3.6,
            "spg": 1.1,
            "bpg": 0.4,
            "topg": 1.5,
            "fg_pct": 0.439,
            "fg3_pct": 0.387,
            "ft_pct": 0.78
          },
          "rowScope": "team"
        },
        {
          "season": 2024,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 68,
          "values": {
            "mpg": 33,
            "ppg": 19.5,
            "rpg": 3.8,
            "apg": 4.1,
            "spg": 1.1,
            "bpg": 0.3,
            "topg": 1.6,
            "fg_pct": 0.472,
            "fg3_pct": 0.372,
            "ft_pct": 0.801
          },
          "rowScope": "team"
        },
        {
          "season": 2025,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 64,
          "values": {
            "mpg": 31,
            "ppg": 16.3,
            "rpg": 4,
            "apg": 2.9,
            "spg": 1.3,
            "bpg": 0.5,
            "topg": 1.4,
            "fg_pct": 0.443,
            "fg3_pct": 0.368,
            "ft_pct": 0.792
          },
          "rowScope": "team"
        },
        {
          "season": 2026,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 68,
          "values": {
            "mpg": 30.6,
            "ppg": 13.9,
            "rpg": 4,
            "apg": 2.5,
            "spg": 0.8,
            "bpg": 0.4,
            "topg": 0.9,
            "fg_pct": 0.434,
            "fg3_pct": 0.383,
            "ft_pct": 0.818
          },
          "rowScope": "team"
        },
        {
          "season": 2026,
          "seasonType": "POST",
          "team": "SA",
          "gamesPlayed": 23,
          "values": {
            "mpg": 34.8,
            "ppg": 13,
            "rpg": 5.3,
            "apg": 2.7,
            "spg": 1.3,
            "bpg": 0.7,
            "topg": 1,
            "fg_pct": 0.432,
            "fg3_pct": 0.378,
            "ft_pct": 0.821
          },
          "rowScope": "team"
        }
      ],
      "careerTotals": {
        "REG": {
          "mpg": 28.2,
          "ppg": 14.1,
          "rpg": 3.8,
          "apg": 2.6,
          "spg": 1,
          "bpg": 0.4,
          "topg": 1.1,
          "fg_pct": 0.442,
          "fg3_pct": 0.371,
          "ft_pct": 0.808
        },
        "POST": {
          "mpg": 34.8,
          "ppg": 13,
          "rpg": 5.3,
          "apg": 2.7,
          "spg": 1.3,
          "bpg": 0.7,
          "topg": 1,
          "fg_pct": 0.432,
          "fg3_pct": 0.378,
          "ft_pct": 0.821
        }
      }
    },
    {
      "id": "per-36",
      "label": "Per 36 Minutes",
      "columns": [
        {
          "key": "pts36"
        },
        {
          "key": "trb36"
        },
        {
          "key": "ast36"
        },
        {
          "key": "stl36"
        },
        {
          "key": "blk36"
        },
        {
          "key": "tov36"
        },
        {
          "key": "fg_pct"
        },
        {
          "key": "fg3_pct"
        },
        {
          "key": "ft_pct"
        }
      ],
      "rows": [
        {
          "season": 2021,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 62,
          "values": {
            "pts36": 11.6,
            "trb36": 5.9,
            "ast36": 1.9,
            "stl36": 1.5,
            "blk36": 0.6,
            "tov36": 0.8,
            "fg_pct": 0.405,
            "fg3_pct": 0.345,
            "ft_pct": 0.843
          },
          "rowScope": "team"
        },
        {
          "season": 2022,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 71,
          "values": {
            "pts36": 16.2,
            "trb36": 5.7,
            "ast36": 2.5,
            "stl36": 1.4,
            "blk36": 0.8,
            "tov36": 1.1,
            "fg_pct": 0.427,
            "fg3_pct": 0.361,
            "ft_pct": 0.838
          },
          "rowScope": "team"
        },
        {
          "season": 2023,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 38,
          "values": {
            "pts36": 21.4,
            "trb36": 4.5,
            "ast36": 4.1,
            "stl36": 1.3,
            "blk36": 0.5,
            "tov36": 1.7,
            "fg_pct": 0.439,
            "fg3_pct": 0.387,
            "ft_pct": 0.78
          },
          "rowScope": "team"
        },
        {
          "season": 2024,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 68,
          "values": {
            "pts36": 21.2,
            "trb36": 4.2,
            "ast36": 4.4,
            "stl36": 1.2,
            "blk36": 0.4,
            "tov36": 1.7,
            "fg_pct": 0.472,
            "fg3_pct": 0.372,
            "ft_pct": 0.801
          },
          "rowScope": "team"
        },
        {
          "season": 2025,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 64,
          "values": {
            "pts36": 18.9,
            "trb36": 4.6,
            "ast36": 3.3,
            "stl36": 1.5,
            "blk36": 0.6,
            "tov36": 1.6,
            "fg_pct": 0.443,
            "fg3_pct": 0.368,
            "ft_pct": 0.792
          },
          "rowScope": "team"
        },
        {
          "season": 2026,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 68,
          "values": {
            "pts36": 16.4,
            "trb36": 4.7,
            "ast36": 2.9,
            "stl36": 1,
            "blk36": 0.4,
            "tov36": 1,
            "fg_pct": 0.434,
            "fg3_pct": 0.383,
            "ft_pct": 0.818
          },
          "rowScope": "team"
        },
        {
          "season": 2026,
          "seasonType": "POST",
          "team": "SA",
          "gamesPlayed": 23,
          "values": {
            "pts36": 13.4,
            "trb36": 5.5,
            "ast36": 2.8,
            "stl36": 1.3,
            "blk36": 0.8,
            "tov36": 1,
            "fg_pct": 0.432,
            "fg3_pct": 0.378,
            "ft_pct": 0.821
          },
          "rowScope": "team"
        }
      ],
      "careerTotals": {
        "REG": {
          "pts36": 17.9,
          "trb36": 4.9,
          "ast36": 3.3,
          "stl36": 1.3,
          "blk36": 0.5,
          "tov36": 1.4,
          "fg_pct": 0.442,
          "fg3_pct": 0.371,
          "ft_pct": 0.808
        },
        "POST": {
          "pts36": 13.4,
          "trb36": 5.5,
          "ast36": 2.8,
          "stl36": 1.3,
          "blk36": 0.8,
          "tov36": 1,
          "fg_pct": 0.432,
          "fg3_pct": 0.378,
          "ft_pct": 0.821
        }
      }
    },
    {
      "id": "advanced",
      "label": "Advanced",
      "columns": [
        {
          "key": "ts_pct"
        },
        {
          "key": "efg_pct"
        },
        {
          "key": "usg_pct"
        },
        {
          "key": "per"
        },
        {
          "key": "ws"
        },
        {
          "key": "ws48"
        },
        {
          "key": "ortg"
        },
        {
          "key": "drtg"
        },
        {
          "key": "ewa"
        }
      ],
      "rows": [
        {
          "season": 2021,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 62,
          "values": {
            "ts_pct": 0.523,
            "efg_pct": 0.49,
            "usg_pct": 14.3,
            "per": 10.6,
            "ws": 1.6,
            "ws48": 0.071,
            "ortg": 108.5,
            "drtg": 112.9,
            "ewa": -0.5
          },
          "rowScope": "team"
        },
        {
          "season": 2022,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 71,
          "values": {
            "ts_pct": 0.54,
            "efg_pct": 0.516,
            "usg_pct": 18.9,
            "per": 13.3,
            "ws": 3.3,
            "ws48": 0.082,
            "ortg": 110.2,
            "drtg": 112.7,
            "ewa": 1.8
          },
          "rowScope": "team"
        },
        {
          "season": 2023,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 38,
          "values": {
            "ts_pct": 0.55,
            "efg_pct": 0.525,
            "usg_pct": 24.5,
            "per": 15.4,
            "ws": 1.3,
            "ws48": 0.052,
            "ortg": 111.2,
            "drtg": 120.7,
            "ewa": 2.3
          },
          "rowScope": "team"
        },
        {
          "season": 2024,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 68,
          "values": {
            "ts_pct": 0.578,
            "efg_pct": 0.55,
            "usg_pct": 23.6,
            "per": 15.7,
            "ws": 3.7,
            "ws48": 0.079,
            "ortg": 114.2,
            "drtg": 119,
            "ewa": 4.7
          },
          "rowScope": "team"
        },
        {
          "season": 2025,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 64,
          "values": {
            "ts_pct": 0.553,
            "efg_pct": 0.532,
            "usg_pct": 22.2,
            "per": 14.1,
            "ws": 2.2,
            "ws48": 0.053,
            "ortg": 109.9,
            "drtg": 118.7,
            "ewa": 2.6
          },
          "rowScope": "team"
        },
        {
          "season": 2026,
          "seasonType": "REG",
          "team": "SA",
          "gamesPlayed": 68,
          "values": {
            "ts_pct": 0.571,
            "efg_pct": 0.544,
            "usg_pct": 18.1,
            "per": 12.9,
            "ws": 4.9,
            "ws48": 0.114,
            "ortg": 119.1,
            "drtg": 114.7,
            "ewa": 1.4
          },
          "rowScope": "team"
        },
        {
          "season": 2026,
          "seasonType": "POST",
          "team": "SA",
          "gamesPlayed": 23,
          "values": {
            "ts_pct": 0.573,
            "efg_pct": 0.547,
            "usg_pct": 15.3,
            "per": 13.6,
            "ws": 2.3,
            "ws48": 0.139,
            "ortg": 120.6,
            "drtg": 108.9,
            "ewa": 0.8
          },
          "rowScope": "team"
        }
      ],
      "careerTotals": {
        "REG": {
          "ts_pct": null,
          "efg_pct": null,
          "usg_pct": null,
          "per": null,
          "ws": 17,
          "ws48": null,
          "ortg": null,
          "drtg": null,
          "ewa": null
        },
        "POST": {
          "ts_pct": null,
          "efg_pct": null,
          "usg_pct": null,
          "per": null,
          "ws": 2.3,
          "ws48": null,
          "ortg": null,
          "drtg": null,
          "ewa": null
        }
      },
      "advancedMeta": {
        "method": "computed in-house from hoopR ESPN box-score aggregates (sportsdataverse, CC-BY 4.0)",
        "formulas": {
          "ts_pct": "PTS / (2 * (FGA + 0.44*FTA))",
          "efg_pct": "(FG + 0.5*3P) / FGA",
          "usg_pct": "standard usage estimate vs team plays while on floor",
          "per": "Hollinger uPER + pace adjustment, normalized to MP-weighted league mean 15.0 per season+seasonType",
          "ortg_drtg": "Dean Oliver individual ratings, box-score approximation (Basketball on Paper)",
          "ws": "marginal offense/defense win shares over Oliver points-produced and defensive rating",
          "ewa": "((PER - 11.5) * MP / 67) / 30 wins — flat replacement level (positional PRL not used: ESPN position data unreliable pre-2010)"
        },
        "caveats": [
          "possessions are box-score estimates, not play-by-play counts",
          "team/opponent totals are summed from player box lines paired per game (the hoopR team box release's turnover columns are unreliable per-season), so deadball TEAM turnovers are excluded from possession estimates",
          "traded players are attributed to their modal (most-games) team's context for team-dependent metrics",
          "play-in games (ESPN season_type 5) are excluded from player and team aggregates",
          "DRtg is a box-score approximation of individual defense and inherits heavy team context",
          "coverage starts with the 2001-02 season (hoopR ESPN archive floor)",
          "career advanced values are null except WS (the only cleanly summable metric) — no fake career rates",
          "split-season TOT rows sum only additive WS/EWA; stint-context rates stay null while exact team rows retain them"
        ]
      }
    },
    {
      "id": "college-pergame",
      "label": "College Per Game",
      "columns": [
        {
          "key": "gp"
        },
        {
          "key": "gs"
        },
        {
          "key": "mpg"
        },
        {
          "key": "fg_pct"
        },
        {
          "key": "fg3_pct"
        },
        {
          "key": "ft_pct"
        },
        {
          "key": "rpg"
        },
        {
          "key": "apg"
        },
        {
          "key": "spg"
        },
        {
          "key": "bpg"
        },
        {
          "key": "ppg"
        }
      ],
      "rows": [
        {
          "season": 2019,
          "seasonType": "COLLEGE",
          "team": "Florida State",
          "gamesPlayed": 33,
          "values": {
            "gp": 33,
            "gs": 0,
            "mpg": 10.7,
            "fg_pct": 0.437,
            "fg3_pct": 0.419,
            "ft_pct": 0.679,
            "rpg": 1.5,
            "apg": 0.6,
            "spg": 0.5,
            "bpg": 0.3,
            "ppg": 4.5
          },
          "rowScope": "team"
        },
        {
          "season": 2020,
          "seasonType": "COLLEGE",
          "team": "Florida State",
          "gamesPlayed": 30,
          "values": {
            "gp": 30,
            "gs": 30,
            "mpg": 28.8,
            "fg_pct": 0.49,
            "fg3_pct": 0.415,
            "ft_pct": 0.738,
            "rpg": 5.1,
            "apg": 1.6,
            "spg": 1.4,
            "bpg": 1,
            "ppg": 12.7
          },
          "rowScope": "team"
        }
      ],
      "careerTotals": {
        "COLLEGE": {
          "gp": 63,
          "gs": 30,
          "mpg": 19.3,
          "fg_pct": 0.475,
          "fg3_pct": 0.417,
          "ft_pct": 0.72,
          "rpg": 3.2,
          "apg": 1.1,
          "spg": 1,
          "bpg": 0.6,
          "ppg": 8.4
        }
      }
    }
  ],
  "dataSources": [
    "sportsdataverse:hoopR espn_nba_player_boxscores (CC-BY 4.0)",
    "sportsdataverse:hoopR espn_nba_rosters (CC-BY 4.0)",
    "sportsdataverse:hoopR espn_nba_draft (CC-BY 4.0)",
    "wikipedia:nba-career-stats (CC-BY-SA, facts-only)",
    "wikipedia:nba-bio (CC-BY-SA, facts-only)"
  ],
  "generatedAt": "2026-10-09T08:17:39.331Z"
}
