← Week 6

BALatCLE

Ravens at Browns

Sun 18 Oct · 17:00 UTC · Huntington Bank Field · outdoors · Regular season · Divisional game
FinalBAL 10 – 13 CLE

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 pickBAL −4.5Tiny edge · about a coin flip (0.07 pts)Locked 13 Oct, 17:00 UTCThen: line BAL −4.5 · model BAL −4.57 · stats-only BAL −3.48Final pre-game: line BAL −3.0 · model BAL −3.06 · stats-only BAL −1.49Model 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
BAL −3.0
Model line
BAL −3.1
Market total
39.5
Model total
39.8
Stats-only line
BAL −1.5
Stats-only total
41.9
Projected winner
BAL 62% · by 3.1
Details: how the model pick works

Projected margin BAL by 4.57; the line implied BAL by 4.50. Difference 0.07 points toward BAL (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 CLE by 3.0).

Expected score (Combined (market spread/total + football))BAL 21.4 – 18.4 CLEMeans, not a predicted final score.
Projected winnerBAL 62%CLE 38% · tie 0.4%
Projected margin · totalBAL by 3.1 · 39.880%: BAL by 19 to CLE by 14 · total 24.6–57.5

Model comparison

ModelBALCLEMarginTotalP(CLE win)95% margin range80% total range
Model (combined)21.418.4BAL by 3.139.838%BAL by 27 to CLE by 2424.6–57.5
Stats-only (football only)21.720.2BAL by 1.541.943%BAL by 27 to CLE by 2625.7–59.2
Market only21.318.3BAL by 3.039.537%BAL by 28 to CLE by 2424.5–57.5

Market inputs: BAL −3.0, total 39.5 · 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 lineBAL −1.5
Ravens +8.4 ptsBrowns +6.9 pts
QuarterbacksQuarterbacks: CLE +3.7
Scoring and red zoneScoring and red zone: BAL +3.1
Running gameRunning game: BAL +2.2
Overall efficiencyOverall efficiency: BAL +2.1
Home fieldHome field: CLE +1.9
Turnovers and field positionTurnovers and field position: BAL +0.9
Passing gamePassing game: CLE +0.9
Pace and play stylePace and play style: CLE +0.4
Total = stats-only lineBAL +1.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.

Ravens (BAL)Browns (CLE)

Offence

Overall (opponent-adjusted)Overall (opponent-adjusted): BAL 81st percentile, CLE 0th percentile
Passing (EPA per dropback)Passing (EPA per dropback): BAL 74th percentile, CLE 7th percentile
Rushing (EPA per carry)Rushing (EPA per carry): BAL 100th percentile, CLE 4th percentile
Success rateSuccess rate: BAL 89th percentile, CLE 0th percentile
Points per drivePoints per drive: BAL 89th percentile, CLE 4th percentile
Avoiding sacksAvoiding sacks: BAL 11th percentile, CLE 4th percentile

Defence

Overall (opponent-adjusted)Overall (opponent-adjusted): BAL 56th percentile, CLE 78th percentile
Pass defence (EPA allowed)Pass defence (EPA allowed): BAL 56th percentile, CLE 96th percentile
Run defence (EPA allowed)Run defence (EPA allowed): BAL 78th percentile, CLE 19th percentile
Success rate allowedSuccess rate allowed: BAL 78th percentile, CLE 70th percentile
Points per drive allowedPoints per drive allowed: BAL 59th percentile, CLE 81st percentile
Pass rush (sack rate)Pass rush (sack rate): BAL 26th percentile, CLE 96th percentile

Quarterback

Expected starting QB ratingExpected starting QB rating: BAL 11th percentile, CLE 22nd 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

BAL

Head coachJesse MinterNew this season
Offensive coordinatorDeclan DoyleNew this season
Defensive coordinatorAnthony WeaverNew this season

CLE

Head coachTodd MonkenNew this season
Offensive coordinatorTravis SwitzerNew this season
Defensive coordinatorMike RutenbergNew 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

BAL: Tyler Huntley 99%

