KPM v1 Methodology

Why I Adjusted the KPM Build

KPM v1 was rebuilt to focus on two things:

  1. Player standalone value
  2. n+1 season predictiveness

Why Rebuild KPM?

KPM v0 answered a specific question:

Did this player's team win the possession battle while they were on the floor?

But it was firmly team-success oriented:

  • An average player on a good team looked good.
  • An average player on a bad team looked bad.
  • In some cases, a genuinely good player could still look bad.

The team residual adjustment sometimes over-corrected for team performance. It was even possible - though not necessarily plausible - that a +3.0 player on a -5.0 net-rating team could see their KPM fall to (not an exact case but potentially) +1.0 simply because their teammates bled points while they sat.

As a result, the model sometimes washed out real individual-player signal with team-level noise.

KPM v1 Design Goals

KPM v1 was rebuilt around three primary goals.

Predictive Capacity

Train against luck-adjusted RAPM instead of raw, actual RAPM. Luck adjustment removes some of the noise created by hot-shooting variance, opponent shooting variance, favorable lineup combinations, and short-term on/off noise. The goal is to retain the signal most likely to project forward.

Reduce Team Over-Correction

The two-stage architecture separates player contribution from team context: box score model, then lineup-context model. Because individual contribution is isolated before broader team context enters the model, the team adjustment has less to "fix."

Role Sensitivity

PIPM-style lineup-context features make the model aware of who shares the floor with each player. These features include on-court ratings, on/off ratings, and interaction terms. A domestic guard playing next to an MVP-level import is evaluated differently from a domestic guard running the second unit.

KPM v0 vs. KPM v1

DimensionKPM v0KPM v1
Training TargetBoth Raw RAPM & Luck-adjusted RAPM in different stages - noisy and includes shooting and lineup luckOnly Luck-adjusted RAPM - reduces shooting variance and favorable-lineup noise
Team AdjustmentAggressive team residual allocation was baked into KPM. Players on bad teams could be penalized to best approximate team net rating value, even if the player individually was quite strong.Team residuals are diagnostic-only. KPM is the player-level model output; though it uses lineup outcome context, the minutes-weighted team reconciliation does not overwrite individual values.
Public ScalingNoneScaling for BPM / EPM style all-NBA/all-star bands, selected through a scale-bakeoff sweep
ShrinkageUniform shrinkage loosely applied across game typesPlayoff & cup shrinkage to reduce noise
ValidationBasic correlation checks against team net ratingLeave-one-season-out holdout, season-level review, and team net-rating validation

How the Two-Stage Architecture Works

Stage 1: Box Model (M1)

This establishes the player's baseline contribution:

What would we expect from this player based only on counting stats, efficiency, position, and import status?

Defensive impact is calculated as:

Defensive Impact = Total Impact - Offensive Impact

Stage 1 Outputs

o_box_kpm_v1
d_box_kpm_v1

These represent the player's estimated impact using only box-score information.

Stage 2: Lineup Context

The Stage 1 box predictions are passed into a second Ridge regression alongside lineup-context features.

This is where the model adjusts for who the player shares the floor with and who the player plays against.

The interaction terms help the model distinguish between:

  • A driver of success
  • A passenger on a good unit

For example, a domestic guard posting strong on/off numbers next to an MVP import center should not be interpreted the same way as a domestic guard producing similar numbers while leading a bench unit.

Stage 2 Outputs

o_kpm_v1_model
d_kpm_v1_model
kpm_v1_model

Public Scale Bands

KPM v1Interpretation
+8.0 or higherAll-time peak
+6.0 to +8.0MVP-caliber
+4.0 to +6.0All-KBL level
+2.0 to +4.0Strong starter
0.0 to +2.0Positive rotation player
< 0.0Below average
-2.0Replacement Level

What KPM v1 Means for KBL Player Evaluation

Import Evaluation Becomes Sharper

A +5.0 KPM v1 import on a lottery team can now be valued more appropriately than a +3.5 import on a contender.

Under KPM v0, the lottery-team import could be dragged down by team residuals.

Under KPM v1, lineup-context features help isolate whether the player was producing under unfavorable conditions, including weak supporting lineups, poor bench performance, and negative team context. This is especially useful for multi-year import-retention decisions.

Domestic Player Contracts: Finding Undervalued Players

The KBL free-agent market often prices players according to reputation, points per game, and team success. KPM v1 can surface players whose impact exceeds their box-score profile, including defensive anchors, low-usage players who improve lineup efficiency, and players whose value is suppressed by weak team context. It may also identify noisy scorers whose efficiency collapses without strong import creation beside them.

Role Context: Same Number, Different Player

Two players can both have a +2.0 KPM while providing completely different value.

Example A

Offense: +2.5
Defense: -0.5
Total:   +2.0

Example B

Offense: +1.0
Defense: +1.0
Total:   +2.0

These are different player archetypes.

KPM v1's offensive and defensive decomposition, combined with role-sensitive lineup context, helps answer who is good, what they are good at, in what context they are good, how dependent they are on teammates, and how transferable their impact is. This also helps explain KPM changes after a player moves teams. For example, a movement shooter who loses a paint-collapsing import center may see their value decline because their new offensive environment no longer creates the same advantages.

How We Know It Works

Team-Level Validation

Minutes-weighted KPM explains a large portion of team net-rating variance:

Pearson correlation: 0.937
R²:                  0.879

In other words, the minutes-weighted player values explain approximately 87.9% of the variation in team net rating.

Feature Exclusions

Player tracking related role labels were excluded as bakeoff testing suggested that they:

  • Added little stable predictive signal
  • Increased overfitting risk
  • Reduced model simplicity
  • Made coefficient behavior harder to interpret

What KPM v1 Still Does Not Explain

KPM v1 improves player evaluation, but it does not fully capture every aspect of basketball impact.

  • Playoff Tactical Adjustments
  • Matchup Quality Effects
  • Coaching-Specific Usage Patterns
  • Defensive Assignment Difficulty
  • Mid-Season Import Replacement Context