GRIDIRON EDGE FOOTBALL · BASKETBALL · NFL · NBA · NHL · PGA
CFBD + CBBD + nflverse + ESPN + NHL · Cloudflare
BACK TO FOOTBALL FUNDAMENTALS

Find the real matchup edge.

The six-factor trench-heavy approach used for the Memphis–Tulane handicap: rushing mismatches, line play, passing matchups, third downs, recent form and schedule quality, plus verified availability. No sportsbook blending.

MEMPHIS METHOD · SIX FACTORS
Research prototype · full-slate analysis. ATS percentages show the selected side’s raw share of non-push simulations covering the listed spread, not validated betting probabilities. Missing factors are marked unavailable and excluded from weighting. All historical factors use prior-week data, filtered by the switches below.

Pregame data filters

Applied to eligible prior games used for success rates, third downs, trench statistics, recent form and strength of schedule.

Blowout filtering applies to offensive/defensive efficiency, not team-strength, SOS, or SOR ratings. Past FBS blowouts still contribute to team strength. The predicted game's result is never used. After changing these settings, rerun the slate.

1. Single Game Lab

Pick any scheduled matchup, set independent model weights, and remove specific prior games from either team’s evaluation.

CUSTOM MATCHUP
Choose the date, find the game, and load its pregame history. The slate below is separate.

2. Football model comparison

Analyze all FBS games at once, optionally run both engines across the full date, then apply the filters to every matchup.

Choose a date, then analyze the slate.
Initial screen: spread ≤8, model outright win frequency ≥65%, either favorite or underdog. First Analyze FBS slate. Matchup runs for every game; full-slate drive model runs on request.
MatchupSpreadWinner / model confidenceATS pick / cover rateML odds / edgeAgreement
Analyze a date to show full-slate picks.

Betting review & two-team parlays

Export the complete slate for analysis, or inspect model-selected moneyline combinations across separate games.

v69 · ODDS RESEARCH
Analyze a football slate to generate the export and parlay research.

Single-game moneyline value shortlist

Uses currently qualifying games and the selected model. The displayed stress test halves the model's estimated percentage-point advantage over the quoted market break-even rate. This is a sensitivity check, not calibrated probability or verified ROI.

No slate loaded.

Two-leg moneyline parlay candidates

Pairs different football games from the same identified sportsbook, using actual quoted moneylines on the model-selected sides. Requires each leg to be positive value after the 50% edge haircut. Estimated joint win chance is an independence assumption, not a correlation model. No parlays are offered without prices on both legs.

Run a slate and, for consensus results, run both models.

Research tool, not a recommendation to bet. Simulation confidence is historically overconfident, and historical ROI filters were selected after observing results. CFBD prices may be stale or lack a verified pregame timestamp. Confirm both prices and kickoff status before using any selections. Parlay projections assume independence and are less reliable than straight-bet projections.

Pregame snapshot storage is local to this browser; export a backup regularly.

ATS frequencies are for covering; ML edge = simulated outright win frequency minus sportsbook break-even probability. Both are uncalibrated research estimates, not proven betting edges. Moneyline odds must be supplied by the bookmaker; missing odds are not inferred. Use Run both models for entire slate to share historical drive retrieval across games. Drive processing can take longer on big slates; unavailable game profiles are clearly marked.

Waiting for a CFBD slate.

3. Slate matchup analysis

Select a matchup from the slate.

Select “View breakdown” on a game to inspect the six factors and simulated outcomes.

Model weights

30/20/20/15/10/5 default · Renormalized when a factor is unavailable.

Normalized total100%

The listed percentages are starting assumptions, not fitted from historical games. Changing them recalculates the currently loaded slate and matchup.


65% offense · 35% defense

This controls how strongly offensive performance versus defense-allowed performance influences matchup scores and baseline points. Default 65/35 is an experimental choice; change to 50/50 with the slider if preferred. No sportsbook lines enter the football score forecast.


Offensive run/pass success is matched against the opponent’s allowed success, adjusted for run/pass usage. Trenches use line yards, stuffs, havoc and sacks. Form combines schedule quality with each team’s last two eligible results. Injuries require a manually verified adjustment.

Definitions and safeguards

The six matchup components and what we do not assume.

Rush matchups — 30%: success and allowed-success rates, with weaker defenses correctly adding to expected rushing efficiency; adjusted for play volume.

Trenches — 20%: offensive/defensive line yards, stuff rates, front-seven havoc, and sacks per dropback where available. These are imperfect proxies for line play.

