Method
Box Plus/Minus 2.0
- Method
bpm2-v0- Version
bpm2-v0- As of
- 2026-10-08
- Family
- Value metrics
- Grain
- player x season (and player x team stint)
Cohort rule
z against the season's rotation cohort (rel-v0 is_rotation: 15+ min/g, half-of-max games rule); rendered in the 2023-24 rotation mean and spread (the era-v0 transform)
Stats this method computes
| Key | Name | Definition | Unit | Transform |
|---|---|---|---|---|
bpm | Box plus/minus (BPM) | Box Plus/Minus 2.0: points per 100 possessions above a league-average player, estimated from the box score and adjusted so a team's players sum to its opponent-adjusted net rating. 0 is league average. | points per 100 possessions vs average | |
obpm | Offensive box plus/minus (OBPM) | The offensive part of BPM 2.0, from its own regression and adjusted to the team's opponent-adjusted offensive rating. | points per 100 possessions vs average | |
dbpm | Defensive box plus/minus (DBPM) | The defensive part of BPM 2.0: BPM minus OBPM. | points per 100 possessions vs average | |
bpm_position | BPM position estimate (BPM Pos) | The position BPM 2.0 estimates from the box (1 point guard to 5 center): rebounding, steals, fouls, assists and blocks shares, blended with a prior and centered on 3 per team. Used to interpolate the BPM coefficients. | position (1-5) | |
bpm_role | BPM offensive role estimate (BPM Role) | The offensive role BPM 2.0 estimates from assist and threshold-scoring shares (1 creator to 5 receiver), blended with a prior and centered on 3 per team. | role (1-5) | |
bpm_era | Box plus/minus, era-normalized (BPM era) | BPM rendered in the 2023-24 league: the season's z-score against its rotation cohort, times the 2023-24 spread, plus the 2023-24 mean (the era-v0 rung-3 transform). Ranks within a season never move; talent pool and dilution are not adjusted (rung 4, deferred). | points per 100 possessions (2023-24 scale) | era |
post_bpm | Box plus/minus, postseason (BPM post) | Box Plus/Minus 2.0: points per 100 possessions above a league-average player, estimated from the box score and adjusted so a team's players sum to its opponent-adjusted net rating. 0 is league average. Postseason scope: bpm2-v0p1, the same method over the season's postseason games only with its opponent adjustment solved directly (team sums, possessions, the opponent solve and league constants from those games; VORP prorates by postseason team games over 82). Play-in rows carry none; no era variant. | points per 100 possessions vs average | |
post_obpm | Offensive box plus/minus, postseason (OBPM post) | The offensive part of BPM 2.0, from its own regression and adjusted to the team's opponent-adjusted offensive rating. Postseason scope: bpm2-v0p1, the same method over the season's postseason games only with its opponent adjustment solved directly (team sums, possessions, the opponent solve and league constants from those games; VORP prorates by postseason team games over 82). Play-in rows carry none; no era variant. | points per 100 possessions vs average | |
post_dbpm | Defensive box plus/minus, postseason (DBPM post) | The defensive part of BPM 2.0: BPM minus OBPM. Postseason scope: bpm2-v0p1, the same method over the season's postseason games only with its opponent adjustment solved directly (team sums, possessions, the opponent solve and league constants from those games; VORP prorates by postseason team games over 82). Play-in rows carry none; no era variant. | points per 100 possessions vs average | |
post_bpm_position | BPM position estimate, postseason (BPM Pos post) | The position BPM 2.0 estimates from the box (1 point guard to 5 center): rebounding, steals, fouls, assists and blocks shares, blended with a prior and centered on 3 per team. Used to interpolate the BPM coefficients. Postseason scope: bpm2-v0p1, the same method over the season's postseason games only with its opponent adjustment solved directly (team sums, possessions, the opponent solve and league constants from those games; VORP prorates by postseason team games over 82). Play-in rows carry none; no era variant. | position (1-5) | |
post_bpm_role | BPM offensive role estimate, postseason (BPM Role post) | The offensive role BPM 2.0 estimates from assist and threshold-scoring shares (1 creator to 5 receiver), blended with a prior and centered on 3 per team. Postseason scope: bpm2-v0p1, the same method over the season's postseason games only with its opponent adjustment solved directly (team sums, possessions, the opponent solve and league constants from those games; VORP prorates by postseason team games over 82). Play-in rows carry none; no era variant. | role (1-5) |
This page carries the definitions only. The full method note, its coverage and its calibration record publish with the data pages. Every value a data page shows will name this method and its version. All methods