How a slate becomes a lineup. Step by step. No black box.
Each player is modeled as a Bayesian posterior, a full distribution conditioned on history, opponent, weather, and the Vegas market. Lineups score against thousands of correlated Monte Carlo trials. The spread you see reflects what the model actually knows, not a thousand sims wrapped around a single guess.
When a lineup posts at 6:55 or a starting goalie flips an hour before puck drop, the projection updates and the optimizer re-solves. You see the revised slate before lock, built into the cadence, not a bolt-on alert.
Every projection conditions on park factors, opponent priors, and forecasted weather: wind, temperature, precipitation. The model already knows Coors Field plays differently from Petco. Late-summer humidity in Atlanta. Defensive schemes by week. You don't have to remember.
Consensus implied team totals are a strong external signal. Markets aggregate information we don't have. We use them to calibrate inputs, not to replace the model. Variance, correlation, and individual upside still come from our posterior.