← Week 6

NOatNYG

Saints at Giants

Sun 18 Oct · 17:00 UTC · MetLife Stadium · outdoors · Regular season
FinalNO 34 – 27 NYG

Scored · generated 18 Oct, 16:47 UTC · Publicly verifiable before kickoff (first public evidence 18 Oct, 16:47 UTC) · model v1.0-2026-rest-of-season (frozen)

Prediction

Model pickNYG +0.5Tiny edge · about a coin flip (0.11 pts)Locked 13 Oct, 17:00 UTCThen: line NO −0.5 · model NO −0.39 · stats-only NYG −3.44Final pre-game: line NO −1.0 · model NO −0.89 · stats-only NYG −3.47Big gap Stats-only was 3.9 pts from the line, toward NYG. Check why the market disagrees.Model pick: the side of the market line on which the model's projected margin fell at the first forecast with a market line (the rule for games from 1 to 20 October 2026), graded against that line. It is not a probability of finishing on that side of the line. Edge: how far the model's projected margin was from the line (under 0.5 points is about a coin flip). Stats-only: the football-only model, which uses no market line. Big gap: the stats-only number was at least 3 points from the line when the pick was locked (Biggest gap: at least 4 points); a prompt to check why the market disagrees, not a recommendation.
Market line
NO −1.0
Model line
NO −0.9
Market total
46.0
Model total
46.5
Stats-only line
NYG −3.5
Stats-only total
43.6
Projected winner
NO 54% · by 0.9
Details: how the model pick works

Projected margin NO by 0.39; the line implied NO by 0.50. Difference 0.11 points toward NYG (tiny). Differences under 0.5 points are labelled tiny and are within normal noise; 0.5–1.5 small, 1.5–3 moderate, 3 or more large.

The model pick is the side of the market line on which the model's unrounded projected margin fell when it was locked, at the first forecast with a market line (the rule for games from 1 to 20 October 2026). It stays the same if the line or the forecast changes later, and it is graded against the line it was locked at. Market line, model line, totals and the projected winner are from the latest forecast. The win probability belongs to the projected winner only; it is not a probability of finishing on that side of the line. For analysis and education only.

Result: Model pick wrong · margin error 6.1 (actual margin NO by 7.0).

Expected score (Combined (market spread/total + football))NO 23.7 – 22.8 NYGMeans, not a predicted final score.
Projected winnerNO 54%NYG 45% · tie 0.4%
Projected margin · totalNO by 0.9 · 46.580%: NO by 17 to NYG by 16 · total 31.2–64.1

Model comparison

ModelNONYGMarginTotalP(NYG win)95% margin range80% total range
Model (combined)23.722.8NO by 0.946.545%NO by 25 to NYG by 2631.2–64.1
Stats-only (football only)20.123.5NYG by 3.543.661%NO by 22 to NYG by 3127.4–60.9
Market only23.522.5NO by 1.046.044%NO by 26 to NYG by 2631.0–64.0

Market inputs: NO −1.0, total 46.0 · source: The Odds API (median of 9 US market lines) · provider updated 18 Oct, 16:45 UTC · retrieved by us 18 Oct, 16:46 UTC. These two numbers are inputs to the combined model; nothing else from the market is used.

Where the stats-only margin comes from

Points each part of the football data adds, in the colour of the team it favours.

Stats-only lineNYG −3.5
Saints +1.1 ptsGiants +4.5 pts
Turnovers and field positionTurnovers and field position: NYG +2.0
Home fieldHome field: NYG +1.9
QuarterbacksQuarterbacks: NO +0.5
Scoring and red zoneScoring and red zone: NYG +0.5
Running gameRunning game: NO +0.3
Passing gamePassing game: NO +0.2
Pace and play stylePace and play style: NYG +0.1
Overall efficiencyOverall efficiency: NYG +0.1
Total = stats-only lineNYG +3.5

From the football-only model, which uses no market line. Each bar points toward the team that part of the data favours; together they add up to the stats-only line. 2 groups under 0.05 points not shown. The groups overlap (a team that passes well also tends to score well), so read them together; this describes the fitted model, not football cause and effect. The model line is built from the market line and is not split this way.

