The Bills had raised expectations heading into 2012 after one of their most productive offseasons in team history.

Instead, it was more of the same old, same old.

The Bills missed out on the playoffs for the 13th consecutive season -- the longest active streak in the NFL -- and are facing an offseason of change over the next several months. As you might imagine, that means their final grades for 2012 finds them well short of the honor roll.

Offense: D

The Bills had two bright spots on offense throughout the year -- RB C.J. Spiller and WR Stevie Johnson . Spiller was electric in taking over the starting RB role and became the seventh player in NFL history to finish a season with an average of at least six yards per carry (with a minimum of 200 attempts). He finished the year with 1,244 yards, six touchdowns and an average of six yards per attempt. Johnson became the first Bills receiver to ever top the 1,000-yard mark in three consecutive seasons, reeling in 79 passes for 1,046 yards and six touchdowns. Spiller and Johnson didn’t get much help, though, which is why this grade is so low. QB Ryan Fitzpatrick (3,400 yards, 24 TDs, 16 INTs) struggled with his accuracy all season and has almost certainly started his last game as a Bill. The Bills desperately missed slot WR David Nelson (torn ACL) and could use another weapon or two alongside Johnson. Buffalo finished 19th in total yards and 21st in points.

Defense: F

The biggest reason for optimism heading into 2012 was Buffalo’s defense -- the Bills added DEs Mario Williams and Mark Anderson in free agency and selected CB Stephon Gilmore in the first round of the draft. Well, Buffalo’s defense was historic all right -- but for all the wrong reasons. The Bills gave up 435 points, the second-highest total in team history, as it was actually one more point than the team’s 2011 total. Defensive coordinator Dave Wannstedt came under fire for the simplicity of his schemes, and the Bills’ looks didn’t catch anyone by surprise. Williams struggled throughout the first half of the season but bounced back after undergoing wrist surgery in Week 8. He finished with 10.5 sacks. LBs Nick Barnett (112 tackles, two sacks, three forced fumbles) and Kelvin Sheppard (80 tackles, two sacks) struggled mightily. The Bills need a couple new starters at both LB and CB before they can even think of fielding a competitive unit.

Special teams: C+

Buffalo’s coverage units weren’t always spectacular, but the Bills’ return game was. Leodis McKelvin was excellent on punt and kick returns; McKelvin established a franchise record with an average of 18.74 yards per punt return for the season. He also had two punt returns for touchdowns. The jury is still out on the surprising release of P Brian Moorman; Moorman, who signed with Dallas, actually had a slightly better net in 12 games with the Cowboys (38.9) than his replacement, Shawn Powell (38.1). Moorman is the best punter in team history, and that move didn’t go over well among the fan base at the time. K Rian Lindell made 21 of 24 field goal attempts. One pleasant surprise was DT Alex Carrington; the backup defensive lineman blocked five kicks on the season (four field goals, one extra point).

Coaching: F

Chan Gailey tried his best to turn around the Bills, but in the end he simply didn’t get the results on the field. When you go 6-10 for the second year in a row -- and have a 16-32 overall record in Buffalo -- that's a failing grade. Gailey’s reluctance to give Spiller his rightful share of the load was perplexing throughout the year, as his best player averaged just 13 carries a game. Gailey was also loyal to Fitzpatrick to a fault, as Fitzpatrick was Buffalo’s best option under center, but he just wasn’t cutting it this year. Gailey also put too much faith in Wannstedt, as Buffalo’s defense was horrendous throughout Gailey’s three-year tenure and is the biggest reason for his dismissal.

Cumulative GPA: 0.825

For more updates on the Bills follow correspondent Mark Ludwiczak on Twitter @CBSBills and @MarkLud12.