Skip to content

WHERE THE NUMBERS COME FROM

Every figure on this site is recomputed from three exported CSV files and nothing else. The importer checks each of them against itself as it reads — totals that should reconcile, percentages that should reproduce, fixtures that should appear twice. This is that account, in full, including the parts that do not come out clean.

Files imported
3
Source rows read
1,039
Game rows
480
Flags raised
169

01 / The player export

EVERY PLAYER SEASON

Source rows

271

S3DB_EXPORT_PLAYER_STATS.csv

Players / teams

189 / 16

Points reconciled

56.8%

rows where points equal 2·FGM + 3PM + FTM

Percentage cells reproduced

100.0%

of 1,355 checked

Game Score reconciled

100.0%

rows where the exported Game Score matches the formula

Flagged rows

138

4 physically impossible

Season length

30 games

matches the minutes column, which implies 30

02 / The team export

EVERY GAME, TWICE OVER

Each fixture appears once from each side, so the two rows can be checked against each other — which is what catches an opponent the export forgot to name.

Source rows

480

DB_EXPORT_TEAM_STATS.csv

Teams / games each

16 / 30

Fixtures paired

69.2%

166 of 240 — both sides present

Opponent not named

71

rows that name no opponent, so they cannot be rated against one

Duplicate rows

4

Missing box scores

1

Points that do not add up

9

Makes exceeding attempts

1

Rebounds that do not reconcile

7

Percentages reproduced

69.8%

9 off by more than a whole point

Possessions reproduced

100.0%

Rating cells reproduced

100.0%

Which opponents the file actually names

Rows naming each opponent code. A team named fewer times than the others is a fixture the export left unlabelled from one side.

Rows by opponent code in the team export.
OpponentRows
OPP71
TOR27
HOU27
NYE27
VAN27
VBN26
DET26
DCS26
LVS26
OAK26
DAL26
PIT25
LAR25
CHI25
SEA24
TBS23
MIN23

03 / The contracts export

MONEY, AND WHAT OF IT

Source rows

288

S3 Contract Master_Export.csv

Record types

183 deals

16 team finances · 28 free agents · 61 upcoming

Money cells parsed

70.5%

of 549 salary cells for three seasons

Teams matched

16

every source code mapped onto a site team

Contracts matched to a season line

68.3%

125 of 183 — the rest are deals for players with no line in this season's stats

04 / Known gaps

WHAT IS MISSING

  • 71 of 480 game rows name no opponent. Those games still count toward a team's own scoring, but they cannot count toward strength of schedule — which is why every schedule figure on the site reports the named-game sample beside it.

  • 58 of 183 contracts did not match a season line. The contracts export lists next season's roster while the stats cover this one, so a new signing has money and no production here. Those deals carry no value figure rather than a guessed one.

  • 162 salary cells hold no number — they are blank or the literal "UFA". A blank is shown as a dash; it is never read as a zero.

  • 9 exported percentage cells disagree with the counting stats beside them by more than a whole percentage point. The site recomputes percentages from the made/attempted pairs, so the two can differ on screen from the source.

  • 4 source rows are duplicates of another row.

Nothing on this page is adjusted by hand. Run the import again with a corrected export and every figure above recomputes itself.