if you are a normal person, basketball is a simple game. you turn on the tv. steph curry shoots from the parking lot. you say "wow, he’s good." the lakers lose. you go to sleep.

that must be a peaceful life. i wouldn't know.

i live in the other basketball reality. the one where we don't just watch the game; we watch the spreadsheet. Illustration

the iceberg of stats

for the casual fan, there are only three numbers: points, rebounds, assists. PRA, PRA, PRA. that's it. maybe field goal percentage (fg%) if they feel analytical.

but if you spend enough time on nba twitter, you realize those numbers are for children. fg% is a lie because it treats a 3-pointer the same as a layup. so people invented ts% (true shooting percentage) to correct the math.

then it gets worse. you start hearing about perws/48vorp, dbpm. then you descend into the dark arts of impact metrics: lebron(yes, that’s a real stat acronym), raptordarko(shout out to my boy donnie darko).

suddenly, you aren't arguing about who has the "killer instinct." you are arguing about a player's defensive box plus-minus relative to league average excluding garbage time.

why? to push an agenda.

the art of the agenda

Illustration (me arguing on nba twitter)

on the internet, nobody cares about the truth. they care about being right. an "agenda" is when you decide a player is the goat (or a fraud) and you find the numbers to prove it.

  • want to prove westbrook is a stat-padder? use usage rate vs. efficiency.

  • want to prove jokic is a god? show his on/off splits.

it’s not analysis. it’s warfare.

i am an engineer, so i cheated

arguing on twitter is manual labor. i don't do manual labor. i write scripts.

as a cs student, i realized that spending 20 minutes on basketball-reference to find a stat was inefficient. so i built my own tool.

i coded a llm wrapper around the python library nba api. while you are typing "i think embiid played bad," i am running a script that fetches every fourth-quarter possession where he touched the ball in the last 30 days, calculates his turnover ratio, and formats it into a tweet.

i don't argue with feelings. i argue with json.

the sad truth

is this healthy? no. does it make the game more fun? debatable. sometimes i miss the days when i could just watch a dunk without calculating its impact on the salary cap.

but then i see someone on twitter claiming their favorite player is "clutch," and i open my terminal, and i query the last 5 years of clutch-time data, and hit send.

it’s not about basketball anymore. it’s about sending a message.