How the desk actually works.
The honest technical page. Which models we use, how we validate them, why we ship some markets and pass on others, and how we grade ourselves after the fact.
The Game Engine
Oddsi runs the Game Engine — the ML layer that scores every game line on the slate. It's a stack of six CLV-regression models (spreads, totals, moneylines × two sport cohorts) with a floor filter that prevents publishing a pick at a line worse than the sharp market's consensus.
Training data is multi-season, out-of-sample windows are rolling 4-week blocks, and published picks must clear both a minimum expected-value threshold and a minimum CLV expectation. Below that, the pick doesn't post.
A full per-model writeup is coming — feature sets, CLV charts, rolling hit-rate plots.
The Prop Engine
Atlas runs the Prop Engine — a Negative Binomial ridge regression per market, with ~10,000 Monte Carlo simulations per player-game to translate a predicted distribution into a probability on the book's line.
We publish a prop when the edge is positive after de-vig and the book line sits inside a reasonable band around the model's fair value. Anything further from the model gets dropped.
Why these markets, and not others
We publish markets where out-of-sample hit rate beats a calibrated break-even, and where CLV expectation stays positive over a sample we'd actually trust. Anything below the bar doesn't ship — even if covering it would make the product look broader.
Right now that means NBA/NCAAB/NFL/CFB game lines, MLB run lines and totals, and NBA prop markets. MLB props and NFL player markets are in the lab. When they clear the bar, they'll appear on the board.
Grading and CLV tracking
Every published pick is timestamped at publish and graded after the final line closes. We track hit rate, unit P&L, and closing-line value (CLV) per model, per market, per tier. The aggregates on the landing page are computed from those same rows — we read the ledger, we don't write marketing numbers.
When a model drifts, we pull the published picks from that model until it's re-validated. That's the contract: if we can't beat the line honestly, we don't publish.
What's next
The rest of this page will fill in — per-model diagnostics, a live CLV chart, open-source evaluation scripts, and a quarterly review. For now, start with tonight's board.