Start scenarioProbability
Tyler Huntley99%
Joe Fagnano1%
Evidence for each quarterback
QBChartStatusIf next in line
Lamar JacksonQB1Out0%
Tyler HuntleyQB2Not on report99%
Joe FagnanoQB3Not on report99%
Skylar ThompsonQB4Reserve list0%
  • Lamar Jackson (injury report): practice: Did Not Participate In Practice; listed Out
  • Tyler Huntley (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)
  • Joe Fagnano (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)
  • Skylar Thompson (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.

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

CLE: Deshaun Watson 99.6%

Start scenarioProbability
Deshaun Watson99.6%
Shedeur Sanders0.4%
Evidence for each quarterback
QBChartStatusIf next in line
Deshaun WatsonQB1Not on report99.6%
Shedeur SandersQB2Not on report99%
Taylen GreenQB3Not on report99%
Dillon GabrielQB4Reserve list0%
  • Deshaun Watson (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)
  • Shedeur Sanders (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)
  • Taylen Green (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)
  • Dillon Gabriel (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.

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

Injury report (38 players: 9 out, 7 questionable)
TeamPlayerPosDepth chartInjuryPracticeGame status
BALBroderick WashingtonDERDE2AnkleDid not practiseOut
BALLamar JacksonQBQB1AnkleDid not practiseOut
BALMatthew HibnerTETE2HandDid not practiseOut
CLEKalia DavisDTLDT4QuadricepDid not practiseOut
CLEMike Hall Jr.DTRDT2AnkleDid not practiseOut
CLETeven JenkinsGRG2BackDid not practiseOut
BALCam JurgensCC1ConcussionLimitedOut
CLEDylan SampsonRBKR2KneeLimitedOut
CLEDillon GabrielQBQB4BackFullOut
BALAndrew VorheesGLG2FootLimitedQuestionable
BALEmery Jones Jr.GRG2AnkleLimitedQuestionable
CLECarson SchwesingerLBMLB1AnkleLimitedQuestionable
CLEDerek BarnettDELDE2AnkleLimitedQuestionable
CLEMason GrahamDTLDT1KneeLimitedQuestionable
CLEQuinshon JudkinsRBRB1AnkleLimitedQuestionable
BALJa'Kobi LaneWRWR2WristFullQuestionable
BALCalais CampbellDTRDE1Not injury related - resting playerDid not practise—
BALRonnie StanleyTLT1AnkleDid not practise—
BALJohn SimpsonGLG1GroinLimited—
BALZay FlowersWRWR1ToeLimited—
CLEDenzel BostonWRWR1FootLimited—
CLEMaliek CollinsDTRDT1FootLimited—
BALKyle HamiltonSNB1StingerFull—
BALMark AndrewsTETE1HandFull—
BALMarlon HumphreyCBRCB1HamstringFull—
BALMike GreenLBSLB2HamstringFull—
BALNick VannettTETE4KneeFull—
BALRashod BatemanWRWR3ShoulderFull—
BALRoger RosengartenTRT1KneeFull—
BALTeddye BuchananLBRILB2GroinFull—
BALTrenton SimpsonLBRILB1HamstringFull—
BALTrey HendricksonLBSLB1FingerFull—
CLECarsen RyanTETE3CalfFull—
CLEElgton JenkinsCC1KneeFull—
CLEGrant DelpitSSS1ShoulderFull—
CLEKC ConcepcionWRPR1ConcussionFull—
CLETylan WallaceWRPR4KneeFull—
CLETytus HowardTRT1KneeFull—

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)
BAL offense success rate-0.02
BAL rushing EPA/rush-0.02
CLE sack rate taken-0.02
BAL expected QB vs recent baseline+0.02
market total+0.02

Largest contributions to the model's adjustment of the market margin (positive favours CLE). 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)

13.1 °C, wind 15.2 km/h (gusts 24.5), 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.

MeasureBALCLE
Offense EPA / play0.089-0.113
Defense EPA / play allowed-0.006-0.047
Passing EPA / dropback0.118-0.071
Pass defense EPA / dropback0.047-0.063
Rushing EPA / rush0.050-0.173
Run defense EPA / rush-0.096-0.021
Points / drive2.411.51
Points / drive allowed2.021.90
Sack rate taken7.3%8.9%
Sack rate generated5.3%8.1%
Opponent-adjusted offense0.048-0.075
Opponent-adjusted defense0.0030.032
Expected QB (EPA / dropback, shrunk)-0.077-0.060
Games this season55

Forecast history

Generated (cutoff)Public evidenceBALCLEMarginTotalP(CLE)MarketStateVerificationArchive
13 Oct, 17:00 UTC13 Oct, 17:00 UTC22.918.4BAL by 4.641.332%BAL −4.5 / 41.0SupersededPublicly verifiable before kickoffsha d1bdfb7960… · timestamped Oct 13 17:00:47 2026 GMT · Web Archive copy
13 Oct, 18:16 UTC13 Oct, 18:16 UTC23.218.6BAL by 4.641.832%BAL −4.5 / 41.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.218.6BAL by 4.641.832%BAL −4.5 / 41.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.218.6BAL by 4.641.832%BAL −4.5 / 41.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.218.6BAL by 4.641.832%BAL −4.5 / 41.5SupersededPublicly verifiable before kickoffsha bf092cc947… · timestamped Oct 14 07:16:04 2026 GMT · Web Archive copy
14 Oct, 14:47 UTC14 Oct, 14:47 UTC24.218.6BAL by 5.642.829%BAL −5.5 / 42.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.918.9BAL by 5.142.831%BAL −5.0 / 42.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.918.9BAL by 5.142.831%BAL −5.0 / 42.5SupersededPublicly verifiable before kickoffsha 4bb1937bfb… · timestamped Oct 15 15:06:05 2026 GMT · Web Archive copy
15 Oct, 17:16 UTC15 Oct, 17:16 UTC23.918.9BAL by 5.142.831%BAL −5.0 / 42.5SupersededPublicly verifiable before kickoffsha 74b683e226… · timestamped Oct 15 17:16:25 2026 GMT · Web Archive copy
15 Oct, 20:16 UTC15 Oct, 20:16 UTC23.918.9BAL by 5.142.831%BAL −5.0 / 42.5SupersededPublicly verifiable before kickoffsha c10a1a08c3… · timestamped Oct 15 20:16:30 2026 GMT · Web Archive copy
15 Oct, 20:46 UTC15 Oct, 20:46 UTC23.918.9BAL by 5.142.831%BAL −5.0 / 42.5SupersededPublicly verifiable before kickoffsha 03848b1cbb… · timestamped Oct 15 20:46:42 2026 GMT · Web Archive copy
15 Oct, 21:16 UTC15 Oct, 21:16 UTC22.718.6BAL by 4.141.334%BAL −4.0 / 41.0SupersededPublicly verifiable before kickoffsha c546721395… · timestamped Oct 15 21:16:33 2026 GMT · Web Archive copy
15 Oct, 23:16 UTC15 Oct, 23:17 UTC22.718.6BAL by 4.141.334%BAL −4.0 / 41.0SupersededPublicly verifiable before kickoffsha c945479548… · timestamped Oct 15 23:17:05 2026 GMT · Web Archive copy
16 Oct, 00:46 UTC16 Oct, 00:47 UTC22.718.6BAL by 4.141.334%BAL −4.0 / 41.0SupersededPublicly verifiable before kickoffsha 13c7adb640… · timestamped Oct 16 00:47:06 2026 GMT · Web Archive copy
16 Oct, 16:06 UTC16 Oct, 16:06 UTC22.418.9BAL by 3.641.336%BAL −3.5 / 41.0SupersededPublicly verifiable before kickoffsha aa172a3c4f… · timestamped Oct 16 16:06:32 2026 GMT · Web Archive copy
16 Oct, 22:16 UTC16 Oct, 22:16 UTC21.418.4BAL by 3.139.837%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha ba504f3481… · timestamped Oct 16 22:16:48 2026 GMT · Web Archive copy
17 Oct, 00:17 UTC17 Oct, 00:17 UTC21.418.4BAL by 3.139.837%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha f976ceb4c8… · timestamped Oct 17 00:17:09 2026 GMT · Web Archive copy
17 Oct, 04:46 UTC17 Oct, 04:46 UTC21.418.4BAL by 3.139.837%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha 59c2ec7341… · timestamped Oct 17 04:46:31 2026 GMT · Web Archive copy
17 Oct, 06:16 UTC17 Oct, 06:17 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha f50014f83f… · timestamped Oct 17 06:17:07 2026 GMT · Web Archive copy
17 Oct, 17:16 UTC17 Oct, 17:17 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha 16b6a1b527… · timestamped Oct 17 17:16:53 2026 GMT · Web Archive copy
17 Oct, 23:17 UTC17 Oct, 23:17 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha df72220584… · timestamped Oct 17 23:17:35 2026 GMT · Web Archive copy
18 Oct, 05:46 UTC18 Oct, 05:46 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha 91241513fc… · timestamped Oct 18 05:46:17 2026 GMT · Web Archive copy
18 Oct, 06:16 UTC18 Oct, 06:16 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha b3093adbcc… · timestamped Oct 18 06:16:07 2026 GMT · Web Archive copy
18 Oct, 11:46 UTC18 Oct, 11:46 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha 0e806c4385… · timestamped Oct 18 11:46:48 2026 GMT · Web Archive copy
18 Oct, 12:46 UTC18 Oct, 12:46 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha c3cbe56bb8… · timestamped Oct 18 12:46:14 2026 GMT · Web Archive copy
18 Oct, 15:46 UTC18 Oct, 15:47 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha 87e1db4a5d… · timestamped Oct 18 15:46:48 2026 GMT · Web Archive copy
18 Oct, 16:17 UTC18 Oct, 16:17 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5SupersededPublicly verifiable before kickoffsha 48eb4d731a… · timestamped Oct 18 16:17:30 2026 GMT · Web Archive copy
18 Oct, 16:47 UTC18 Oct, 16:47 UTC21.418.4BAL by 3.139.838%BAL −3.0 / 39.5ScoredPublicly 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 CLE by 3.0 (forecast BAL by 3.1, error 6.1 pts); actual total 23 (forecast 39.8, error 16.8).