How they rate

Percentile among the 28 teams playing this week, as of this forecast: 100 is the best in that measure, 50 is average. Defence measures are turned round so that higher is always better.

Saints (NO)Giants (NYG)

Offence

Overall (opponent-adjusted)Overall (opponent-adjusted): NO 19th percentile, NYG 33rd percentile
Passing (EPA per dropback)Passing (EPA per dropback): NO 22nd percentile, NYG 59th percentile
Rushing (EPA per carry)Rushing (EPA per carry): NO 22nd percentile, NYG 30th percentile
Success rateSuccess rate: NO 33rd percentile, NYG 30th percentile
Points per drivePoints per drive: NO 37th percentile, NYG 56th percentile
Avoiding sacksAvoiding sacks: NO 41st percentile, NYG 22nd percentile

Defence

Overall (opponent-adjusted)Overall (opponent-adjusted): NO 41st percentile, NYG 26th percentile
Pass defence (EPA allowed)Pass defence (EPA allowed): NO 52nd percentile, NYG 48th percentile
Run defence (EPA allowed)Run defence (EPA allowed): NO 44th percentile, NYG 0th percentile
Success rate allowedSuccess rate allowed: NO 22nd percentile, NYG 11th percentile
Points per drive allowedPoints per drive allowed: NO 11th percentile, NYG 41st percentile
Pass rush (sack rate)Pass rush (sack rate): NO 78th percentile, NYG 41st percentile

Quarterback

Expected starting QB ratingExpected starting QB rating: NO 19th percentile, NYG 41st percentile

Per-play efficiency entering the game (EPA = expected points added), weighted towards recent games and, early in the season, still partly last season. These are the same football inputs the stats-only line is built from. Display only.

Coaching staff

NO

Head coachKellen Moore2nd season
Offensive coordinatorDoug Nussmeier2nd season
Defensive coordinatorBrandon Staley2nd season

NYG

Head coachJohn HarbaughNew this season
Offensive coordinatorMatt NagyNew this season
Defensive coordinatorDennard WilsonNew this season

Seasons in that role with this team ("+": at least, our records start in 2015). Staff from Wikipedia season pages (CC BY-SA); who calls the plays on game day is not always the coordinator. Display only: a test of giving last season less weight after coaching or roster changes (2019–2024) did not improve the forecasts, so the model does not use this.

Lineup assumptions

NO: Tyler Shough 99%

Start scenarioProbability
Tyler Shough99%
Spencer Rattler1%
Evidence for each quarterback
QBChartStatusIf next in line
Tyler ShoughQB1None99%
Spencer RattlerQB2Not on report99%
Zach WilsonQB3Not on report99%
  • Tyler Shough (injury report): practice: Full Participation in Practice; historical start rate 0.988 (96/97, 90% interval 0.97-1.00; daily depth charts; by final practice (Full))
  • Spencer Rattler (not on published report): not on the team's published report; historical start rate 0.986 (34/34, 90% interval 0.95-1.00; daily depth charts)
  • Zach Wilson (not on published report): not on the team's published report; historical start rate 0.986 (34/34, 90% interval 0.95-1.00; daily depth charts)

Depth chart snapshot 2026-10-18 12:02 UTC. Injury data observed 2026-10-18 16:45 UTC.

NYG: Jameis Winston 99.6%

Start scenarioProbability
Jameis Winston99.6%
J.J. McCarthy0.4%
Evidence for each quarterback
QBChartStatusIf next in line
Jameis WinstonQB1Not on report99.6%
J.J. McCarthyQB2Not on report99%
Jake HaenerQB3Not on report99%
Jaxson DartQB4Reserve list0%
  • Jameis Winston (not on published report): not on the team's published report; historical start rate 0.996 (416/417, 90% interval 0.99-1.00; daily depth charts)
  • J.J. McCarthy (not on published report): not on the team's published report; historical start rate 0.986 (34/34, 90% interval 0.95-1.00; daily depth charts)
  • Jake Haener (not on published report): not on the team's published report; historical start rate 0.986 (34/34, 90% interval 0.95-1.00; daily depth charts)
  • Jaxson Dart (roster status): reserve list (e.g. injured reserve); cannot start unless re-signed/elevated

