VS Predicts

Methodology

How predictive analytics are produced at VS Predicts, and how performance is recorded.

VS Predicts publishes historical performance transparently, including losing picks and non-qualifying decisions, to evaluate whether predictive edge exists over time.

Categories of inputs

We describe the categories of inputs the model consumes. Specific feature engineering, weights, thresholds, and timing logic are intentionally not disclosed.

  • Market-movement analysis across multiple licensed sportsbooks.
  • Injury and roster-news signals filtered for verified sources.
  • Matchup-history features at the team, lineup, and situational level.
  • Implied-probability modeling derived from cross-book price aggregation.
  • Volatility analysis on line movement and book disagreement.
  • Closing-line value tracking as a continuous calibration signal.

Output tiers

Model output is bucketed into three tiers reflecting model conviction relative to the market line:

Prime
Highest model conviction. Reserved for situations where the model's expected return materially separates from the market.
Edge
Mid-conviction tier with a measurable but smaller separation from the market.
Consensus
Selection derived from cross-source agreement. Lower model edge but high book-to-book convergence.

Closing-line value (CLV) framework

CLV measures the gap between the price recorded at pick-generation time and the price the market settled at before the game began. Consistently positive CLV indicates the model is anticipating market movement before the market does — the cleanest available evidence of predictive edge.

CLV is computed for every settled pick by comparing the posted American odds (captured at prediction_generated_at) to the closing American odds (captured by the nightly settle-results process). Both are stored permanently and rendered on every settled-pick page.

We treat CLV as primary because ROI is luck-prone at small sample sizes. A 58% win rate can coexist with negative ROI; a 48% win rate can coexist with positive ROI. CLV is luck-resistant earlier.

Transparency commitments

  • Every pick — wins and losses — is retained permanently.
  • Every evaluated decision or explicit no-slate/degraded state is written to a private append-only ledger. A selection-free, timestamped event status may appear immediately; opportunity-level public records omit proprietary model values and appear no earlier than event start.
  • Once a pick is settled (locked = true), it cannot be modified or deleted. Enforced at the database trigger level.
  • Every pick is registered with CertifiedData.io at generation time. The verification URL is shown on every settled-pick row. The pregame receipt withholds the selection — it proves a qualifying forecast was recorded before the event, not which selection was chosen.
  • The current validation sample size is shown on every public page.
  • We disclose categories of inputs; we do not disclose feature engineering, weighting, or timing logic.

Machine-readable sanitized decisions and reason codes are available at /api/public/decision-ledger.json with a versioned JSON Schema.

FAQ

What is VS Predicts?
VS Predicts is an experimental market-prediction validation lab. We publish historical performance transparently — including losing picks — to evaluate whether predictive edge exists over time across MLB, NFL, NBA, NHL, College Football (NCAA FBS), College Basketball (NCAA Division I men), and Major European Soccer.
What is closing-line value (CLV)?
CLV is the gap between the price (odds) at which a pick was posted and the price at which the market settled before kickoff. Consistently positive CLV is the strongest evidence that a model anticipates market movement before the market does. It is luck-resistant at a smaller sample size than ROI, which is why we treat it as the primary KPI.
What sample size do you need before drawing conclusions?
We target 300–500 settled bets for statistical confidence. Smaller samples are vulnerable to variance — a 10-bet winning streak proves nothing. Current sample size is displayed on every public page.
Why don't you publish today's full picks publicly?
Timing is part of the edge. Active pre-game selection details remain behind server-enforced access controls. A sanitized decision record can appear at event start, and the complete result and performance evidence appears after settlement. Once settled, every official pick is permanent, locked, and independently verifiable.
How can I verify that a published pick wasn't modified after the fact?
Each pick is registered with CertifiedData.io at the moment of generation. The verification URL on every settled pick row links to an independent registry where you can confirm the record's identity, model version, market-snapshot hash, and signing timestamp. Once a pick is settled it is locked in our database (append-only enforced at the database trigger level). Be precise about the boundary: the pregame certificate deliberately withholds the selection, so it proves that a qualifying forecast was recorded before the event — it does not cryptographically bind which selection was chosen.
What exactly does a certificate prove today?
Three assurance levels, kept deliberately distinct. (1) Receipt existence and integrity — LIVE: a signed record with this identity, model version, and market snapshot existed before the event and has not been altered. (2) A confidential, selection-specific pre-event commitment — NOT LIVE: pregame receipts withhold the selection so the public digest cannot be used to recover it before the event, which also means the selection is not bound. (3) Independent post-settlement reveal verification — NOT LIVE: we publish the selection after settlement, but you cannot yet recompute a commitment to check it yourself. Levels 2 and 3 are designed and not implemented; no public surface should imply otherwise.