Methodology

LAST UPDATED September 23, 2026

Where the probabilities come from

Each matchup is priced by a machine-learning model trained on more than a decade of completed games. It is trained separately for every league and every market we publish — the model that prices an NHL moneyline is not the model that prices an MLS total — and it returns one number: the probability of a specific outcome in a specific market.

It is validated only on games it has never seen, in chronological order, so a model is never scored on a season it was fitted to. It is retrained on a fixed weekly schedule. We do not publish its architecture, its inputs in detail, or its parameters — what we publish is every pick it produces and what happened to each one.

What the model reads

The inputs are the things that measurably move a result: recent form, matchup context, injuries and lineup availability, rest and travel, weather where the game is played outdoors, and match officials. Market prices come from a commercial odds feed covering multiple sportsbooks; results come from a commercial sports data feed.

What it does not read: news wires, social sentiment, or reported betting volume. If a story breaks after a pick is published, the model has not seen it.

What actually gets published

Not every prediction becomes a pick. Each one is checked against a configured minimum edge threshold: clear it and the pick is published, fall short and it is held and never shown. We also only consider a fixed list of leagues and a fixed list of markets — anything outside them is dropped rather than priced. Most predictions do not become published picks, which is why a day’s card is usually short.

Edge is measured against the price as offered, with the sportsbook’s margin still in it. Stripping that margin out first would make every edge look larger than it is. We do not, so the bar a pick has to clear is the harder one.

How units are sized

Stake is expressed in units rather than currency, and unit size scales with both the size of the edge and the price on offer — so a larger mispricing is not automatically a larger bet, and a big edge at a poor price can be sized below a smaller edge at a good one. A unit is one standard bet size — for a $20 bettor a unit is $20, for a $500 bettor it is $500 — so the same record is meaningful at any bankroll. What a unit is, in full.

How we grade

Results come from a third-party sports data feed and are written to the public ledger when the game settles. A published pick is never edited or deleted afterwards, whichever way it went. Every pick that clears the threshold goes to the ledger — there is no second selection step between publishing and grading.

Pushes are recorded and counted as graded, but excluded from the win-rate denominator, which counts only picks that were decided — won or lost. Voided and cancelled picks are excluded from the graded set entirely. ROI is net units returned over units staked across that set.

What we do not claim

These are model outputs, not guarantees, and not financial advice. A measured edge is an expectation, not a prediction about any individual pick, and any strategy can lose over any finite sample. The published record is exactly what it is — the numbers below are the whole record, not a selected window of it.

Current sample

540 graded picks · 48.7% win rate · 66.9 net units · 4.1% ROI

These figures update as picks settle. The row-level ledger behind them is on the track record page.