Offense

Josh Allen lit the world on fire in his third season, leading Buffalo’s 3rd-ranked offense to a historically strong season and garnering 4 MVP votes in the process. He won me over with his talent, leadership, and toughness. His arm strength was on full display but he also showed that he can pick his spots and utilize the variety of weapons at his disposal. I’m not sure what accounted for his tremendous improvement in 2020. Diggs certainly helped. And maybe he was more comfortable without crowd noise. Perhaps Brian Daboll figured out how to maximize Allen’s talent, or he just got comfortable in his third year in the NFL. It was likely a combination of these things. Regardless, I’m convinced Josh Allen will continue his success and be an elite quarterback for years to come.
Stopping the Bills offense was extremely difficult. You had to exert pressure against a good pass-blocking line without sacrificing coverage. This typically meant you did not want to blitz the Bills, because they had so many weapons at their disposal. In addition to Diggs, who elevated his game and ran a full route tree in 2020, the Bills role players on offense all did their job well: John Brown provided a reliable intermediate and deep option when healthy; Cole Beasley continued to get separation and showed excellent hands (particularly on short routes and 3rd-down conversions); Gabriel Davis emerged as another deep threat; and Isaiah McKenzie provided a spark with his elite speed. Even if you managed to cover all the weapons, you had to stay home and stop Allen from scrambling.
By contrast, the Bills did not run the ball particularly well with the running backs. So teams that were strong against the run but vulnerable to the pass struggled in particular against the Bills.

This chart shows the Bills’ offensive Adjusted Rating in games ranked by their opponents’ relative strength at stopping the run (yards per carry allowed) versus the pass (net yards per pass play). The Bills performed consistently well against teams on the left, who were better at stopping the run: NYJ (+1.10 and +1.28). IND (+0.73), SEA (+1.04), NE (+0.56 and +1.13), and MIA (+1.11 and +1.01). But outside of the weird Tuesday night game against the Titans, every game in which the Bills offense struggled came against teams that performed better against the pass than the run: BAL (+0.19), ARI (-0.17), LAC (+0.41), and KC (-0.44 and +0.09).
Diggs was a dominant force in 2020. He led the league in targets, receptions, and yards. Typically when a team uses a #1 wide receiver to that extent, the team becomes vulnerable if an opposing defense can effectively take him out of the game plan (through double coverage or a lockdown corner). But the Bills had so many offensive weapons that Diggs’ specific production did not dictate the Bills’ offensive success or failure in a given game.

This chart shows the Bills’ offensive Adjusted Rating in games where Diggs had 100+ receiving yards (blue line) versus games where Diggs had fewer than 100 receiving yards (red line). There was basically no difference in overall offensive performance. Allen led a successful offense regardless of who he was throwing to.
But Diggs did show signs of frustration at times when things did not go his way. Against the Chiefs (who held him to just 46 yards) the Bills were attempting a late comeback and after one play he walked slowly back to the line of scrimmage when Allen was trying to hurry up and the rest of the offense was ready. Granted, the comeback attempt was likely futile. But this was a poor look for an elite player. It was a momentary reminder of his potential attitude problems that sometimes can emerge. It’s fair to have a little concern that he may have some issues if he doesn’t live up to his now enormous expectations.
The offensive line did a great job protecting Josh Allen but had its problems run blocking. The Bills were a below-average rushing team because they could not consistently establish or find running lanes. This could be attributable to poor offensive design, lack of running back (or quarterback) vision and decision-making, or just bad blocking. Regardless, there is definitely room for improvement.
Buffalo’s Rushing Breakdown
Category | Stat | NFL Rank |
---|---|---|
Avg. Yards Before Contact | 1.9 | 30th |
Avg. Yards After Contact | 2.3 | 3rd |
There is no real reason to anticipate regression in 2021. The Bills drafted Allen to deal with the Buffalo weather and he established that he is more than capable. Despite losing John Brown (who dealt with injuries anyway), the offense should function just as effectively with all the remaining pieces. They all bring something meaningful to the offense but (outside of Allen and Diggs) none of them are essential. I trust Brian Daboll to continue to maximize this offense and anticipate a repeat in 2021 unless Allen or Diggs suffers an injury.
Defense

The Bills defense was surprisingly mediocre in 2020 despite returning almost all of its players from a strong 2019 campaign. Stud linebacker Matt Milano did miss some time but they weren’t much better with him on the field. They finished ranked 18th, primarily because they struggled to stop opposing running backs and tight ends. In terms of yards per play, they were 12th-best against the pass but 24th-best against the run.
The Bills defense was built for speed and lacked size. As a result, teams that were big up front bullied them by running the ball.

