Week 2 may not have had the same level of offensive fireworks as we saw in the opener, but we still had our share of excitement and weird results.
Let’s get right to the analysis.
Same spiel as last week: We’ll be looking at each game from an analytical lens, leaning heavily on expected points added (EPA) and success rate (the percentage of plays that produce positive EPA), thanks to data from the indispensable nflverse.
I also have something new this week: fantasy football barbell charts, showing the gap between actual fantasy production and my expected fantasy points calculation for each running back, wide receiver and tight end.1
We’ll start with the Sunday and Monday night games, since those are presumably freshest in our minds, before reverting to a rough chronological order, but feel free to jump to whatever game you’d like.
Rams 28, Giants 6 (Monday Night Football)




The Giants were obviously hurt by losing quarterback Jaxson Dart to a first-quarter injury, but I’m not sure it would have mattered in this one as the Rams completely had their way with the Giants defense (even in Puka Nacua’s absence).

Jameis Winston looked completely out of his depth in relief of Dart, completing just 11 of his 27 passes for 111 yards, no touchdowns and one interception, while also taking a pair of sacks.

Davante Adams was phenomenal in Nacua’s absence, catching eight of his 10 targets (one in the end zone) for 195 yards and two touchdowns. His target share was 33.3% and his aDOT was 19.8.
After getting some sleeper hype in the offseason but not catching a pass in the opener, Terrance Ferguson also had a big game. The tight end caught six of nine targets (one in the end zone) for 54 yards and a touchdown.

Chiefs 33, Colts 30 (OT) (Sunday Night Football)


Kansas City committed eight penalties that cost them 86 yards, compared to five penalties worth 30 yards for Indianapolis. The Colts gained three first downs via penalty, while the Chiefs did not gain any.


Kenneth Walker did not have a home run rush like we saw last week, but it was still a very efficient day for the new Chief: he had a 54% success rate and 11 of his 24 runs gained at least five yards.
After posting the league’s worst completion percentage over expected (CPOE) in Week 1, Patrick Mahomes was back above average with a mark of +3.7%.

The Colts have moved the ball efficiently on early downs this season, ranking eighth in success rate on first and second down over the first two weeks. Unlike in their opening week loss to Baltimore, the Colts were also able to move the chains on late downs at a respectable clip against the Chiefs (they were 7-for-14 on third/fourth down on Sunday night).
Daniel Jones wasn’t flashy but his performance marked a vast improvement over what we saw in the opener. His biggest blemish was an interception on the Colts’ second drive — this marked the second straight week Indianapolis followed up a score on its opening possession with Jones throwing a pick in his own territory — but he was otherwise fairly accurate (+3.9% CPOE) and was not sacked.
Jones mostly operated in the short range, as 80% of his throws were within nine yards of the line of scrimmage (the league average was about 67% last year), but he was effective on the rare occasions he ventured beyond this zone: on throws at least 10 yards down the field, he was 3-for-6 for 93 yards and 5.1 EPA.

Walker had a very strong fantasy performance but could have had an even bigger night — the former Seahawk did not score but had three carries from the 1-yard line, in addition to being targeted for a pass in the end zone. He had 10 targets in total, second only to Travis Kelce among Kansas City players in Week 2, and actually had more fantasy points through the air than on the ground (12.1 on six catches versus 11.7 on 24 carries).2
Through two games, Xavier Worthy leads the Chiefs in expected receiving fantasy points with 26.2, though he is fourth among them in actual receiving fantasy points (with 18.3, behind Kelce, Walker and Rashee Rice). He’s third on the team in targets and while they are not coming down the field (he has an average depth of target of 6.3), he is getting looks in scoring position. Worthy is the team leader in both targets on snaps in the red zone (four) and expected receiving touchdowns (1.3).

Bills 41, Lions 31 (Thursday Night Football)

This one certainly delivered on its promise of providing plenty of offense but may not have been as close as the final score suggests. Buffalo cleared the 70% win probability mark with 8:36 left in the first quarter and did not fall below it again. They were north of 80% from the 3:49 mark onward.


The two teams were close in terms of passing production, but Buffalo decisively won on the ground on both sides of the ball.

