Methodology

We validated the engine. Then we told the truth about it.

The charter

Commitments we hold ourselves to. If we ever break one, the product stopped being what it says it is.

  • Never sell picks. No plays, no leans, no units. You get data and decide.
  • Never show an edge score. No 'value' ratings, no model-vs-line diff columns, no green checkmarks telling you what to bet.
  • Always publish calibration. Including the seasons and buckets where we're miscalibrated. It lives on a permanent page, not a footnote.
  • No urgency mechanics, no parlay bait. No countdown timers, no 'X people viewing', no correlated-parlay builder, no streak marketing.

the receipts: calibration & backtest record

Vektor Labs is built on a model that was rigorously validated — and whose commercial edge was honestly rejected. The engine has real predictive signal (Brier resolution above random) but no reliable edge against market closing lines. We show you what the model and market say; we do not claim to beat the market.

What you see

  • histHit rate, average, splits over your lookback window (20-snap minimum per game).
  • mktThe consensus line (median across books), the no-vig probability, and the book’s hold — sourced separately from the model and never merged with it. We don’t show line movement or best-price shopping.
  • modelThe engine’s own probability for your line, read off the full simulated distribution. The number the engine grades and selects on is the raw output, and that is what leads here; a calibrated companion is shown beside it, so you can read both. The calibration page shows exactly where that raw number runs high, by season and probability band, so you can discount it yourself.

What one projection is made of

Click a stage. The second half of each — what the model does not know — is the part most tools leave out.

  • Per-game usage over a trailing window — snap share, target share, carry share, air yards — with a 20-snap-per-game floor so a cameo does not set a rate.
  • Team ratings built strictly from prior weeks. Week N only ever sees weeks 1..N−1, which is what makes the backtest honest rather than clairvoyant.
  • The opponent, as points allowed. That reaches a player through game script and volume rather than through per-play efficiency.
  • Weather, as a yardage penalty in the open-air cases where it measurably matters.

not in the model

  • Injuries and games missed. The field exists in the code and is never populated in production — there is no injury feed in the data layer, so the rule that reads it has never once fired on a real pick.
  • Rest differential, travel, and short weeks. Not modelled at all.
  • Opponent per-play defensive quality. Fitted and wired in 2026, measured as 'does not hurt' rather than 'helps', and left off by default so published numbers stay reproducible.

Why model–market gaps don't predict winners

A large gap between the model and the market is context, not a signal. Our own validation found the one subset with positive closing-line value was a favorite price-drift artifact whose CLV did not track realized results, with every ROI confidence interval spanning zero. The market closing line already prices in what the model knows. We surface the gap so you can see where they disagree — not because disagreement predicts outcomes.

the full validation case study is public in the engine repository.