This chart shows the Bills’ defensive Adjusted Rating ranked each opponent by its non-QB rushing yards on the season. Teams on the left relied more heavily on rushing, typically behind big, strong offensive linemen. The Bills struggled with several of these teams, including TEN (-0.57), IND (-1.20), and LAR (-1.32). But teams on the right had fewer rushing yards from running backs, typically indicating a lack of offensive line power. The Bills matched up well against them, leading to strong performances against PIT (+1.21), MIA (+1.12), and NYJ (+1.25), who each struggled with run blocking.
The Bills also struggled with the Chiefs, who did not run a lot in 2020 but changed their game plan to specifically target the Bills’ defensive weakness. They went extremely run-heavy against Buffalo in the regular season and it paid off:
KC Rushing v. BUF
Rushes | Yards | |
---|---|---|
v. BUF | 46 | 245 |
Rest of Season | 23.8 | 103.6 |
This defensive liability meant that teams who racked up rushing attempts against Buffalo performed well. While there is some obvious correlation between winning and running the ball that is baked into this, the difference was more pronounced against Buffalo.

This chart shows the Bills’ defensive Adjusted Rating in each matchup ranked by how many rushing attempts their opponent had. It did not always come down to game script. The Rams were down 28-3 in their matchup and still ran 32 times in a comeback attempt that probably should have been successful. And the Cardinals were down 23-9 in their matchup before pulling off a successful comeback in a game where they ran 35 times.
Despite being weak to the run, they did perform fairly well against some of the best running quarterbacks in the league. They completely shut down Lamar Jackson in the playoffs and also held Russell Wilson to 2 rushes for 5 yards. Even Kyler Murray’s 11 for 61 was a below-average game by his standards. Running quarterbacks typically rely on speed, as opposed to power, which may explain why the Bills performed relatively well against these players.
Tre’Davious White and the rest of the secondary also played well. It wasn’t easy to pass deep against Buffalo, so opposing offenses tended to focus on throwing to tight ends and slot receivers. In fact, only the Jets allowed more catches and yards to tight ends than the Bills. They had a soft spot defensively in the short part of the field. Meanwhile, they were fairly strong against wide receivers:
BUF Defense (TEs v. WRs)
Catches | Rank | Yards | Rank | |
---|---|---|---|---|
Tight Ends | 92 | 31st | 993 | 31st |
Wide Receivers | 192 | 6th | 2,316 | 3rd |
Ultimately you beat Buffalo by running well behind a strong offensive line. Not only did this help your offense perform, but it kept the ball out of Josh Allen’s hands. It will be interesting to see if the Bills beef up with some size on defense or stick to their focus on speed and hope that a healthy Milano returns them to their prior form.
Putting it All Together
Betting Takeaways
- Overall, the Bills are fairly rated heading into the offseason. They took a massive step forward in 2020 and should continue on that path. They are appropriately favored to win the AFC East and should do so barring major injuries.
- Expect Buffalo to outperform against teams that struggle to defend the pass relative to the run, which is far less important to the Bills’ success.
- Given the plethora of weapons at Josh Allen’s disposal and the diversity of what they bring to the table, confidently back the Bills against teams with only one good cornerback or teams that rely on blitzing to get pressure.
- Expect the Bills to outperform defensively against teams that like to pass downfield, particularly if they have no run game and poor run blocking.
- Expect the Bills to underperform defensively against teams with a big, strong offensive line and a solid ground game.
Fantasy and Player Prop Takeaways
- Josh Allen is elite and will continue to put up monster fantasy numbers with his combination of passing and rushing. Diggs should also have another good year, although I’m skeptical he will repeat his 2020 numbers.
- There are plenty of passing yards to go around in Buffalo. Gabriel Davis (non-ppr) and Cole Beasley (ppr) make good filler depth options depending on the matchup.
- Anticipate some improvement in the run game but don’t bank on it. Either way, it’s impossible to know whether Singletary or Moss will be more valuable, as both bring a useful skill set to the offense.
- Play running backs and tight ends confidently against Buffalo’s smaller defense, and avoid number one wide receivers when White is healthy.
Application: SharpClarke Bet of the Year
In Week 9, the Bills hosted the Seahawks as 3-point underdogs. The teams had fairly even Ratings so I naturally liked getting the home underdog Bills. But matchups made the play stronger on both sides. Offensively, Seattle had not done well against the pass. I projected Allen to take full advantage. And defensively, the Seahawks did not have a great offensive line and Chris Carson was not playing. Without being able to rely on a ground game, I thought the Seahawks would not score easily against Buffalo. BUF +3 was an easy choice, and the Bills ended up winning outright, 44-34, because Josh Allen was virtually unstoppable.