In Week 1, Josh Allen got the job done with explosiveness despite a lack of efficiency, but against Detroit, everything was firing. In addition to the 60% success rate on dropbacks, Buffalo had four pass plays gain at least 20 yards (a 10% 20-plus-yard play rate, which is good for the 67th percentile).
Allen was most effective on intermediate targets, going 6-for-6 and gaining 9.9 expected points on throws 10 to 19 yards down the field.
In addition to facing a ruthlessly efficient passing game that also generated big plays and avoided negative ones, the Lions had to contend with a running game that posted a 59% success rate (96th percentile) and added three more 20-plus-yard plays (on 29 rushes; a 10% rate, which is a 98th percentile output).

Jared Goff had a strong game in his own right, but did not get any support from his ground game.
Detroit dropped back to pass on 71% of its plays, but after accounting for game context including the score, down and distance, the Lions actually ran more than an average team would have been expected to.


Jahmyr Gibbs scored 5.2 fantasy points (8.9 expected) on rush attempts and 18.1 points (12.5 expected) on passes.3 He caught 6-of-8 targets for 61 yards and a touchdown. His eight targets were second-most on Detroit (behind Amon-Ra St. Brown’s 12).
Eagles 24, Titans 20




Both teams were very run-heavy, with the Titans coming out as the more extreme of the two, posting a minus-20% Pass Rate Over Expectation (PROE).
The Titans struggled on early downs but compensated with late-down efficiency.
Cam Ward was inefficient on a down-to-down basis, but thanks in large part to four 20-plus-yard plays (and a touchdown run on a scramble) he averaged 0.04 EPA per dropback, which was a bit below league average but also better than what the Eagles allowed last season (around 0).

For the second week in a row, the Eagles offense struggled badly on early downs but compensated by moving the chains at a high rate on late downs. Against the Titans, Philadelphia was 12-for-19 on third/fourth down.
The Eagles’ minus-11% PROE was probably ill-advised. The ground-based approach came in spite of a 33% success rate and 2.4 yards per carry average on designed runs.
Philadelphia is now 2-0 but this hardly seems like a sustainable path to future success.
Saquon Barkley left the game in the first half with an injury and while he returned in the third quarter, his impact was minimal. He gained just nine yards on four carries and caught one of his two targets for an additional 11 yards.
Backup running back Tank Bigsby was also ineffective, rushing for 33 yards on 13 carries with a 31% success rate, although he did score on a carry from two yards out in the second quarter.

Tony Pollard got 14 carries, while Tyjae Spears had seven. Four of Pollard’s carries came in goal-to-go situations, though he failed to score (Spears had one goal-to-go carry). Spears had two targets to Pollard’s one.

DeVonta Smith was targeted 13 times (38% target share), with three targets coming in the end zone.
Saints 24, Ravens 17


After coming close to pulling off a road upset in Week 1, New Orleans finished the job in Week 2.
This was another game where late-down execution played an outsized role, as the Saints had a net EPA advantage of nearly 16 points on third/fourth down in a game they won by seven. Baltimore was about as efficient as possible on early downs, but just an okay 4-for-9 on third downs.
The Saints were 8-for-15 on third down and 2-for-2 on fourth down.
New Orleans also had an edge in the kicking game, as Daniel Carlson was 3-for-3 on field goal attempts (from 23, 47, and 51 yards out), while Baltimore’s Tyler Loop had a 49-yard field goal blocked (he made his other field goal attempt from the same distance).


