Model Backtest
node jobs/run-backtest.js to backtest past seasons and populate historical_backtests table.CLV measures how much better your entry was compared to the closing line. A +0.5 CLV means you bet at a line half a point better than where the market closed. Consistent positive CLV indicates the model is capturing pre-market inefficiency. Negative CLV suggests line movement against the pick — public money or news after your bet.
Stored value: closing_spread, closing_total, and closing_recorded_at persist alongside model_spread / model_total on every historical_backtests row.
Cron cadence: capture-closing-lines in polsia.toml runs every 10 minutes; near-kickoff captures land ~5–60 min before kickoff.
Sign convention: clv_spread = model_spread - closing_spread (home perspective); positive = model beat the close = edge captured.
Results assume standard -110 juice on spreads and totals. Moneyline results account for vig in the ROI calculation. Historical win rate required to break even at -110: 52.38%. Our model's edge is measured after vig.
Backtest results represent hypothetical performance using model projections against historical closing lines. They do not represent actual betting results and should not be taken as financial advice. Past performance does not guarantee future results. Results may be affected by market efficiency changes and publication timing.