Depth chart snapshot 2026-10-18 12:02 UTC. Injury data observed 2026-10-18 16:45 UTC.

Jaxson Dart is on the reserve list and cannot start, so he is skipped in the order of replacements.

Injury report (27 players: 5 out, 8 questionable)
TeamPlayerPosDepth chartInjuryPracticeGame status
NOAnfernee JenningsLBWLB2KneeDid not practiseOut
NOKaden EllissLBLILB1CalfDid not practiseOut
NYGColton HoodCBLCB2ConcussionDid not practiseOut
NYGTheo JohnsonTETE2NeckDid not practiseOut
NYGTyler NubinSSS1NeckDid not practiseOut
NOAlvin KamaraRBRB1BackLimitedQuestionable
NOChris OlaveWRWR1IllnessLimitedQuestionable
NOLorenzo Styles Jr.CBSS2KneeLimitedQuestionable
NONathan ShepherdDTNT1IllnessLimitedQuestionable
NYGAbdul CarterLBSLB1CalfLimitedQuestionable
NYGAndrew ThomasTLT1GroinLimitedQuestionable
NYGJermaine EluemunorTRT1CalfLimitedQuestionable
NOZach WoodLSLS1CalfFullQuestionable
NYGGreg Newsome IICBRCB1GroinLimited—
NOColby WoodenDTLDE2ToeFull—
NODavon GodchauxDTNT2Not injury related - resting playerFull—
NOJeremiah WrightGRG2ConcussionFull—
NOTyler ShoughQBQB1HandFull—
NOTyree WilsonLBRDE2AnkleFull—
NOVernon BroughtonDTRDE1IllnessFull—
NYGCharlie JonesWRPR1AchillesFull—
NYGDarnell MooneyWRWR3NeckFull—
NYGElijah CampbellSFS3ThumbFull—
NYGIsaiah LikelyTETE1FootFull—
NYGJason PinnockSFS2ConcussionFull—
NYGMalik HarrisonLBLILB3GroinFull—
NYGNajee HarrisRBRB2RibsFull—

From the official NFL injury report as carried by nflverse (data last changed 18 Oct, 06:01 UTC; we last checked 18 Oct, 16:45 UTC), shown as of kickoff. Most serious first. Depth chart: position and order on the team's latest depth chart before this report (usual starters in bold: first at the position, receivers 1–3). For this game, game statuses (Out, Doubtful, Questionable) come with the final report on Friday 16 Oct. The data feed can lag the league's own report, at times by a day or more, so check the official injury report on NFL.com and team announcements before kickoff. Display only: injuries other than at quarterback are not model inputs (tested; the market line usually reflects them).

What moved the combined model

FeatureEffect (pts)
NYG offensive starting field position (yds to goal)+0.03
NO explosive run rate+0.03
NO points per drive allowed-0.02
NO opponent starting field position+0.01
NYG explosive runs allowed-0.01

Largest contributions to the model's adjustment of the market margin (positive favours NYG). This explains the fitted model, not football cause and effect. The adjustments are small because validation showed the market line is hard to improve on.

Weather (display only)

12.7 °C, wind 6.1 km/h (gusts 7.6), precipitation 0.0 mm at kickoff.

Open-Meteo forecast observed 2026-10-18 14:15 UTC, 2.7 h before kickoff. Weather is not a model input: it did not pass the feature-group evaluation (see Performance).

Data freshness at this forecast

All sources were fresh and complete at the cutoff.

SourceStateProvider updatedLast checked by us
Injury reportsfresh2026-10-18 12:02 UTC2026-10-18 16:45 UTC
Depth chartsfresh2026-10-18 12:02 UTC2026-10-18 16:45 UTC
Rostersfresh2026-10-18 12:04 UTC2026-10-18 16:45 UTC
Market line (The Odds API)fresh2026-10-18 16:45 UTC2026-10-18 16:46 UTC

Market line age at the cutoff: 0 h. A source counts as stale if the provider has not updated it for 36 h (8 days for rosters) or we have not re-checked it for 36 h.

Team efficiency entering the game