Pass matchups — 20%: passing success and defensive passing success allowed in the correct direction, adjusted for pass volume.

Third downs — 15%: offense conversion rate and the opponent’s defensive conversion rate allowed; higher allowed now correctly means weaker defense. Red zone remains excluded.

Recent form / SOS — 10%: last two eligible game margins and opponent-strength quality from prior games. Missing measures are dropped rather than fabricated.

Availability / context — 5%: optional manual verified injury/context rating. Home field receives a separate single fixed 1.5-point adjustment; it is never double-counted. Without injury details, the 5% category is unavailable and remaining factor weights are renormalized.

FCS games: excluded from ratings and, by default, efficiency stats. 35+ point FBS blowouts: excluded from efficiency by default, retained for team strength. Game lines are comparison-only; archived odds may not have verified pregame timestamps.

Limits: this is a structured approximation of the Memphis handicap, not a reproduction of its manual 500,000-trial projections. The website runs 10,000 seeded experimental scoring trials; the confidence percentages are not calibrated.

Gridiron Edge v68 · full slate dual-engine comparisons · custom spread and confidence filters · single-game lab unchanged · API credentials remain on Cloudflare.
NCAA MEN'S BASKETBALL · CBBD

Basketball Matchup Lab

Possession simulations for regular-season games and preseason projections. Compare last year's playing style, roster continuity, incoming transfers and recruits, and manual team adjustments.

BASKETBALL · PRESEASON v3
Experimental research model. In-season mode uses earlier games; preseason mode anchors team scoring to opponent-adjusted prior-season efficiency, then uses roster, play-style and labeled game-exclusion heuristics. Simulation cover rates are uncalibrated frequencies, not verified win probabilities or betting recommendations. Neither market lines nor target-game results change the projected score.

Preseason builder · no scheduled games required

Choose any two teams and project the upcoming season from last year’s box scores, current roster, portal and recruiting records. Season 2027 = 2026–27.

PRESEASON
Load teams, choose any matchup, then build a preseason projection. No game date is needed.

1. Select an NCAA matchup

Basketball seasons use the ending year (2026–27 = season 2027). The preseason strength baseline requires verified opponent-adjusted CBBD ratings.

Select a date to load college basketball games.

Matchup

Uncheck earlier games independently for each team, including last-season games when running preseason projections.

CBBD BOX SCORES

2. Select historical games

Every change is applied to the actual statistics used in the next simulation.

Away
Home

Preseason roster & play-style settings

Confirmed arrivals get small rating proxies; when rosters are missing, listed commitments get discounted provisional proxies. Check which players to include and edit the projected roster.

Away
Home

Roster matches determine the suggested returning-minutes share, but it is editable. Transfer/recruiting bonuses are deliberately small; listed but unconfirmed commitments receive only a discounted assumption. Returning players, transfers and freshmen are listed with source-coverage notes. Missing records are never counted as zero or confirmed departures. Recent-form weighting is disabled in preseason simulations.


3. Possession simulator

The final prediction comes from the simulated final scores, not a pre-filled projection.

Choose which games to include, then run the model.
Simulation results will appear here.

Basketball factor presets

Six presets. Each factor influences the matchup simulation, rather than simply changing a displayed label.

Normalized share100%

Factor shares normalize to 100%. Preseason opponent-adjusted efficiency is a REQUIRED scoring anchor and does not disappear when a slider is set to zero; shooting, rebounding and turnovers tune play styles and small matchup residuals. Recent form is disabled in preseason; projections remain uncalibrated.


Opponent-specific comparisons
Load history to compare shooting accuracy, turnovers, boards, tempo and points per possession against the specific opponent's allowed rates.
How this differs from football: Football keeps its existing drive-event engine. Basketball uses a separate possession simulation; preseason requires opponent-adjusted offensive and defensive ratings and then simulates field goals, turnovers, free throws and offensive rebounds. Betting lines are for ATS/total grading only. No historical accuracy claim is made until the basketball model has been backtested.
Gridiron Edge · NCAA basketball · preseason + in-season · CBBD server-side API · football model remains unchanged.
NFL · NFLVERSE HISTORICAL STATS

NFL Matchup & Prop Lab

Matchup-aware game outcomes, plus player-specific rushing, receiving and passing prop simulations. Uses earlier completed games only and lets you adjust usage and player game samples.

NFL RESEARCH · v4.4
Experimental — not calibrated for betting. No current injuries, confirmed depth charts, or game-day inactives are automatically verified. Simulated over/under percentages are model frequencies, not validated probabilities. Missing source data causes an error rather than made-up results.