Despite the loss, this was an incredibly efficient effort from the Ravens offense. They became the first team in 2026 to cross the 60% mark in overall success rate, a threshold that was only cleared six times in 2025 (Buffalo came close on Thursday night, as did Jacksonville in Week 1).
Their 78% rushing success rate not only would have been the top mark of 2025, but it is also tied for the second-best since at least 1999 (which is as far back as the nflverse data goes).4
This is all well and good…but then how did Baltimore only score 17 points?
The Ravens averaged 0.10 EPA per play, which is a fine mark (around the 70th percentile) but not the top-tier output we might expect given their success rate.
Turnovers are usually a good place to start, but Baltimore only had one and it was actually less costly than a typical turnover (it was a deep throw that gave the Saints the ball back at their own nine, so it only cost Baltimore about 1.8 expected points, while the average turnover cost teams about 4.7 expected points in 2025).
The bigger issues were late downs and a lack of big plays. Derrick Henry’s efficient day on the ground came with a surprising lack of explosiveness — his longest run was only eight yards! Through the air, the Ravens managed three plays that gained at least 20 yards, doing so on about 8% of their dropbacks for an average rate.
Baltimore went 4-for-9 on third down which is around the league average, but their failures included a 12-yard sack that turned a would-be 37-yard field goal attempt into a 49-yarder, and an incomplete pass with one yard to go.
The four makes also did not add much to the ledger, as they all came with the Ravens needing five yards or fewer, and thus already had a relatively high expectation of a conversion. In other words, there were no high leverage third-and-long makes.
As a final note, the Ravens only had eight possessions, while the average team had about 10.5 last year.

The Saints’ big day on late downs included a pair of 3rd-and-13 conversions and a Tyler Shough quarterback sneak touchdown on a 4th-and-1 that turned out to be the game winner.

In Zay Flowers’ absence, Rashod Bateman and Mark Andrews accounted for more than half of their team’s targets (Bateman had nine and Andrews had seven). Bateman also had a 13.9-yard average depth of target (aDOT).

Alvin Kamara and Travis Etienne had nine carries apiece, though Shough got both of New Orleans’ goal-to-go carries. Kamara had six targets to Etienne’s two. Kamara caught five of these targets and had he gained a normal amount of yards after the catch, he would have had a nice fantasy day.5 Instead, he only gained seven yards on his catches (and just to be clear, that’s not seven yards per reception; that’s seven yards total).
Vikings 9, Bears 3


While this was a surprisingly inept performance from the Bears offense, the result might have been different if not for their two giveaways; a first down fumble on the goal line from D’Andre Swift in the third quarter proved to be especially impactful.


While there were some factors working against the Bears — the weather, a tough Vikings defense, a late injury to Caleb Williams — this was still a pretty pathetic offensive day and a far cry from the squad’s 59-point effort in Week 1. The success rate chart speaks for itself.
Williams managed just a 28% success rate on his dropbacks; he averaged only 4.1 yards per pass play (including scrambles).

This was also a poor showing from the Vikings offense, especially after taking into account the quality of the opposing defense.

The opportunity was there for Luther Burden III to have a solid day, as he was targeted seven times (once in the end zone) and had a 12.4 aDOT; he only managed to turn this into three catches for 32 yards.

Packers 20, Jets 17 (OT)

The Jets were on the cusp of starting the season 2-0, but coughed up a 10-point lead in the fourth quarter. Head coach Aaron Glenn’s decision to kick on a 4th-and-1 deep in Green Bay territory cost the Jets badly; New York led 14-7 with 11:08 left in the fourth quarter and decided to kick a field goal. It’s obviously tempting to want to go up by multiple scores, but the Packers still had plenty of time to score twice.
Comparing the win expectancy of converting versus failing with the win expectancy of kicking, and considering the likelihood of a successful conversion, this was an easy call that Glenn got wrong. Ben Baldwin’s fourth down bot has the numbers:6

Green Bay netted almost six expected points on punts.

The Jets were held to 2.1 yards per carry on designed runs with a 21% success rate; one of their many unsuccessful plays came on a 4th-and-1 at midfield on the Jets’ final possession of regulation with the score tied at 17.

Geno Smith’s second consecutive solid game included a strong performance on late downs, overcoming the poor situations the New York running game put the team in.

Yikes.

Former Colt Adonai Mitchell has the potential to be a very exciting player; he was targeted a team-high 12 times (33% target share), which is tantalizing for fantasy managers given the types of routes he runs. He had a 14.8 aDOT on Sunday. He wasn’t able to fully realize his expected output, but still put together a nice enough day with six catches for 63 yards.
Breece Hall had 11.3 fantasy points through the air (6.7 expected) but just 2.9 on the ground (7.9 expected).
Braelon Allen had the Jets’ only goal-to-go carry, which he converted into a five-yard touchdown run.

