About NBAAnalytic
NBAAnalytic checks basketball claims against data instead of winning arguments by talking louder: if a claim can be checked, it gets checked, and the working is published along with the conclusion.
NBAAnalytic publishes under its own name, not a person's. It is owned by an independent publisher. How this site is made explains how the articles are made: from public data and the sources named in each piece, under the owner's direction. No article describes anyone's personal experience of the game. Where a piece says "we", it means the site. No team, broadcaster or league has any say in what is published.
Editor
C. B. Zakarian (a pen name) is the owner and editor of NBAAnalytic. C. B. Zakarian holds a Ph.D. in Information Systems, with a focus on data science, from the University of North Carolina at Greensboro (2016), and is an assistant professor.
C. B. Zakarian decides what NBAAnalytic publishes and when, and the figures on each page are checked against the sources it names before publication. Pages the editor has reviewed in full show the date of that review, and errors are corrected when they are found.
What this site is
It's a site about NBA numbers — the ratings, the models, and the charts that explain the league. It runs in six lanes: plain-English stat explainers, hands-on tutorials for pulling and charting data yourself, longer data deep-dives, basketball history looked at again with modern numbers, player & team analysis, and methodology & projections.
One rule holds all of it together: no made-up numbers. Every specific stat on this site came out of a public source. The datasets behind the exhibits built on the bundled 2023-24 data layer are published here so you can redo that arithmetic yourself and say so if it's wrong; the exhibits that come from a live NBA Stats API or Basketball-Reference pull instead carry their source and retrieval date, so you can go back to the same well. The analysis and charting scripts run at build time and are not served with the pages; when an article names one, it is naming the build-side file that produced the figure, not a download.
How the numbers are made
Everything quantitative here traces back to a short list of public, well-documented sources:
- The NBA Stats API, queried in Python through the open-source nba_api package. This is the backbone — box scores, advanced metrics (True Shooting, usage, offensive/defensive rating, the Four Factors), shot locations, clutch splits, game logs.
- Basketball-Reference for historical seasons, Win Shares, Box Plus/Minus, and anything that predates the modern tracking era.
- NBA.com/stats for cross-checking and for the official definition of a stat.
The routine is boring on purpose: a small script pulls exactly the data a piece needs, the raw response is cached so re-runs don't hammer the source, the metrics are computed in code, and figures are rendered with matplotlib so the chart and the table can't quietly disagree. Every table and chart carries its source and retrieval date, because a stat is a snapshot — the as-of date tells you which one. The bundled datasets behind the exhibits are served openly under /data/data_layer/; SOURCE.txt documents each file's provenance and names the rest, so you can re-run any piece's numbers against the same files.
When a number reflects a current or recent season, it came from a live pull on the date noted. Formulas, rule changes and history are simply stated; those don't change between page loads. If a source is ever down, the page carries a visible note rather than a guess. You will not find a made-up figure standing in for a real one anywhere on this site.
What the site is skeptical of
A lot of what passes for analysis is a single number wearing a confident face. Raw plus-minus over a handful of games doesn't deserve trust, one player's clutch line isn't proof of a "clutch gene," and any all-in-one metric quoted to two decimal places as if it settled the matter deserves suspicion. Small samples lie, defense barely shows up in the box score, and "the eye test" and "the analytics" usually aren't enemies — they're two instruments that should be reconciled, not picked between. When the answer is uncertain, the article says so and shows the spread instead of pretending the uncertainty isn't there.
Corrections
Data work is humbling and mistakes happen. If you spot a miscalculation, a mislabeled axis, or a stat that doesn't reconcile, email contact@nbaanalytic.com; it will be fixed and the correction noted. Getting it right matters more than getting there first.
Independence and disclosures
NBAAnalytic isn't affiliated with, endorsed by, or sponsored by the NBA or any of its teams. The site may carry display advertising in the future; it does not today. It uses analytics to see which articles are worth expanding; the details are in the Privacy Policy. Nothing here is betting or financial advice — see the Disclaimer.