1. Choose NFL game

Select any regular-season week and match. Use the previous games to model this exact opponent.

Choose a season and week, then find the matchup.

Matchup

All stats are as of before selected game.

OPPONENT AWARE

2. Game simulation

Offense against its opponent’s defense, including run blocking versus run defense, protection versus pass rush, coverage, and home advantage.

Trenches & coverage matchup lab · adjustable

Measured baseline: rush yards/carry, pass yards/attempt, completions and interceptions. Sacks are shown only when published. These controls are manual percent-strength adjustments, not NFL player grades. Positive = stronger unit. ±20 is a sizeable assumption.

Away team
Home team
Load a matchup to calculate strength versus opponent.
Choose a matchup to begin.
Game projection will appear here.

4. Single player prop simulator

Uses the player's previous game logs, opposing defense and expected team drives. Choose any available player.

Choose a player, market, and prop line.
Player projection will appear here.
How the NFL model works: Upcoming possessions are drawn from a drive-count distribution. Each offense's scoring rate blends its points scored against its opponent's points allowed, with rushing/passing yardage adjustments. Each player prop then draws volume and production from their own prior weekly game logs, expected game pace, the opposing defense's allowed production, and your workload assumptions. Passing/rushing touchdowns are linked to simulated team touchdowns. Team-level trench and coverage proxies now influence scoring and player-yardage results, with optional manual unit-strength inputs. Individual lineman grades, cornerback assignment data, and verified injuries are not included. To change a player's sample, uncheck their weeks above.
Gridiron Edge NFL · nflverse weekly player/team stats · selected-game information not used for projections · not backtested or calibrated.
NBA · ESPN GAME HISTORY

NBA Matchup & Prop Lab

Pregame opponent-aware NBA simulation, plus points, rebounds, assists, threes and combination props. Earlier completed games only; prior-season data available for opening week.

NBA RESEARCH · v6.6
Prototype — not calibrated for wagering. ESPN public-facing endpoints are undocumented and could change; live Cloudflare access is unverified. Previous-season statistics do not account automatically for trades, injuries, minutes restrictions or new starting lineups.

1. Choose NBA game

Pick a date, load the teams and their last completed games.

Choose an NBA game date.

NBA historical checks & export

Review earlier dates, run the game model, and grade saved picks. Lines are manually entered home-team spreads (home favorite −5, home underdog +5). No line means no ATS grade.

Pregame labels refer to prediction time only; manual spreads are not verified closing lines and may be entered after tipoff. Saved on this browser/device; export a backup before clearing browser data. Historical reruns use earlier team games but today’s model/settings, and are not saved pregame predictions. Confidence is an uncalibrated simulation frequency. Model scores are regulation only; actual results include overtime. Pushes and pending games are excluded from hit rate. One first-saved prediction per game; later reruns do not overwrite it.

Load a date range (up to 31 days). Enter spreads to enable ATS checks.
Date / matchupSourceHome spreadProjectionPickModel %Final (away–home)Result

2. Full-slate NBA player props

Simulate every listed player across the selected NBA slate, then filter by position or stat. Game and player histories stop strictly before each matchup's tipoff.

FULL SLATE · v6.4
Choose a date and run the full slate. Multiple ESPN requests may be needed. Results appear progressively.
No projections yet
Player · positionProj.80% rangeOpponentMINUSG*DEFModel
Run the slate to load players.

USG* represents an estimated shot-involvement proxy, not official NBA usage. Historical player stats (including prior teams for trades) and team-level matchup defense drive the model.

Select a player to see every projected stat, shooting percentages, blowout risk, and optional custom prop line.

NBA matchup

Data cutoff is before tipoff.

OPPONENT-AWARE

3. Game simulator

Match each offense against its opponent's scoring defense. Exclude any historical team games you don't want.

Load a matchup to simulate.
Game results appear here.

3. Player prop simulator

Simulates player production using historical minutes, game logs, projected team scoring and the opposing defense.

Select a player and click Run Prop; player history loads automatically.
Player prop distribution appears here.
NBA methodology: Game scoring blends each team's prior points scored with the opposing team's allowed points, adjusted for the size/recency of the samples, home court and editable lineup assumptions. A 5,000-trial possession-scoring abstraction generates scores. Player props use the selected player's prior games, projected minutes, the opponent's defense and the same simulated game results. Team pace defaults to approximately 99 possessions and can be changed manually; exact pace, defense by position, current injuries and active lineups are not verified. All frequencies are uncalibrated.
NBA data: ESPN scores, rosters, game logs; independent 2025–26 historical season totals from a published NBA Stats mirror · prior seasons may not represent current players · no verified sportsbook lines.
PGA TOUR · FIELD-WIDE MONTE CARLO

