Despite missing the playoffs, and firing two coaches, there's plenty to build upon for Buffalo going into the off season. Take a look at some bright spots and low lights from Buffalo's 17th straight season without a playoff berth. 
LE'SEAN MCCOY (#25) 28 yo, RB 8th season, 2nd w/ Buffalo
234 rushes for 1,267 yards, 13 td, & 50 catches for 356 yards and 1 td 
MIKE GILLISLEE (#35) 26 yo, RB 3rd season w/ Buffalo
101 rushes for 577 yards 8 td, & 9 catches for 50 yards and 1 td
McCoy’s 1,267 yards rushing rank 10th all-time for Buffalo. Only O.J. Simpson, Thurman Thomas and Travis Henry, have rushed for more in a season. Only Simpson had more touchdowns ... Gillislee was second on the team in yfs and TDs ... The Bills became the first team since the ’71-'72 Lions to have 3 backs with 500+ yds in consecutive seasons ... rushed for a franchise record 29 touchdowns, which broke their previous record of 26 from the '75 season. That mark is tied for 6th in NFL history, and the most since '08 ... Gillislee led the league with 5.7 yards per carry
RICHIE INCOGNITO (#64) 33 yo, G 10th season, 2nd with Buffalo
One of the top guards in the league, and the toughest. Hasn't missed a game in two seasons in Buffalo. A key contributor to a record-setting rushing attack ... Fellow guard John Miller, the team's 3rd rd pick a yr ago, started 16 games as well ... Tackle Jordan Mills also started 16 games after starting just five last season ...
The Bills had the #1 rushing attack in the league for the second season in a row. They actually ran slightly less than in the previous year, for more yards; avg. 5.3 yds per carry as a team vs. 4.8 the season before.
JORDAN MILLS (#79) 26 yo, T 4th season / JOHN MILLER, (#76) 23 yo, G 2nd season w/ Buffalo
TYROD TAYLOR (#5), 27 yo, QB 6th season
269 of 436, 3,023 yards, 17 td, 6 int, & 95 rushes for 580 yards and 6 td
Taylor’s 99.4% rating is second in team history behind Jim Kelly’s 1990 mark of 101.2%... His 580 rush yds broke his team record set last season, for most by a QB, needs 27 yds to surpass Joe Ferguson's team record ... One of a record 9 QBs in the league this season to have an int. rating under 1.5%, indicative of disciplined play and a different era of football...Ranked 25th in the league this season in pass attempts and yards, and had just two 300+ yd passing games ... future in Upstate New York is uncertain. 
LORENZO ALEXANDER (#57) 33 yo, OLB 10th season, 1st w/ Buffalo
Alexander’s 12.5 sacks this season rank second in team history among outside backers, behind Bryce Paup’s 17.5 in 1995 ... Named to the Pro Bowl ... A former 300-lb. DT, Alexander had 9 sacks in his previous nine seasons in the league ... He also finished fifth on the team in tackles ... Signed initially with the idea he would contribute on special teams. 
      Jerry Hughes (#55) 28 yo, DE/OLB 7th season, 4th w/ Buffalo...6 sacks 
Kyle Williams (#95) 33 yo, 11th season w/ Buffalo... 5 sacks
Former pro bowlers ... Also finished 8th and 6th on the team in tackles, respectively. 
ADOLPHUS WASHINGTON (#92) DT 3rd Rd pick 2016
Started 11 of 15 games appeared in ... 2.5 sacks 21 tackles
ZACH BROWN (#53), 27 yo, OLB 5th season, 1st w/ Buffalo
 PRESTON BROWN (#52) 24 yo, ILB 3rd season w/ Buffalo
Free agent addition and former Titan Zach Brown was credited with 149 tackles, second best in the league; he also had 4 sacks, 2 FF’s and a pick., in an all-around career year statistically ...
Fellow backer Preston Brown had 135 tackles of his own, 7th best in the league ...
Preston was 2nd on the team in tackles a yr ago, and the next 3 behind him were off the team this season (Nigel Bradham/Manny Lawson/Mario Williams)
Together, their 2016 tackle production gives them the distinction of being the first pair of LBs to finish in the top 10 in tackles since 
ROBERT WOODS (#10) 24 yo, WR 4th season w/ Buffalo
51 catches 613 receiving yards 1 TD
Woods led the team in receiving yards ... good enough for 82nd in team history ... The team ranked 30th in passing.
CHARLES CLAY (#85) 27 yo, TE 6th season, 2nd w/ Buffalo
 57 catches for 552 yds, 4 td635677958.jpg 
Clay’s team-leading 57 receptions are second most for a TE in a season in franchise history. Pete Metzelaars (who I once met as a kid) had 68 catches in 1993 ... Clay's 552 receiving yards were good for 8th best all-time in Buffalo ... Tied WR Justin Hunter, a late-addition to the team, for most receiving TDs ...
Hunter had just 10 catches in 12 games for the season. 
COREY GRAHAM (#20) 31 yo, SAFETY 10th season, 3rd in Buffalo
The former Raven starter added a steady veteran presence for a secondary that rotated a total of 8 players at safety throughout the season ... Nickell Roby-Coleman had two defensive tds, while Ronald Darby and Graham finished 3rd and 4th in tackles on the team in tackles. 
Former 1st round pick CB Stephon Gilmore had 5 ints; as much as the rest of the secondary combined. 
The 2005 Heisman trophy winner, and free agent RB REGGIE BUSH, produced the least rushing yards in league history ... The No. 2 overall pick in the '06 draft, Bush had 12 carries for -3 yards rushing, and 7 catches for 90 yards and a TD ... for the season. He had a deal for $1.5M
- Free agent WR PERCY HARVIN signed for $1M midway through the season, debuted against his former Seattle teammates in week 9 ... and received no targets ... two weeks later he caught 2 of 4 targeted passes for 6 yards, before being sidelined by injury for the remainder of the season ... The Vikings' '09 1st rd pick appears done in Buffalo. 
- Star WR SAMMY WATKINS played in 8 games and caught 28 passes for 430 yards and 2 tds. These totals include his 7 catch, 156 yd outing in the wk 16 OT loss to Miami. 
- DE SHAQ LAWSON, the Bills' 2016 first round pick started once in 10 games and had 13 tackles and a sack. 
 - 2nd round pick REGGIE RAGLAND never played a down, lost to injury in the preseason.
- Star DT Marcell Dareus missed half the season to suspension, then was unavailable and/or ineffective, finishing with 3.5 sacks and 3 tackles, while starting 7 of 8 games.
AARON WILLIAMS 26 yo SAFETY 6th season w/ Buffalo
- injured for season, second year in a row. 
Williams started 5 of 7 games he appeared in, his absence left a void ... Another injury (suffered a season ending injury in '15 also), again puts his career in jeopardy .... Williams started 52 out of 59 games he appeared in for Buffalo ... Had a 53-yd fumble return TD in wk 3 win.
-An 0-2 start prompts coaching changes, putting Anthony Lynn in charge of play calling as offensive coordinator. 
- Buffalo stood at 4-2 in mid-October, winners of 4 straight, fresh off a 45-16 dismantling of visiting San Fran. They nearly pulled off an upset in Seattle on November 7th, out gaining the Seahawks by nearly 150 yards and holding the ball for over 40 minutes. The loss was their third straight.  
-Buffalo entered December at 6-5, then a fourth quarter collapse at red hot Oakland was followed by a lopsided home loss to Pittsburgh, which wasn’t as close as the final score suggested. The Bills gave up 9 sacks in the two losses and had none of their own. 
-Out of the playoff race by Christmas Eve, the Bills displayed guts in the OT loss to rival Miami...They set a franchise record with 589 yards of offense in the game; but what proved too much for most people, was seeing Dolphins RB Jay Ajayi eclipse the 200-yd rushing mark for the second time this season. Pittsburgh’s Le’Veon Bell ran for 236 two weeks prior, an all-time high vs. Buffalo.
-The Miami game would be Rex Ryan’s last game as Bills coach. Anthony Lynn is promoted to Head coach. The Bills have 3 turnovers in the finale loss to the Jets, ruining their chance to finish the season with the least turnovers in league history. 
Buffalo finished 29th in rushing defense, 19th overall. They ranked 4th in 2014, the season before Ryan’s arrival.