log in
methodology

Pre-registered before the season opens, honestly evaluated when it closes.

Resolve Research builds projection models for sports and research tools for the broader world. This page is the apex framework: the rules that hold across every model we ship. Per-sport methodology lives on each sport's own subdomain (linked below).

What "honest" means here

Every projection is published with its model spec, its training window, and its out-of-sample (OOS) calibration number, before the predictions are evaluated. We don't tune to live results, we don't quietly swap models mid-season, and when a model misses we say so in the next release notes.

The general loop:

Where our data comes from

Our projection inputs start with public data: official league box scores, schedule feeds, Elo-rateable match results, and (for tennis) the public Wimbledon / ATP / WTA draws. We leverage data from SportsDataIO to bring you the most up-to-date and accurate data for the NFL, NBA and WNBA. We don't scrape paywalled sources, and every model stays auditable end-to-end.

Training windows vary by sport, published per-spoke. For each engine we note the data origin, the season range used to fit, and the season range held out for OOS evaluation.

How we avoid fitting to noise

Sports prediction is a high-variance, low-sample problem. The three guardrails we lean on:

Sport-specific spokes

Each subdomain has its own methodology page detailing the engine, data sources, training window, and OOS calibration for that sport.

Code, data, write-ups

Model code lives on GitHub. Long-form research write-ups (substantive findings, methodology deep-dives, failure post-mortems) are on Substack. Per-sport release notes are linked from each sport's subdomain home.

What we don't claim. We do not have private player-tracking data, biomechanical signals, or an inside line on injuries. Injury and status information comes from SportsDataIO's licensed feeds and the leagues' official reports, and our daily projections are adjusted for the latest listed statuses. Once a pick locks it is never revised: what's pre-registered is what we evaluate against.

Where the limits are. Single-game predictions on a 16-game season (NFL) are wide-CI by construction. Tennis draws are dominated by 5-7 players in any era. Soccer Elo is calibrated on club football and ported to international duty with shrinkage; that port is a known weak point. We label these limits per-page, not just here.