Skip to content

Train the NAIL Teammate-Continuity Replacement Candidate

This controlled candidate keeps the production NAIL-RAPM v1.2.1.3 contract fixed except for one non-additive substitution:

\[ \{\text{usage concentration},\ \text{top-two assists}\} \longrightarrow \{\text{usage concentration},\ \text{prior teammate continuity}\}. \]

Run the full recursive fit through 2025-26:

uv run python -m nba_lineup_model.modeling.forward_nail_teammate_continuity_replacement \
  --through-season 2025-26 \
  --log-path artifacts/logs/nail-teammate-continuity-replacement.log

Follow progress:

tail -f artifacts/logs/nail-teammate-continuity-replacement.log

Evaluate the three frozen seasons on support shared by the incumbent and candidate:

uv run python -m nba_lineup_model.modeling.nail_teammate_continuity_replacement_frozen_backtest \
  --log-path artifacts/logs/nail-teammate-continuity-replacement-frozen.log

Render the complete two-feature coefficient audit:

uv run python -m nba_lineup_model.modeling.nail_teammate_continuity_replacement_weight_audit

Run the paired 10,000-draw game-block bootstrap gate:

uv run python -m nba_lineup_model.modeling.nail_teammate_continuity_replacement_bootstrap

The replacement fit persists season_prior_teammate_pair_exposures.parquet. For target season \(t\), every continuity input is rebuilt exclusively from same-unit shared possessions in regular season \(t-1\). The candidate never uses target-season teammate exposure to predict that season.