Bengals 20, Texans 6




This was a pathetic effort from the Houston offense before you even take into account it came against one of 2025’s worst defenses.
Don’t be fooled by C.J. Stroud’s 353 passing yards: the fourth-year pro needed 55 throws to get there, and he was also sacked four times. Houston managed just a 41% success rate on its dropbacks.
Houston’s running game was even worse! Take it away, Sal:
That Noel end-around was Houston’s only successful rush on 15 carries, giving the Texans a designed rush success rate of 6.7%, the lowest by any team since 2021.
Houston averaged minus-0.8 EPA per designed rush.

Cincinnati’s offense hardly lit the world on fire either, posting poor numbers even after adjusting for the quality of its opposition.
Joe Burrow lived in the short area of the field, as 80% of his passes were within 10 yards of the line of scrimmage (the league average was about 67% in 2025). He struggled in this range though, managing only a 20% success rate.
Burrow only had five successful completions on his 25 short throws; incidentally, this was as many successful completions as he had on his six throws at least 10 yards past the line of scrimmage. He was 3-for-4 on throws between 10 and 19 yards down the field and completed both of his passes beyond this range.

The opportunities were certainly there for the Texans pass catchers to have big fantasy days in Nico Collins’ absence. Only Dalton Schultz took advantage, turning his 14 targets into 12 catches for 140 yards.
Xavier Hutchinson was the next most targeted Texan, but he only managed three catches for 37 yards on the nine passes thrown his way.

Ja’Marr Chase shook off his poor Week 1 with a seven-catch, 75-yard, two-touchdown performance.
Browns 23, Buccaneers 19

This was a tough one for Bucs fans, who had to wait out a two-plus-hour weather delay, only to watch their team suffer an upset loss.


Deshaun Watson averaged nearly seven yards per dropback while throwing two touchdowns and posting a 56% success rate.

The Baker Mayfield revenge game did not materialize, as the Browns held him under five yards per dropback with a 32% success rate.


Rookie third-round pick Ted Hurst had the opportunity for a breakout game, earning seven targets (21% share), including two in the end zone, while posting a 20.7 aDOT. It was not to be, as he only turned these chances into two catches for 27 yards.

Patriots 20, Steelers 3

A TreVeyon Henderson touchdown run with 8:22 left in the first quarter opened the scoring; New England’s win probability did not dip below 70% for the rest of the game.


Pittsburgh was done in by negative plays from Aaron Rodgers, losing more than 25 expected points on sacks and turnovers. The veteran was sacked four times on 43 attempts, lost a fumble on one of those sacks that was returned for a Patriots touchdown, and threw an interception.


After airing it out in Week 1 against the Falcons, Rodgers reverted to his short passing ways on Sunday. His aDOT dropped from 10.2 to 5.4, which was below his season average last year that was one of the lowest in the league.7

Henderson returned after missing the opener and got the bulk of New England’s carries; he had 16 rushes compared to six for Rhamondre Stevenson (and two for Corey Kiner).
Stevenson was the more efficient runner though, even after accounting for Henderson’s long touchdown run. Stevenson gained 43 yards (7.2 yards per carry, 50% success rate), compared to Henderson’s 76 yards (4.8 yards per carry, 38% success rate; his touchdown run provided the bulk of his production, as he averaged 2.5 yards on his other 15 carries).
Stevenson was also targeted twice, while Henderson did not have a pass thrown his way, though the former fumbled on his lone reception (Stevenson ran 11 routes, compared to 10 for Henderson, per Pro Football Focus’ Nathan Jahnke).
On Sunday, Henderson took the bulk of the early down work with Stevenson operating as the primary third-down back, but it’s possible the latter lost work due to Mike Vrabel putting him in fumble timeout. Jahnke notes that Stevenson was on the field for the Patriots’ first four plays before his fumble, and then got outsnapped by Henderson, 21-6, on New England’s subsequent five drives. On the four drives that followed that sequence, the snap distribution was 12-9 in favor of Henderson.

