Methodology — How the Numbers Are Built

Nothing But Net's simulation engine produces one thing: box scores. Everything else on this site — the rankings, the ratings, the projections, the scouting tools — is built on top of those box scores here at NBN Analytics. This page explains how, so you can judge the numbers for yourself rather than taking them on faith. None of these metrics ship with the league export; they are computed from the underlying game data using the approaches described below.

The data pipeline

Each time the league advances, we ingest the latest box scores and roster state and rebuild the site from scratch. Raw game lines are aggregated into per-player and per-team season totals, then into per-game and per-36-minute rates. Career histories are accumulated across every season a player has appeared in, and an archive preserves completed seasons so the league's past stays queryable. Because the whole site is regenerated from the same canonical pull, every page — a player's profile, a leaderboard, a team page — is reading the same numbers as of the same moment. Each page footer carries its own "Last Updated" stamp.

VAR: Value Above Replacement

The headline rating across the site is VAR — Value Above Replacement. The idea borrows from the replacement-level concept familiar from other sports: a player's worth isn't his raw production, it's how much he produces above what a team could get for free from the bottom of the player pool at his position.

To build it we start from a player's rate production across the box-score categories — scoring, rebounding, playmaking, steals, blocks, and shooting efficiency. Each category is expressed relative to the league baseline for that category, so a rebound is valued against how rebounds are actually distributed across the league rather than on an absolute scale. The components are position-adjusted (a center's rebounding and a point guard's assists are judged against their own positions), combined into a single number, and then scaled so that a replacement-level player sits near zero. Crucially, VAR is reported with its components intact — scoring, rebounding, playmaking, defense and efficiency — so you can see where a player creates value, not just how much. Two players with the same VAR can be completely different basketball players, and the breakdown makes that visible.

Era & league adjustment

Comparing players across seasons is only fair if you account for the league they played in. A 25-point-per-game scorer in a high-scoring, fast-paced season is not the same as a 25-point scorer in a grind-it-out year. Wherever we compare players across time — career rankings, similarity, the win model below — raw stats are divided through by the league average for that stat in that season. The result is an era-neutral view: every number is read as a multiple of "league average that year," so dominance is measured against a player's own contemporaries before anyone is stacked up against players from a different era.

The Perfect Season win model

The Perfect Season game asks a simple question: if you drafted a five-man roster, how many games out of 82 would they win? Answering it requires a model that maps a roster's combined production to an expected win total. We build each player's era-adjusted profile across the core categories, average the roster into a team strength in each category, and convert that multi-category strength into a projected record. The mapping is calibrated against how real rosters of varying quality actually perform, so an average-everywhere roster lands near .500 and a roster that is elite across the board pushes toward the high 70s — while a glaring hole in even one category drags the projection down, because balance matters as much as star power.

Sim Squad scoring

Sim Squad reuses the same win-model math but applies it to real, upcoming results. Each week you draft five current players; after that week's games are actually simulated, every entry is scored on how those five players really performed — their actual box scores over the scored sim days are run through the win model and ranked best to worst. It's a forecasting game judged against reality, not against a static rating.

Player similarity (the "Alike" tool)

The Alike tool finds the players most statistically similar to a given player. We represent each player as a vector of era-adjusted, per-minute category rates and measure the distance between players in that space. The smaller the distance, the more alike two players' statistical profiles are. Because the inputs are era-adjusted, the tool will happily tell you that a guard from one decade is the closest comp to a guard from another — they produced the same way relative to their leagues, even if their raw numbers differ.

Archetypes, badges & fantasy scoring

A few lighter-weight derivations round out the player pages:

Limitations & honesty about the model

These are models, not gospel. VAR leans on box-score production, so value that doesn't show up in the box score (screening, spacing, defensive gravity) is only partially captured. The win model is calibrated to typical roster outcomes and will be less reliable for extreme or lopsided rosters. Era adjustment corrects for league scoring environment but can't account for everything that changes between seasons. We publish the reasoning here precisely so you can weigh the numbers with their limits in mind — and we refine the methods as the league and its data grow.

Want the plain-English overview instead? See the About page. Questions or corrections are always welcome through the Nothing But Net community.