The grades are in for the Bills' 27-24 win over the Indianapolis Colts in the wild-card round of the playoffs. And incredibly they're not very good in most areas.

Quarterback Josh Allen and his receivers were outstanding. But hardly anyone else was.

However, an encouraging aspect is that they didn't play near their best game, especially on defense, but found a way to prevail.

"That’s in part because the Colts are a really good team," Bills coach Sean McDermott countered.

Here are the details:

Passing game: A-

Quarterback Josh Allen wasn't perfect. His fumble on the final series nearly cost them the game. But before that, is accuracy, scrambling and running was enough to overcome an outstanding defense and put the Bills in position to advance in the postseason for the first time since 1995.

He completed 26 of 35 passes for 324 yards and two TDs without an interception. He also ran 11 times for a team-high 54 yards.

Stefon Diggs (six catches, 128 yards, one TD) and Cole Beasley (seven catches on seven targets for 57 yards) showed why they were named All-Pros by the Associated Press the day before.

Gabriel Davis, who caught all four passes thrown his way, was similarly outstanding.

Noteworthy: John Brown (zero catches on four targets) was nowhere to be found, which keeps this day for being drags this group's grade down from an A.

Running game: D

Not only was Zack Moss limited to 21 yards on seven carries, but he was carted off with an ankle injury and could be done for the season.

Devin Singletary had just three carries.

If not for Allen producing a game-high 54 yards on 11 carries, the Bills might not have been able to score enough to win.

Pass defense: B-

Colts quarterback Philip Rivers finished with 309 yards but needed 46 attempts to get there.

The secondary performed as well as could be expected for a group that didn't get a lot of help from the pass rush. The Colts' most dangerous receiver, T.Y. Hilton, finished with just two catches for 32 yards.

The Colts' three tight ends, Jack Doyle, Trey Burton and Mo Alie-Cox, combined for 14 catches and 136 yards. But part of that was Rivers getting rid of the ball quickly. Another part was the Bills scheming to keep the ball from going over their heads.

The secondary also held up when needed most on the Colts' final possession.

Run defense: D

Credit the Colts' offensive line for limiting the Bills' pass rush and for springing their running backs for well-timed, damaging runs that produced a total of 163 yards on 30 attempts, which helped keep the ball away from Allen.

The Colts finished with 27 first downs, 472 yards and a 34:17 to 25:43 advantage in time of possession.

In doing so, they could have come up with a blueprint on how to attack the Bills.

Special teams: C-

Returner Andre Roberts had a terrible day, barely being able to pounce on a short kickoff in time to prevent a turnover and finishing with an average of just 17.3 yards on four kickoff returns.

The Bills also allowed a 38-yard kickoff by Isaiah Rodgers.

What saved this group was the continued ascendance of punter Corey Bojorquez (43.5 net average) and rookie kicker Tyler Bass (field goals of 46 and 54 yards).

Coaching: C

In the end, the Colts didn't have an answer for Allen and the Bills' receivers, but they nearly outschemed the Bills enough on offense and special teams to steal the win.

They produced nearly 500 yards of offense and 86 more yards in returns.

On a fourth-and-goal from the 4-yard line near the end of the first half, Colts coach Frank Reich went for it and appeared to make the right call when Michael Pittman was open in the end zone. But Pittman dropped the pass.

Lots of things to correct before their next game.