{"sport":"nba","slug":"joshua-primo","bio":{"fullName":"Joshua Primo","position":"G","team":"LAC","heightInches":76,"weightLbs":189,"birthDate":"2002-12-24","college":"Alabama","headshotUrl":"https://a.espncdn.com/i/headshots/nba/players/full/4702176.png","rookieSeason":2022,"lastSeason":2024,"status":"RET","externalIds":{"espn":"4702176"}},"draft":{"year":2021,"round":1,"pick":12,"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":2022,"seasonType":"REG","team":"SA","gamesPlayed":50,"values":{"g":50,"gs":16,"mp":965,"fg":101,"fga":270,"fg_pct":0.374,"fg3":42,"fg3a":137,"fg3_pct":0.307,"ft":44,"fta":59,"ft_pct":0.746,"orb":32,"drb":81,"trb":113,"ast":81,"stl":20,"blk":23,"tov":57,"pf":79,"pts":288},"rowScope":"team"},{"season":2023,"seasonType":"REG","team":"SA","gamesPlayed":4,"values":{"g":4,"gs":0,"mp":94,"fg":9,"fga":26,"fg_pct":0.346,"fg3":3,"fg3a":12,"fg3_pct":0.25,"ft":7,"fta":9,"ft_pct":0.778,"orb":2,"drb":11,"trb":13,"ast":18,"stl":1,"blk":2,"tov":11,"pf":8,"pts":28},"rowScope":"team"},{"season":2024,"seasonType":"REG","team":"LAC","gamesPlayed":2,"values":{"g":2,"gs":0,"mp":10,"fg":1,"fga":3,"fg_pct":0.333,"fg3":0,"fg3a":1,"fg3_pct":0,"ft":0,"fta":0,"ft_pct":null,"orb":1,"drb":0,"trb":1,"ast":0,"stl":0,"blk":1,"tov":4,"pf":0,"pts":2},"rowScope":"team"}],"careerTotals":{"REG":{"g":56,"gs":16,"mp":1069,"fg":111,"fga":299,"fg_pct":0.371,"fg3":45,"fg3a":150,"fg3_pct":0.3,"ft":51,"fta":68,"ft_pct":0.75,"orb":35,"drb":92,"trb":127,"ast":99,"stl":21,"blk":26,"tov":72,"pf":87,"pts":318}}},{"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":2022,"seasonType":"REG","team":"SA","gamesPlayed":50,"values":{"mpg":19.3,"ppg":5.8,"rpg":2.3,"apg":1.6,"spg":0.4,"bpg":0.5,"topg":1.1,"fg_pct":0.374,"fg3_pct":0.307,"ft_pct":0.746},"rowScope":"team"},{"season":2023,"seasonType":"REG","team":"SA","gamesPlayed":4,"values":{"mpg":23.5,"ppg":7,"rpg":3.3,"apg":4.5,"spg":0.3,"bpg":0.5,"topg":2.8,"fg_pct":0.346,"fg3_pct":0.25,"ft_pct":0.778},"rowScope":"team"},{"season":2024,"seasonType":"REG","team":"LAC","gamesPlayed":2,"values":{"mpg":5,"ppg":1,"rpg":0.5,"apg":0,"spg":0,"bpg":0.5,"topg":2,"fg_pct":0.333,"fg3_pct":0,"ft_pct":null},"rowScope":"team"}],"careerTotals":{"REG":{"mpg":19.1,"ppg":5.7,"rpg":2.3,"apg":1.8,"spg":0.4,"bpg":0.5,"topg":1.3,"fg_pct":0.371,"fg3_pct":0.3,"ft_pct":0.75}}},{"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":2022,"seasonType":"REG","team":"SA","gamesPlayed":50,"values":{"pts36":10.7,"trb36":4.2,"ast36":3,"stl36":0.7,"blk36":0.9,"tov36":2.1,"fg_pct":0.374,"fg3_pct":0.307,"ft_pct":0.746},"rowScope":"team"},{"season":2023,"seasonType":"REG","team":"SA","gamesPlayed":4,"values":{"pts36":10.7,"trb36":5,"ast36":6.9,"stl36":0.4,"blk36":0.8,"tov36":4.2,"fg_pct":0.346,"fg3_pct":0.25,"ft_pct":0.778},"rowScope":"team"},{"season":2024,"seasonType":"REG","team":"LAC","gamesPlayed":2,"values":{"pts36":7.2,"trb36":3.6,"ast36":0,"stl36":0,"blk36":3.6,"tov36":14.4,"fg_pct":0.333,"fg3_pct":0,"ft_pct":null},"rowScope":"team"}],"careerTotals":{"REG":{"pts36":10.7,"trb36":4.3,"ast36":3.3,"stl36":0.7,"blk36":0.9,"tov36":2.4,"fg_pct":0.371,"fg3_pct":0.3,"ft_pct":0.75}}},{"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":2022,"seasonType":"REG","team":"SA","gamesPlayed":50,"values":{"ts_pct":0.487,"efg_pct":0.452,"usg_pct":15.5,"per":7.1,"ws":0,"ws48":0.002,"ortg":96.9,"drtg":116,"ewa":-2.1},"rowScope":"team"},{"season":2023,"seasonType":"REG","team":"SA","gamesPlayed":4,"values":{"ts_pct":0.467,"efg_pct":0.404,"usg_pct":18.1,"per":6,"ws":-0.1,"ws48":-0.07,"ortg":91.5,"drtg":123,"ewa":-0.3},"rowScope":"team"},{"season":2024,"seasonType":"REG","team":"LAC","gamesPlayed":2,"values":{"ts_pct":0.333,"efg_pct":0.333,"usg_pct":30.9,"per":-12.9,"ws":-0.1,"ws48":-0.591,"ortg":36.7,"drtg":119.8,"ewa":-0.1},"rowScope":"team"}],"careerTotals":{"REG":{"ts_pct":null,"efg_pct":null,"usg_pct":null,"per":null,"ws":-0.2,"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":2021,"seasonType":"COLLEGE","team":"Alabama","gamesPlayed":30,"values":{"gp":30,"gs":19,"mpg":22.5,"fg_pct":0.431,"fg3_pct":0.381,"ft_pct":0.75,"rpg":3.4,"apg":0.8,"spg":0.6,"bpg":0.3,"ppg":8.1},"rowScope":"team"}]}],"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-07-31T19:13:23.943Z"}