⛳ PGA Golf Lab

Simulate every player together across four rounds. Change strokes-gained inputs, course fit, field selection and cut rules. Results come from simulated rounds, not preset percentages.

Research prototype — not validated for wagering. Public-facing PGA data may be unavailable or change. Statistics not supplied by the API default to zero and must be entered manually; zero is not a verified player rating. Strokes Gained sync requires a PGA_API_KEY secret in Cloudflare; missing statistics are not treated as verified zero. Course fit, recent form, birdies and weather are not automatically verified.

1. PGA tournament and field

Load a tournament field or add players manually.

2. Player strokes gained / round and manual adjustments

Editable values: approach, off tee, around green, putting, recent form and course fit. Unavailable values start at zero; verify before relying on results.

GolferApproachOff teeAroundPuttingFormCourse fit

3. Tournament settings

NHL · VERIFIED GAME SCORES

NHL Matchup Lab

Simulate offensive-versus-defensive scoring matchups using verified regular-season scores, recent results, rest, manual xG and goalie adjustments. Detailed shots and power-play game logs are temporarily disabled to reduce data-service rate limits. Regulation, overtime and shootout are handled separately.

NHL · RESEARCH v5.7
Research model — not yet validated for wagering. Uses public-facing, undocumented NHL endpoints. NHL game scores are verified when returned; current starting goalies, injuries, and expected goals are not loaded automatically. Manual goalie and xG inputs are labeled assumptions. No live wagering or sportsbook odds feed.

1. Choose NHL game

Pick a date, choose an upcoming or completed regular-season matchup and load the teams' previous games. Previous-season history supports October matchups.

Choose a date to view upcoming NHL games.

NHL matchup

Historical data cutoff is before game day.

5,000 SIMULATIONS

2. Historical sample controls

Remove specific outliers, mismatched opponents, or games with unusual goaltending. All values update when you rerun.

3. Game assumptions

Blank or zero xG fields are ignored. To use xG, enter all four positive figures or import team xG below. Positive GSAx means better-than-expected goaltending; selecting a goalie does not confirm a starter. Offensive changes and penalty/shot sensitivities remain optional manual scenarios.

Automatic NHL advanced statistics

Team xGF/xGA and shots can be loaded from published MoneyPuck season files. Goalie names now load independently from NHL/ESPN rosters when a matchup opens. GSAx still requires published MoneyPuck data or a manual value; no starting goalie is confirmed. For completed games, the importer uses only the prior completed season to prevent lookahead bias. For upcoming games, current-season stats may be blended with the prior season. The goalie list is not a verified starting lineup. Offensive lineup changes, shot sensitivity and penalties remain manual assumptions.

MoneyPuck xG and measured goalie GSAx are optional. Goalies load from team rosters independently; no MoneyPuck consent is needed for roster names.
Goalie choices load automatically after you load an NHL matchup. If the roster service is unavailable, choose “Enter goalie manually.”

Source: MoneyPuck.com data. Free for noncommercial use with attribution; other uses require permission. No key required. A provider response, license, or schema change may prevent syncing.

Analysis lines (not used to anchor the model)

Load a matchup, review assumptions, then run.

4. Simulation-derived results

Simulated scores, moneyline frequencies, regulation results, puck lines and goalie saves appear here.
Method: NHL matchups blend each team's prior goal production with its opponent's goals allowed. In rate-limit-safe mode, shot and special-teams estimates rely on league priors unless you enter other measurements; missing official per-game statistics are never presented as observed. Current-season and prior-season data have separate recency weights so October matchups do not discard last year, small samples regress toward explicit league priors, and the game simulation draws correlated game pace and variable scoring. Tied regulation games are resolved through overtime or shootout. You can exclude historical games, adjust goalies, or supply independently sourced xG figures. Measured xG and goalie GSAx can be optionally imported from MoneyPuck; completed-game replays use prior completed season only to prevent lookahead. Confirmed starters, lineup injuries and automated penalty histories are not integrated. Results are uncalibrated Monte Carlo frequencies, not demonstrated betting probabilities. A chronological goal-scoring holdout diagnostic appears after simulations; it does not establish moneyline accuracy.