For the second straight week, DK Metcalf badly undershot his fantasy points expectation based on the quantity and quality of his targets. Against New England, he earned nine targets but only turned them into four catches for 27 yards.
Among running backs, wide receivers and tight ends, only Washington’s Terry McLaurin has a bigger gap between expected fantasy points and actual fantasy points this season.
Panthers 34, Falcons 3


Carolina had roughly a 34-point net edge in expected points, with 28 of them coming on five Atlanta turnovers. Cooper Rush threw two interceptions and lost a fumble, before giving way to Jack Strand, who threw a pick and lost a fumble himself.



Perhaps the Atlanta defense should be on our radar as a unit that allows a high rate of deep passes. After Aaron Rodgers shed his checkdown-happy ways in Week 1 against the Falcons, Bryce Young had an 8.6-yard aDOT on Sunday. Last season, Young ranked 34th (out of the 38 quarterbacks with at least 200 dropbacks) with an aDOT of 6.5, while Atlanta allowed the third-highest aDOT (8.7) of any defense. Perhaps there’s a big Christian Watson game coming up on Thursday night?


Darren Waller only needed three targets to be the week’s fifth-highest scoring fantasy tight end. Just like we all thought.
Cowboys 37, Commanders 20


Dallas had a net advantage of nearly seven expected points on field goals. Cowboys kicker Brandon Aubrey made all three of his field goal attempts, including a 60-yarder; his counterpart on Washington, Drew Stevens, was 2-for-3, with makes from 27 yards and 47 yards out and a miss from 51.


Dak Prescott took full advantage of the weak Washington pass defense, completing 26-of-31 passes for 279 yards and four touchdowns. His CPOE was +18.0%, the highest mark of Week 2.

Another week, another inefficient performance from the Cowboys defense.
Marcus Mariota was effective in relief of the injured Jayden Daniels, completing 11 of 16 passes for 111 yards and a touchdown. He had a CPOE of +8.0% and a dropback success rate of 62%, compared to marks of +3.5% and 41%, respectively, for Daniels.


Raiders 26, Chargers 14

I think it’s safe to officially call the Chargers’ start to the season a disaster, as they have dropped consecutive home games8 to two of 2025’s worst teams. Los Angeles will follow these embarrassing losses up with a gauntlet that will take them into November, as their upcoming slate includes road games at Buffalo and Seattle, a home game against Denver, a trip to Kansas City and a nominal road game versus the Rams.

Turnovers went a long way towards deciding the game; neither team moved the ball all that well (35% success rate, 5.0 yards per play for the Chargers; 34% success rate, 5.1 yards per play for the Raiders), while Los Angeles lost the turnover battle, 3-1.
However, this margin could have been even worse: the Chargers fumbled six times and lost only one of them.
Three of these fumbles were credited to Justin Herbert, and while the Chargers recovered all of them, Herbert still threw two interceptions.
Omarion Hampton was the guilty party on the Chargers’ lost fumble, marking the second week in a row he coughed up the ball.



Kirk Cousins had a very solid game, throwing for 253 yards and three touchdowns (with one interception and two sacks) on 31 pass attempts.
Cousins pushed the ball down the field to the tune of a 9.8-yard aDOT and was most effective on intermediate and deep throws. On throws between 10 and 19 yards down the field, he was 6-for-10 (+7.4 EPA) and on throws of 20 yards or more, he was 2-for-3 (+3.9 EPA); on throws shorter than 10 yards, he netted minus-3.0 EPA and had a below average 44% success rate.


Ashton Jeanty had the volume that warranted a big day, as he received 21 carries (four in goal-to-go situations) and earned seven targets. However, he only gained 48 yards on the ground and caught four passes for 15 yards, and he did not score.
Broncos 20, Jaguars 13



Jacksonville had the edge in production on high leverage downs (third/fourth down and plays in the red zone) and the two teams both had 46% success rates. Denver’s edge came on big plays and sacks; in the explosiveness department, the Broncos had five plays of 20-plus yards to Jacksonville’s three, netting about three expected points.
They also sacked Trevor Lawrence twice, while Bo Nix was not sacked himself, adding roughly four more expected points to their ledger.

