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.

Engine changes

Each change passed a test whose pass mark was written down before it ran. Backtest figures published before a change are not restated; they stay the record of the engine as it was.

  • Week 6, 2026Game script measured, not assumed. How a likely lead or deficit changes a team's pass rate and play count now comes from 2,174 real team-games instead of a hand-set rule. Brier improved in 4 of 4 backtest seasons. The calibrated companion number was refit to match.
  • Week 6, 2026Player volume baseline. A player's share is measured against his team's volume in the games he actually played, and a back who is ruled out hands part of his carries to the backs who play. Curve accuracy improved in 3 of 3 seasons tested. A team pass-rate adjustment tested with it was dropped after its own test: it made quarterback passing curves slightly worse.
  • Week 6, 2026Injuries and roster status. Players on injured reserve, off the active roster or ruled out get no curve that week.

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 written up in the engine's validation record; its findings are published on this page and the calibration page.