If you had a low opinion of Josh Allen going into the 2018 NFL Draft, we wouldn’t blame you. The numbers didn’t paint him as a first-rounder, and a few games into his rookie season, the Bills quarterback didn’t look like one, either.

His accuracy was all over the place last year, when he completed a league-worst 52.8 percent of his passes. He also tossed 12 interceptions, two more than his touchdown pass total. His rookie season showcased not much else but a strong ability to run. He finished second among quarterbacks in rushing with 631 yards, trailing only Lamar Jackson.

What the Bills needed from Allen was for his arm to catch up with his legs. This season, that has started to happen.

Allen has the Bills sitting at 9-3 (helped mightily by the league’s third-ranked defense), they’re coming off their first signature win of the season against the Cowboys. That game also saw the quintessential Josh Allen moment — a nearly blown fourth-down sneak where he refused to go down. On fourth-and-1 in a tie game, Allen fumbled and then somehow averted disaster with his athleticism, saving what would become a scoring drive after nearly blowing the whole dang thing.

It was arguably the turning point of the game, but was it a good play or not? Is Josh Allen a good quarterback or not? That’s what we’re here to find out.

So let’s take a look at his strengths and flaws as they make a run at the postseason.

Here’s what Josh Allen is doing well

Allen is a different breed of quarterback just based on running style alone. He can make people miss, but unlike guys like Lamar Jackson and Deshaun Watson, when Allen runs he is typically the one to initiate contact. If Jackson runs around a defender, then Allen tries to plow through that same defender. It works a lot of the time, but it could make him more exposed to injuries.

That doesn’t mean he can’t avoid tackles, though. Like this run below, from the Bills’ Week 11 win over the Dolphins:

The Bills really sold out on this fake, to the point where no fewer than six Miami defenders bought into stopping the running back. Instead, Allen showed off his running ability, including his ridiculous acceleration. That play wound up being a 36-yard gain.

When he throws, I was absolutely struck by the velocity on his passes, especially when he’s on the run. Allen has an effortless release that constantly delivers beautiful bullets.

Observe another play against the Dolphins:

Of note, Allen clearly went through his reads on the throw. A common criticism before the draft and throughout his rookie season was that he simply didn’t get his eyes around the whole field. He’s much more patient with that this year, and delivered that strike to John Brown.

Let’s keep it focused on his arm. Here’s a throw from the Cowboys game:

Third down with 10 yards to go from his own end zone? Yeah, this is a recipe for disaster. But instead of rushing a play and making a mistake, he went through his reads, calmly staying in the pocket before rolling out.

He didn’t run — like he probably would have as a rookie — and fired off another laser pass to his receiver, resulting in a first down and then some. There are so many ways that play can go wrong, and the Allen from a year ago probably doesn’t make that same throw.

Now, let’s look at my favorite Allen pass yet:

He read the zone after escaping the pocket to avoid the pass rush, took it to the line of scrimmage, then threw an off-balance pass to Cole Beasley, who ran a great route to get to the hole in the zone. When mobile quarterbacks throw on the run, there is a tendency to overcompensate and put a little too much air under the ball, but it hasn’t been a problem for Allen.

Here’s what Allen struggles with still

Allen has to be able to find the right balance of run vs. pass. While his ability to run is there, his decision-making can be questionable.

Most of Allen’s struggles involve him using his considerable arm strength or running skills at the wrong times. His instincts aren’t exactly on par with, for example, Jackson. When he gets pressured or behind on a play, he tends to make mistakes. A lot of them. Rookie mistakes.

Let’s start with a look at some plays from the Bills’ Week 13 win in Dallas.

Above is an example of Allen eluding the pass rush and electing to run the ball. However, it was a third-and-long situation, and Allen was well short of the first-down marker.

The way to fix that is easy: avoid the rush and then reset your eyes downfield. Well, it’s not easy per se, but it is ideally what you want out of your quarterback. Allen had no real chance of picking up all 13 yards on the ground, and after he evaded the first Cowboys defender, he had time and was still behind the line of scrimmage. He even had an underneath option on the right side who stood a much better chance of getting the first down.

He also made some mistakes with his arm in that game, though he managed to not throw an interception. One of his worst passes is below:

Allen, like many young quarterbacks, has a tendency to lock into his top read. He sees single coverage and flings the ball that way too often. He doesn’t yet have the touch on his deep balls, especially down the sideline, to beat the one-on-one coverage — at least not without a game-breaking wide receiver like DeAndre Hopkins or Odell Beckham Jr. (Allen has better weapons now than he did as a rookie, but Brown and Beasley aren’t exactly in that category.)

In the play above, Allen had three receivers past the first-down marker, but he locked in on the sideline option and it was nearly intercepted as a result.

Speaking of intercepted ...

Going back a week to a win over the Broncos — a game where Allen played pretty well overall — we find a pretty bad interception. While Allen has a rocket for an arm, here that worked to his disadvantage. His pass sailed right over the head of his receiver and the two guys covering him, only to be easily picked off by deep safety Justin Simmons.

I don’t think Allen ever saw that safety, which is an issue because he had plenty of time to throw the ball. A couple more seconds of letting that play develop, and the Bills might have gotten a large gain out of it. Instead, it was an interception.

Allen’s worst game of the year came against the Patriots in Week 4, in which he threw three interceptions. Let’s look at one of the three:

This was the worst of his three picks against New England. I like Allen’s ability to heave the ball downfield with such a compressed throwing motion on the run, but again, it’s his decision-making that hurt him.

Allen got out of the pocket to escape the rush and tossed the ball downfield, where he had two receivers. The problem: there also happened to be three Patriots defenders. One of those defenders made a big play by getting his feet down in bounds.

Allen’s second interception in that game was one that fell woefully short of his target, a contrast to the overthrown pick against the Broncos. There is a concern with his touch, especially on passes down the sideline. Allen has only completed 10 of 44 passes thrown 20-plus yards this season, or 22.7 percent, per Next Gen Stats.

Since throwing three interceptions against New England, though, Allen has bounced back. He has just two picks in his last eight games.

Allen has excelled when he runs the ball, fires bullet passes with precision outside the pocket, and in general, I think he handles the pass rush well. Most of his issues stem from costly mistakes.

But my main takeaway from watching a lot of film is that he’s developed as a passer much more than most would give him credit for. The naysayers weren’t necessarily wrong — Allen still has games when he just can’t move the ball through the air, and that inconsistency is the biggest thing working against him right now.

You can see Allen’s improvement as a passer on the stat sheet.

Allen as a rookie (12 games) : 52.8 completion percentage, 10 TDs, 12 INTs, 6.5 yards per attempt, 67.9 passer rating

: 52.8 completion percentage, 10 TDs, 12 INTs, 6.5 yards per attempt, 67.9 passer rating Allen in 2019 (12 games): 61.5 completion percentage, 16 TDs, 8 INTs, 7.1 yards per attempt, 88.3 passer rating

Allen has shown this season that he’s trending in the right direction. He has the arm talent and the leg talent, even if the mental aspect needs some work. Still, he’s closer to a good quarterback than he is to a bad quarterback.

If anything, he’s much better than his doubters predicted. That bodes well for the immediate future of the Bills, who are suddenly competing for playoff seeding after finishing 6-10 just a year ago. If Allen continues to improve, the long-term future is bright for Buffalo, too.