Three days removed from one of the best playoff games in recent memory, a sour taste lingers in the mouths of Packers players, coaches, and fans. Green Bay’s playoff push ended with a heartbreaking playoff loss to an NFC West opponent for the second year in a row. A roller coaster season met with inconsistencies, injuries, and frustration costed Green Bay their fifth straight NFC North title after a promising 6-0 start and favorites to make the big game.

Games, however, are not won by preseason championship odds. The Packers offense, filled with promising young talent, a two-time MVP, and returning their entire starting offensive line, failed to live up to the expectations set by many. We’ll take a look at how players at each position fared throughout the season, including season stats for impact players and a grade for the respective units.

Today, we’ll start with the offense.

NOTE: Grades are given on an A-F scale, A being the highest.

Quarterbacks

Aaron Rodgers: 60.7 completion %, 3,821 yards, 31 TD, 8 INT, 6.7 avg, 92.7 Rating, 64.9 QBR

A year removed from his second MVP, Aaron Rodgers puts up, arguably, his worst statistical year since taking reigns as a starter in 2008. Career lows in completion percentage, yards, and passer rating to go along with a career high in attempts per game tells the story of a frustrating year for number 12. Against Denver, Rodgers posted a measly 77 yards passing. In a full game. Before this season, I would have bet my life savings that would never happen. Rodgers went the final nine games (including playoffs) without a 300-yard game, longest such stretch of his career. His completion percentage in those games? 56.7 percent. What those numbers don’t show is the loss of his #1 receiver before the season began, a hobbled offensive line all year, and the ineptitude of his healthy receivers to get open. Rodgers overcame 46 sacks, kept his interceptions in single digits, and led the Pack to 11 wins before the season’s end. Don’t forget two incredible Hail Mary tosses that are not from this earth (seriously, both throws are extraterrestrial). All things considered, Rodgers had a down year. With that being said, most other teams in the NFL would gladly take 2015 Aaron Rodgers as their starting quarterback. Here’s to 2016 Aaron Rodgers.

Grade: B-

Running Backs

Eddie Lacy: 187 attempts, 758 rushing yards, 5 total TD (3 rushing), 4.1 avg, 4 fumbles

James Starks: 148 attempts, 601 rushing yards, 5 total TD (2 rushing), 4.1 avg, 5 fumbles

The question no one could find the answer to resides in this group: What was going on with Eddie Lacy? Lacy is a big boy, but concerns grew at the start of the year as his wide frame appeared wider. It was a head-scratching season as a team, but none were harder to figure out than Lacy. He was benched before the start of the game in Detroit because he missed curfew the night before. This ended up giving practice squad back John Crockett his first touches, who showed some promise. Lacy’s playing time fluctuated significantly throughout the season, which probably didn’t help him find his groove. Five times Lacy carried the ball five times or less after going all of last season without less than double-digit attempts. Eddie still ended the season as the Packers leading rusher, though.

A bizarre year for Lacy gave James Starks plenty of opportunities, but his problems protecting the ball kept McCarthy hesitant from giving him more touches. Starks had a big game against San Diego when he ran a career long 65-yard touchdown. The run game was effective for most of the year and helped counteract a struggling pass offense. Green Bay ran for at least 100 yards in 12 of the 18 games and was one of the more consistent piece on an inconsistent team.

Grade: C+

Wide Receivers

James Jones: 50 receptions, 880 receiving yards, 8 TD, 55.6 yards/game, 3 drops

Randall Cobb: 79 receptions, 829 receiving yards, 6 TD, 51.8 yards/game, 6 drops

The was easily the most disappointing unit of the Packers roster. Even after Jordy Nelson went down with a torn ACL, many believed Green Bay sported one of the better receiving cores with Randall Cobb and Davante Adams (Rodgers’ preseason MVP) poised for breakout years, the re-signing of James Jones, and rookie Ty Montgomery coming into play.

Well, this group got straight up exposed. Adams’ hands must have been lathered in grease before every game because he couldn’t catch a cold. Cobb’s strength lies in the middle of the field where he can work in space, but there was not much space to work with without an outside threat. Jones, as reliable as he was, was just slow. And Montgomery’s season ended in Week 6 after a high ankle sprain. Montgomery’s loss limited the dynamic potential of the offense and took another weapon away from Rodgers. Jeff Janis made his name known with big plays on both offense and special teams, earning more playing time as Adams struggled and others were hurt. Jared Abbrederis came around at the end of the year and showed some impressive plays in his limited roles. All in all, these receivers couldn’t get open. As a result, Rodgers held onto the ball longer, took more sacks, and had a hard time moving the ball downfield. The best offense for Green Bay was schoolyard ball. Defenses played single-high safety man coverage and could pack eight men in the box to take away the run game, forcing Aaron Rodgers and his receivers to beat them (that’s not how it’s suppose to be…). A healthy Jordy won’t cure all, but this offense needs him.

Grade: F

Tight Ends

Richard Rodgers: 58 receptions, 510 receiving yards, 8 TD, 31.9 yards/game, 2 drops

The tight end position seemed empty for most of the year. Richard Rodgers emerged as the #1 option while Andrew Quarless sat on injured reserve designated for return. Justin Perillo got a few opportunities to produce but didn’t see much game action.

Still, Rodgers was the only one with any significant impact. His cinder-block feet but reliable hands made him frustrating to watch at times. The guy can catch the ball, great! But he couldn’t move after the catch. He gained 12% of his receiving yards on one play and 28% of his receiving yards in one game. Can you guess the play and the game? His blocking was suspect but his reliable hands and lack of better options kept him on the field. This position is a big need that should be addressed in the offseason, especially seeing the difference a lethal pass-catching tight end can make (see: Jordan Reed, Greg Olsen, etc.). Jermichael Finley has yet to be sufficiently replaced and Thompson needs to give Aaron Rodgers a legitimate tight end, even if that means spending in free agency.

Grade: C

Offensive Line

All five starters returned from one of the top-performing offensive lines in 2014, sustaining consistency and retaining talent that does not happen often. Injuries rattled the offensive line throughout the year, resulting in all five players being put on the injury report at the same time. T.J. Lang fought through a shoulder injury that will require offseason surgery and still performed well. Josh Sitton earned second-team All-Pro honors for a third straight year. Their worst game of the year came in Week 16 against Arizona without left tackle David Bakhtiari. Don Barclay replaced him and got beat repeatedly as the unit gave up, collectively, 9 sacks on the day. Week 1 against Chicago was the only game Aaron Rodgers didn’t get sacked.

One of the biggest weaknesses of the Packers offense was the inability to convert short-yardage situations. A combination of poor play-calling and losing the battle up front took the offense off the field earlier than expected. The cause-and-effect of poor receiver play inflated the number of sacks given up.

On the bright side, the unit played a strong two games in the playoffs holding Arizona to only one sack the second time around. They led the 12th-best rushing attack in the league and were 13th with 4.2 average yards/carry. Props to the big men up front for battling injuries and finishing the season on a high note.

Grade: C+