As-of values at the forecast cutoff: exponentially weighted, shrunk toward league average, prior-season games down-weighted.

MeasureNONYG
Offense EPA / play-0.055-0.004
Defense EPA / play allowed0.0070.034
Passing EPA / dropback-0.0260.063
Pass defense EPA / dropback0.0470.047
Rushing EPA / rush-0.103-0.098
Run defense EPA / rush-0.0470.011
Points / drive1.962.03
Points / drive allowed2.322.06
Sack rate taken6.5%7.1%
Sack rate generated6.8%5.9%
Opponent-adjusted offense-0.038-0.021
Opponent-adjusted defense-0.009-0.019
Expected QB (EPA / dropback, shrunk)-0.061-0.044
Games this season55

Forecast history

Generated (cutoff)Public evidenceNONYGMarginTotalP(NYG)MarketStateVerificationArchive
13 Oct, 17:00 UTC13 Oct, 17:00 UTC23.222.8NO by 0.446.047%NO −0.5 / 45.5SupersededPublicly verifiable before kickoffsha d1bdfb7960… · timestamped Oct 13 17:00:47 2026 GMT · Web Archive copy
13 Oct, 18:16 UTC13 Oct, 18:16 UTC23.422.5NO by 0.946.045%NO −1.0 / 45.5SupersededPublicly verifiable before kickoffsha 28119b5ce9… · timestamped Oct 13 18:16:07 2026 GMT · Web Archive copy
14 Oct, 00:46 UTC14 Oct, 00:46 UTC23.422.5NO by 0.946.045%NO −1.0 / 45.5SupersededPublicly verifiable before kickoffsha 18e5e27fe5… · timestamped Oct 14 00:46:08 2026 GMT · Web Archive copy
14 Oct, 06:16 UTC14 Oct, 06:16 UTC23.422.5NO by 0.946.045%NO −1.0 / 45.5SupersededPublicly verifiable before kickoffsha 2bb66de06a… · timestamped Oct 14 06:16:35 2026 GMT · Web Archive copy
14 Oct, 07:15 UTC14 Oct, 07:16 UTC23.422.5NO by 0.946.045%NO −1.0 / 45.5SupersededPublicly verifiable before kickoffsha bf092cc947… · timestamped Oct 14 07:16:04 2026 GMT · Web Archive copy
14 Oct, 14:47 UTC14 Oct, 14:47 UTC23.422.5NO by 0.946.045%NO −1.0 / 45.5SupersededPublicly verifiable before kickoffsha 252cd4abd4… · timestamped Oct 14 14:47:27 2026 GMT · Web Archive copy
14 Oct, 21:16 UTC14 Oct, 21:16 UTC23.422.5NO by 0.946.045%NO −1.0 / 45.5SupersededPublicly verifiable before kickoffsha 60e55e03ed… · timestamped Oct 14 21:16:21 2026 GMT · Web Archive copy
15 Oct, 15:05 UTC15 Oct, 15:06 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha 4bb1937bfb… · timestamped Oct 15 15:06:05 2026 GMT · Web Archive copy
15 Oct, 17:16 UTC15 Oct, 17:16 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha 74b683e226… · timestamped Oct 15 17:16:25 2026 GMT · Web Archive copy
15 Oct, 20:16 UTC15 Oct, 20:16 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha c10a1a08c3… · timestamped Oct 15 20:16:30 2026 GMT · Web Archive copy
15 Oct, 20:46 UTC15 Oct, 20:46 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha 03848b1cbb… · timestamped Oct 15 20:46:42 2026 GMT · Web Archive copy
15 Oct, 21:16 UTC15 Oct, 21:16 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha c546721395… · timestamped Oct 15 21:16:33 2026 GMT · Web Archive copy
15 Oct, 23:16 UTC15 Oct, 23:17 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha c945479548… · timestamped Oct 15 23:17:05 2026 GMT · Web Archive copy
16 Oct, 00:46 UTC16 Oct, 00:47 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha 13c7adb640… · timestamped Oct 16 00:47:06 2026 GMT · Web Archive copy
16 Oct, 16:06 UTC16 Oct, 16:06 UTC23.223.3NYG by 0.146.549%Even / 46.0SupersededPublicly verifiable before kickoffsha aa172a3c4f… · timestamped Oct 16 16:06:32 2026 GMT · Web Archive copy
16 Oct, 22:16 UTC16 Oct, 22:16 UTC23.223.3NYG by 0.146.549%Even / 46.0SupersededPublicly verifiable before kickoffsha ba504f3481… · timestamped Oct 16 22:16:48 2026 GMT · Web Archive copy
17 Oct, 00:17 UTC17 Oct, 00:17 UTC23.223.3NYG by 0.146.549%Even / 46.0SupersededPublicly verifiable before kickoffsha f976ceb4c8… · timestamped Oct 17 00:17:09 2026 GMT · Web Archive copy
17 Oct, 04:46 UTC17 Oct, 04:46 UTC23.223.3NYG by 0.146.549%Even / 46.0SupersededPublicly verifiable before kickoffsha 59c2ec7341… · timestamped Oct 17 04:46:31 2026 GMT · Web Archive copy
17 Oct, 06:16 UTC17 Oct, 06:17 UTC23.223.3NYG by 0.146.549%Even / 46.0SupersededPublicly verifiable before kickoffsha f50014f83f… · timestamped Oct 17 06:17:07 2026 GMT · Web Archive copy
17 Oct, 17:16 UTC17 Oct, 17:17 UTC23.423.0NO by 0.446.547%NO −0.5 / 46.0SupersededPublicly verifiable before kickoffsha 16b6a1b527… · timestamped Oct 17 17:16:53 2026 GMT · Web Archive copy
17 Oct, 23:17 UTC17 Oct, 23:17 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha df72220584… · timestamped Oct 17 23:17:35 2026 GMT · Web Archive copy
18 Oct, 05:46 UTC18 Oct, 05:46 UTC23.423.0NO by 0.446.547%NO −0.5 / 46.0SupersededPublicly verifiable before kickoffsha 91241513fc… · timestamped Oct 18 05:46:17 2026 GMT · Web Archive copy
18 Oct, 06:16 UTC18 Oct, 06:16 UTC23.423.0NO by 0.446.547%NO −0.5 / 46.0SupersededPublicly verifiable before kickoffsha b3093adbcc… · timestamped Oct 18 06:16:07 2026 GMT · Web Archive copy
18 Oct, 11:46 UTC18 Oct, 11:46 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha 0e806c4385… · timestamped Oct 18 11:46:48 2026 GMT · Web Archive copy
18 Oct, 12:46 UTC18 Oct, 12:46 UTC23.423.0NO by 0.446.547%NO −0.5 / 46.0SupersededPublicly verifiable before kickoffsha c3cbe56bb8… · timestamped Oct 18 12:46:14 2026 GMT · Web Archive copy
18 Oct, 15:46 UTC18 Oct, 15:47 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha 87e1db4a5d… · timestamped Oct 18 15:46:48 2026 GMT · Web Archive copy
18 Oct, 16:17 UTC18 Oct, 16:17 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0SupersededPublicly verifiable before kickoffsha 48eb4d731a… · timestamped Oct 18 16:17:30 2026 GMT · Web Archive copy
18 Oct, 16:47 UTC18 Oct, 16:47 UTC23.722.8NO by 0.946.545%NO −1.0 / 46.0ScoredPublicly verifiable before kickoffsha d545a799ab… · timestamped Oct 18 16:47:12 2026 GMT · Web Archive copy

Every version is kept. The information cutoff of each version is its generation time. The highlighted row is the current version: the latest valid version generated before kickoff. Before kickoff it may still be replaced; at kickoff it is locked; once the game is final it is scored. Versions that failed validation are never shown as current or scored. "Public evidence" is GitHub's own record of when the file was first pushed, independent of this project's clock. Each version is also archived outside GitHub Actions: its SHA-256 hash, an RFC 3161 trusted timestamp (proves the exact file existed at that time) and an Internet Archive copy of the public file (checked byte-for-byte against the hash).

Result vs forecast

Actual margin NO by 7.0 (forecast NO by 0.9, error 6.1 pts); actual total 61 (forecast 46.5, error 14.5).