All five of Denver’s explosive plays came through the air, as the Broncos were in the 91st percentile in 20-plus-yard plays per dropback; Bo Nix was 3-for-4 on passes thrown at least 20 yards downfield.


Like Kenneth Walker, J.K. Dobbins was stuffed three times at the goal line.9
Dobbins also left the game with an injury in the fourth quarter, while RJ Harvey missed the game entirely. Jonah Coleman led the Denver running backs in snaps (25) and targets (three), while matching Dobbins’ 10 carries and Tyler Badie’s six routes run, per Jahnke, who wrote: “After Dobbins’ injury, Coleman became the clear early-down back, with Badie playing on third downs and a few second-and-long plays.”
Badie was on the field for 16 snaps, was targeted twice, and received a single carry.

Seahawks 31, Cardinals 7

Perhaps this one was not quite as lopsided as the final score indicates, as the score was tied at halftime and Seattle did not go up by two scores until kicking a field goal to make it 17-7 with 6:47 left in the third quarter.





I’m aware I already did the Rob Ritchie bit in an earlier post, but Marvin Harrison, Jr.…boy I don’t know.

I don’t have much to add that hasn’t already been said about Jaxon Smith-Njigba (nine catches on 11 targets for 155 yards and three touchdowns); if I did, I’d exhaust my superlatives budget and it’s only Week 2.
Seahawks rookie running back Jadarian Price left the game in the fourth quarter, with Emmanuel Wilson taking on his role as the early-down back, after serving as Seattle’s primary goal line back throughout the game, per Jahnke’s analysis. As part of what was an apparent theme this week, Wilson failed to score on five goal-to-go carries.
49ers 35, Dolphins 13






For the second straight week, Kaelon Black ate into Christian McCaffrey’s workload on the ground, though it’s difficult to discern how much of this is the 49ers attempting to limit the beating their 30-year-old star takes in blowouts.
Whatever the reason, McCaffrey had 10 carries to Black’s seven, while the snaps were 27-17 in favor of McCaffrey, per Jahnke (in the 49ers’ 27-7 win over the Rams last week, Black outcarried McCaffrey 14-10, while McCaffrey was on the field for 36 snaps to Black’s 28).
While Black is seeing a healthy workload, McCaffrey is still earning the high value touches both in the passing game and near the goal line. McCaffrey leads all 49ers (wide receivers and tight ends included) in targets with 12 (Black has one) and has received all five of the team’s goal-to-go rushes.

Is there a petition going around for the Dolphins to trade De'Von Achane to a contender? If so, I’d like to sign it.
1 I use my own expected yardage and expected touchdown models and combine them with the nflverse completion probability model. You can find the code for touchdown and yardage models, in addition to the code I use for this analysis in this GitHub repository.
2 To be fair, the expected points total is a bit inflated here, as it reflects my model calculating that Walker had 1.9 expected rushing touchdowns. 1.7 of these expected touchdowns came on three successive goal line carries that Indianapolis stuffed. In reality, Walker obviously could not have scored more than one touchdown on these runs. In the past, I have considered adding something akin to the “Flurry Adjustment” the hockey analytics site MoneyPuck.com uses for its Expected Goals calculation to account for situations like this. However, I haven’t landed on the best way to apply the concept to football, and feel the juice probably isn’t worth the squeeze anyway. I think the actionable takeaway here is the Chiefs want to give goal line touches to Walker.
3 Point-per-reception scoring.
4 The 2012 Panthers had an 80% success rate on designed runs in Week 13 of that season against the Chiefs. Sunday’s Ravens are tied with the 2021 Buccaneers, who managed their 78% rushing success rate in a Week 12 game against the Colts.
5 My model projected him to gain about 32 receiving yards.
6 This was such a no-brainer spot that the model actually said it would have been slightly more advantageous for the Jets offense to go for it even after taking a delay of game penalty and bringing up a 4th-and-6.
7 Rodgers’ 6.1 aDOT ranked 37th out of the 38 quarterbacks with at least 200 dropbacks.
8 Though at times, Sunday’s matchup sounded like a Raiders home game.
9 Also like Walker, his expected fantasy total is inflated since a player cannot score multiple touchdowns on a single drive.
