Skip to content

Train The Box-Score RAPM Prior

Build the validated possession-native panel first:

uv run nba-build-box-score-prior-panel

Then train the returning-player forecast with its default latest-target holdout:

uv run nba-train-box-score-prior

To make the locked evaluation explicit:

uv run nba-train-box-score-prior --holdout-season 2025-26

The command uses chronological expanding target-season folds to select ridge regularization, fits through the season before the holdout, and writes an immutable run below:

artifacts/models/box_score_prior/<holdout-season>/<run-id>/

Each run includes fold-level validation metrics, the candidate summary, out-of-fold and holdout predictions, cohort-level holdout metrics, standardized feature coefficients, the serialized pipeline, and a hash-validated manifest. Completed runs are indexed in local MLflow; see Track experiments with MLflow.

The current model accepts only returning players with prior RAPM and a complete prior box profile. It is a component experiment, not yet a complete RAPM prior or a Leaderboard entrant. The holdout metrics compare it with lagged RAPM persistence at the player-season target level; see Box-Score RAPM Prior.