Skip to content

Report Frozen Full-Game Outcomes

Aggregate the promoted frozen 2025-26 candidates into one full-game regular-season report. The command reads existing immutable regular_game_predictions.parquet artifacts; it does not refit a player model or use a target-season result to change any forecast.

uv run nba-report-frozen-game-outcomes --season 2025-26

The report writes to artifacts/models/frozen_game_outcomes/2025-26/ and updates the Full-Game Outcomes section of the Frozen Preseason Leaderboard. It retains three tables:

Artifact Contents
game_outcome_metrics.parquet One row per frozen model with margin RMSE, margin MAE, and winner accuracy.
game_outcome_predictions.parquet One full final-margin forecast per model and regular-season game.
sources.parquet Source run IDs, paths, timestamps, and manifest hashes.

Full-game margin metrics use every allocated regular-season stint, including rows outside the eligible-possession reconstruction boundary. Winner accuracy is the sign of the model's final home-margin forecast. An exactly zero forecast receives half credit, so it is not arbitrarily treated as an away winner.

Playoff full-game outcomes are not yet included: the retained frozen playoff predictions are eligible-possession aggregates, not all allocated game stints. The existing playoff table therefore remains explicitly labeled as an eligible-possession game metric.