Posts about NBA
When I was 7 years old, I spent my summer tenaciously trying and failing to defeat a behemoth: my older brother and his bullshit Machamp. I didnโt understand it; I grinded for hours, training on Mt. Silver and cycling through the Elite 4 again and again to get my Pokรฉmon leveled up and strong as possible. But regardless of how strong my Pokรฉmon were, my brother would just grind me down until I had to put up my level 100 Tyranitar against his stupid, under-leveled Machamp, who would then proceed to tank a Rock Slide and then KO my prize fighter with a Cross Chop. My problem, you see, was that I was an idiot. All I cared about was getting the highest base-stat Pokรฉmon I could find and training them to maximize those stats. I didnโt give a shit about type matchups or team synergy (in addition to my Tyranitar, I also always had a Typhlosion, Ho-oh, and Entei in my party), and focused solely on what my data told me were my best fighters.
I, like many of us, think about basketball in a similar way. Actually understanding basketball is hard. Itโs complex, and fluid, and so many winning plays donโt show up in the box score. But numbers are easy. I just love looking at a spreadsheet that tells me which basketball player is the best in the league, and which players are complete trash. And the best part: I can pretend like my awful opinions are smart and data-driven while those โeye-testโ morons are nitpicking and biased โ I win, bye bye!
Now this got me thinking โ what if I could combine 3 of my favorite things: NBA basketball, Pokรฉmon, and needless, contrived data analysis? After much thought, I decided I wanted to create a definitive Rosetta Stone so that basketball nerds could efficiently communicate with Pokรฉmon nerds. And after months of development, testing, and tweaking, I am happy to introduce my official NBA Player to Pokรฉmon Crosswalk.
I first must address that this crosswalk isnโt comprehensive. There are way too many Pokรฉmon to compare to current NBA players who played meaningful minutes, and way too many former and current NBA players to compare to Pokรฉmon. I thusly limited my dictionary to players who played at least 1,100 minutes in the 2022-2023 NBA regular season and Pokรฉmon from the first 2 generations. There are a few reasons for this. A few of the statistics I use are pretty noisy and need a good amount of playing time to stabilize, and I wanted to limit this analysis to notable players who made an impact this past year. On the Pokรฉmon side, I have the strongest memories and fondness for these first two generations of games and didnโt want to include a bunch of Pokรฉmon that I didnโt really care about. But the real reason for these choices is simple: There are 251 Pokรฉmon in the first 2 generations and 251 players who played at least 1,100 minutes. And with this perfect symmetry, I can ensure that every player has a unique Pokรฉmon and every Pokรฉmon has a unique player.
As I said earlier, I donโt care about type matchups or move sets or positions or player fit. I only care about numbers and base stats. So I developed the following basketball analogues for each Pokรฉmon base stat:
HP:
(Career games played)/(Career possible games played)
Pretty simple: How many games did the player play in for their entire career vs how many they could have played in. I like this because it incorporates games missed due to injury and games missed due to being bad. This is the only stat that uses career statistics because I thought that single injuries to players who are normally consistently on the court could unfairly impact their ratings here. I also applied Bayesian normalization to bring their rates closer toward the league average, with players who have played for longer being less affected by the normalization than rookies.
Attack:
PPG*0.75+TS%*0.25
Attack is all about getting buckets. I rescaled both PPG and TS% to 0-100 and created a weighted average of the two rescaled statistics. I think both volume and efficiency are important, but I definitely value volume scoring on decent efficiency more than scoring 6 PPG on 75% TS.
Sp. Attack
Assists-Turnovers
I thought of special attack as playmaking. I initially used assist/turnover ratio, but that is really biased towards bigs who donโt touch the ball much โ according to ATR, Kevon Looney is the 4th best playmaker in the league. Itโs important to have the ball in hand to be a good playmaker, so I like just having this linear penalty for turnovers.
Defense
Raptor box defense
This is where things start to get weird. Defense is a really hard attribute to quantify for a multitude of reasons, so I didnโt really know where to go. So I let the eggheads over at FiveThirtyEight do that for me. RAPTOR box defense is an all-in-one defensive metric similar to defensive BPM that isnโt great, but none of the all-in-one metrics are. This is the best I could do.
Sp. Defense
(Raptor on/off defense)-(Raptor box defense)
This is where things get REALLY weird. RAPTOR uses a blend of box score statistics and on/off statistics for their overall score, and I just took the difference between the on/off score (representing the actual overall defensive impact of the player) and the box score (representing the predicted value of the playerโs defense). My idea was that this difference would be all the intangibles that go into defense โ switching, team defense, versatility, etc. I donโt know what โspecialโ defense in basketball should be, but that kind of sounds like it makes sense to me.
Speed
(NBA.com average speed)*0.5+(2k23 Speed rating)*0.5
Of course, I had to site the utmost authority on player ability: NBA 2K. I could have made the entire stat just be the 2k speed rating and that decision would have been unassailable. But because I am a sucker for advanced analytics I made it a 50/50 blend with the average speed from NBA.comโs player tracking data. I donโt know how well this stat correlates to actual top sprint speed (Is Sam Hauser faster than DeโAaron Fox? I donโt know โ Iโve never watched basketball before), but I would be remiss to not include a statistic that shows how fast each player is, on average, when they are playing basketball.
I then ranked every player and every Pokรฉmon by each stat and gave each NBA player the corresponding Pokรฉmon base stat. So, for example, the player with the highest attack stat would be given Tyranitarโs (or Dragoniteโs) 134 attack and the player with the lowest attack would be given Chanseyโs 5. Once I Pokรฉmonified each NBA playerโs stats I was able to 1) sum up each stat to get their NBA base stat total and 2) match each NBA player to their corresponding Pokรฉmon.
The matching algorithm was pretty simple. I compared all six stats for each of the 63,001 combinations of players and Pokรฉmon and calculated the Mean Square Error (MSE), which is just the average of the squared difference between Pokรฉmon and player for each stat (e.g. the squared difference of Porygonโs HP and Kelly Olynykโs HP plus the squared difference of Porygonโs Speed and Kelly Olynykโs Speed, etc). I then sorted all 63,001 combinations from lowest MSE (best match) to highest MSE (worst match) and picked the first match that didnโt have either the Pokรฉmon or the player picked already. This was to get the best match for each individual without having any repeat players or Pokรฉmon. And then I had it: the definitive, objective list of every meaningful NBA player and their Pokรฉmon counterpart.
The distribution of the total base stats was interesting . Because I used the exact same 251 numbers from each Pokรฉmon to give to each NBA player, the NBA players and Pokรฉmon had the same distribution for each individual stat. But, although the mean total base stats were the same (406.7, approximately a Charmeleon), the distribution of Pokรฉmon total stats and player total stats looked a lot different. This figure is a density plot of the total base stats for NBA players (in red) and Pokรฉmon (in yellow). The players have a very central distribution with a mode very near the mean at around 400, but the Pokรฉmon have a bimodal distribution; there are a lot of Pokรฉmon with base stats of around 500 and a lot of Pokรฉmon with base stats around 300, with fewer hovering around that mean score. Both have a tail on the right side where there are a few individuals who are way more powerful than the rest.
I also looked at stats by position. This set of bar graphs shows the mean stats for each position according to basketball-reference. A few notable findings:
Overall stats showed a slight monotonic decrease from PG to C (p<0.0001)
Special attack, as expected, was drastically higher among PGs and pathetically low for C.
Conversely, Cs had a much higher average defense stat compared to the other positions. Although they also had the lowest average special defense.
Centers are really slow, but I was surprised to see SGs edging out PGs slightly in the speed category.
To assess the correlation between top-tier players and top-tier Pokรฉmon, I used the competitive viability rankings for Pokรฉmon Gold/Silver/Crystal. I compared players receiving an all-NBA selection to Pokรฉmon that were at least in the B-tier of competitive viability, including the 5 Uber-tier Pokรฉmon. Iโm not into competitive Pokรฉmon because Iโm not a freak but I figure this list is approximately as good at picking the best Pokรฉmon as the all-NBA voters are at picking the best players in the league. And indeed, there was a strong association here, albeit on a small sample size: 5 out of 15 all-NBA selections (33.3%) were matched to a competitively viable Pokรฉmon, compared to only 18 out of 236 players who did not make an all-NBA team (7.6%).
But I just thought that these data were kind of cool. Letโs get into the really interesting results. Here are the top 10 worst NBA players by Pokรฉmon base stats:
10: Seth Curry
Total: 293 โ HP: 35 โ ATK: 57 โ SP.ATK: 58 โ DEF:40 โ SP.DEF: 55 โ SPD: 48 โ Match: Dratini
I was devastated when I first saw this and misread it as analytics darling Steph being the 10th least powerful player in the NBA until I reread and saw it was his bum-ass brother. Heโs pretty garbage at everything here, especially staying on the court.
T9: Precious Achiuwa
Total: 292 โ HP: 60 โ ATK: 47 โ SP.ATK: 25 โ DEF:75 โ SP.DEF: 25 โ SPD: 60 โ Match: Nidoran (F)
I think Achiuwa is going to be a powerful player one day. Heโs big and strong and has shown flashes of real impressive talent. But his injury definitely hurt his stats (he barely played enough minutes to make the list) and the man has to start passing more if he wants anything close to a decent SP.ATK.
T9: P.J. Tucker
Total: 292 โ HP: 100 โ ATK: 5 โ SP.ATK: 36 โ DEF:70 โ SP.DEF: 40 โ SPD: 41 โ Match: Marill
I have to admit, Iโm pretty happy he wound up on this list. P.J. has really pissed me off for years. I just feel like every playoffs he has like 2 games where he goes 12/13 from 3 in 15 minutes of play and just completely fucks my team. But Iโm glad to see that most of the time he just stands in the corner and does nothing, giving him Chanseyโs impotent 5 ATK, which is so bad that it brings him down to the bottom 10 despite some decent HP and defense stats.
7: Trendon Watford
Total: 290 โ HP: 40 โ ATK: 50 โ SP.ATK: 60 โ DEF:55 โ SP.DEF: 45 โ SPD: 40 โ Match: Ditto
I know absolutely nothing about Trendon Watford. I donโt even think Iโve heard of him. Heโs just pretty bad at everything without being atrocious, he played on the unremarkable Blazers, and he doesnโt have any interesting highlights I can find. Pretty cool that his match is Ditto, though. I like to imagine he can provide value to Brooklyn by morphing into Mikal Bridges and getting traded to the Timberwolves for Gobert and picks or something, only to morph back into an amorphous blob upon his arrival in Minnesota.
T6: David Roddy
Total: 280 โ HP: 60 โ ATK: 20 โ SP.ATK: 30 โ DEF:58 โ SP.DEF: 40 โ SPD: 72 โ Match: Smeargle
Iโll withhold judgement for now as heโs only played one year, but heโs got absolutely nothing on offense right now. Also, he looks like the final boss of football players at the YMCA. Would be an absolute nightmare to guard in pickup.
T6: Lamar Stevens
Total: 280 โ HP: 45 โ ATK: 10 โ SP.ATK: 35 โ DEF:90 โ SP.DEF: 35 โ SPD: 65 โ Match: Magikarp
Lamar Brandon Stevens (born July 9, 1997) is an American professional basketball player for the Cleveland Cavaliers of the National Basketball Association (NBA). He played college basketball for the Penn State Nittany Lions.
Another guy I know nothing about, so I just copied from his Wikipedia page.
4: Reggie Bullock
Total: 274 โ HP: 39 โ ATK: 40 โ SP.ATK: 60 โ DEF:35 โ SP.DEF: 65 โ SPD: 35 โ Match: Mareep
Iโm pretty surprised how far down he is. I always thought of him as a solid role player who would be somewhere in the mid-low tier of players. And I do think he was done a bit dirty here. Heโs been pretty reliable the past few years, but still has an abysmal HP stat due to being unable to stay on the court in his early years. But on the other hand, dude can not shoot at all.
3: Bol Bol
Total: 270 โ HP: 20 โ ATK: 60 โ SP.ATK: 15 โ DEF:40 โ SP.DEF: 85 โ SPD: 50 โ Match: Rattata
I remember back when he was still in high school, I watched a video where this guy said that one day Bol Bol would dunk from the three point line. I spent years believing this random dude before I finally realized that was incredibly stupid and I was incredibly stupid for thinking that was true. I still was super bullish on him though. His draft day NBA comparison was Kristaps Porzingis. Now his Pokรฉmon comparison is Rattata.
2: Christian Wood
Total: 265 โ HP: 25 โ ATK: 90 โ SP.ATK: 35 โ DEF:60 โ SP.DEF: 35 โ SPD: 20 โ Match: Paras
Hopefully this will once and for all end the Christian Wood discussion. Heโs been a vexing player for his whole career, bouncing around from team to team and never quite playing up to his potential. Now being on the Lakers, heโs got a bit of buzz again. But I donโt know if heโll ever be able to shake his new reputation as one of the least powerful players in the league, nor his new comp: a weird nerdy little mushroom crab.
1: Jordan Nwora
Total: 256 โ HP: 40 โ ATK: 45 โ SP.ATK: 40 โ DEF:20 โ SP.DEF: 55 โ SPD: 56 โ Match: Zubat
This one hurts. I like Jordan Nwora. I have family from Louisville and I remember watching him play. I really want to emphasize that by even making the list that means he was been an impactful player in the NBA this year. But to not only be the weakest measured player in the league, but to also have the most hated, annoying, useless fucking Pokรฉmon in history be your comparison? Just brutal, man.
On the flip side, here are our top 10 most powerful players:
10: T.J. McConnell
Total: 535 โ HP: 90 โ ATK: 50 โ SP.ATK: 100 โ DEF: 95 โ SP.DEF: 70 โ SPD: 130 โ Match: Starmie
The quintessential high-motor, scrappy gym rat kind of player. Real lunch pail guy. He may not be in many top 10 NBA players lists, but McConnell sneaks into this one by the sheer force of trying really, really hard. He actually had the highest average game speed in the entire NBA last year, which gave him a blistering 130 speed stat despite a pedestrian 76 speed in 2k.
9: Tyrese Haliburton
Total: 539 โ HP: 65 โ ATK: 100 โ SP.ATK: 154 โ DEF: 45 โ SP.DEF: 80 โ SPD: 95 โ Match: Espeon
Haliburton tops the league in special attack, and deservedly so. Certified point god. I am more interested in how fucking good Espeon is, however. I, being a young boy at the peak of my Pokemon fandom, naturally figured Espeon was for girls so I never even considered it for my party. But its special attack and speed are no joke. I couldโve done some damage against my friends if it werenโt for my deep-seated misogyny.
T8: DeMar DeRozan
Total: 545 โ HP: 140 โ ATK: 105 โ SP.ATK: 95 โ DEF: 65 โ SP.DEF: 100 โ SPD: 40 โ Match: Lapras
DeMar is so cool. Iโm disappointed that his Pokรฉmon comp is Lapras. I mean, Lapras is also cool for sure, but definitely not in the upper echelon of sick Pokรฉmon like Charizard or Gyarados, which I think would be better vibe matches with DeRozan. Side note: I had no idea how reliable DeRozan has been throughout his career. Heโs played in at least 70 games in 10 of his 14 years in the NBA. Super cool.
T8: Giannis Antetokounmpo
Total: 545 โ HP: 105 โ ATK: 130 โ SP.ATK: 80 โ DEF: 100 โ SP.DEF: 65 โ SPD: 65 โ Match: Machamp
Machamp is the perfect comparison, IMO. Like Machamp, Giannis is objectively awesome, cool, and likable. Also like Machamp, I fucking hate him. And I hate them both for the same reason: they just destroy everything I care about with overwhelming power. I wouldnโt be surprised if Giannis entered next season with two extra arms that he grew this summer and scored 600 PPG.
6: Ja Morant
Total: 555 โ HP: 65 โ ATK: 110 โ SP.ATK: 115 โ DEF: 75 โ SP.DEF: 100 โ SPD: 90 โ Match: Magmar
โJa Morant used Fire Blast! Itโs super effective! Foe 17-Year-Old Boy fainted. Ja received a 4 game suspension for winning!โ
5: Franz Wagner
Total: 589 โ HP: 100 โ ATK: 90 โ SP.ATK: 70 โ DEF: 78 โ SP.DEF: 154 โ SPD: 97 โ Match: Articuno
This is what I was talking about with DeMar. If Wagner and DeRozan switched Pokรฉmon comps, the vibes would match so much better. Deebo gets matched with one of the coolest Pokรฉmon out there and Wagner gets matched with a long-necked enigma that I donโt understand. Why are his defensive on/off splits so good? Is he actually a good defender? I donโt think Iโve ever watched a Magic game in my life, so I have no idea.
4: Nikola Jokic
Total: 595 โ HP: 130 โ ATK: 125 โ SP.ATK: 130 โ DEF: 160 โ SP.DEF: 25 โ SPD: 25 โ Match: Mewtwo
No surprises here seeing Jokic taking one of the top spots. And his stats are so much cooler than everyone elseโs. Absolutely terrifying HP, attack, special attack, and defense, with pitiful special defense and speed. But who cares about those nerd stats? Heโs just pure Chad.
3: Mikal Bridges
Total: 630 โ HP: 250 โ ATK: 95 โ SP.ATK: 80 โ DEF: 70 โ SP.DEF: 50 โ SPD: 85 โ Match: Blissey
If thereโs any identifiable problem with my algorithm, itโs the extreme outlier stats. Since I match the ranks of player and Pokรฉmon stats, Pokรฉmon like Chansey, Blissey, and Shuckle can really inflate the base stats of the top performers in certain categories. Bridges is the first of two ironmen who, despite being an excellent player, is maybe not better than Jokic and Giannis.
2: Buddy Hield
Total: 635 โ HP: 255 โ ATK: 85 โ SP.ATK: 65 โ DEF: 60 โ SP.DEF: 70 โ SPD: 100 โ Match: Chansey
The second ironman, Buddy Hield narrowly takes the two spot over Bridges, thanks to his superior speed. My consolation to these two being so high on the rankings is that at least they both have lame comparisons. Like cool, Buddy, youโre a top 2 player in the league. Youโre also a big egg holding a little egg in your pouch.
1: Immanuel Quickley
Total: 669 โ HP: 105 โ ATK: 80 โ SP.ATK: 85 โ DEF: 79 โ SP.DEF: 230 โ SPD: 90 โ Match: Lugia
As we all expected, Immanuel Quickley takes the top spot. After dominating the league for years with his well-balanced attack and Shuckle-like special defense, Quickley finally earns a worthy comparison: the sickest legendary Pokรฉmon in the whole series. Maybe itโs a little too chalky, but this is great validation that my algorithm, while perhaps not perfect, is getting the broad strokes correct.
There is so much more to this dataset to look at and discuss (For instance: Luka is matched to GOAT Tyranitar and Chris Paul is matched to Sunflora -- ha), but for the sake of brevity Iโll save that for another time. Here is the link to the spreadsheet with all the stats for every Pokรฉmon and their NBA match so if anyone else wants to explore how strong their favorite players are or which player embodies their favorite Pokรฉmon they can.