This is the second in an eight-part series reviewing the 2016 Vikings and looking ahead by position. Previously: Offensive line

Kyle Rudolph's career year for the Vikings was a bright spot, but not enough to boost a toothless red zone offense that ranked 31st in points per red zone drive, according to Football Outsiders. Moving forward, the Vikings could introduce talent at each position given the lack of production outside Rudolph and the potential turnover with Adrian Peterson's contract looming.

Tight ends

Under contract in 2017: TE Kyle Rudolph, TE David Morgan, TE Kyle Carter

Pending free agents: TE Rhett Ellison

Running backs

Under contract in 2017: RB Adrian Peterson, RB Jerick McKinnon, RB C.J. Ham, RB Bishop Sankey

Pending free agents: RB Matt Asiata, FB Zach Line

Grades are based on a 1-5 scale, with '5' marking an excellent season, '4' for above-average, '3' for average, '2' for below-average and '1' for failure to perform. Players who did not accrue a season (weren't on the active roster for at least six weeks) or played in three games or fewer are not graded. Based on game and practice observations, weekly film reviews and interviews. Drops are provided by Pro Football Focus analyst Trevor Lynch.

Kyle Rudolph (4.0): Played a career-high 969 snaps [92.1%] as the tight end in a predominantly three-receiver offense. Sam Bradford's go-to option with 132 targets, most among all TEs. Grabbed career-best totals in receptions (83, third among TEs) and receiving yards (840, fourth). His seven touchdowns were the most since his 2012 Pro Bowl season. Appeared in all 16 games for a consecutive season, a first for his six-year career. Hit a performance escalator of $375,000 on 2018 and 2019 salaries for surpassing 80 catches. At his best running routes, not blocking for the league's worst run game. Tied the team lead with five drops. Flagged three times, twice for holding. Under contract for a $6.8 million salary cap hit next season.

Rhett Ellison (2.5): Made a difficult return from a severe knee injury to be ready for the season opener. Tweaked his knee and was forced to sit out against the Texans. Played 258 snaps [24.5%] in a spread offense that lessened his role. Earned $740,625 in per-game roster bonuses coming off the torn patellar tendon. Caught nine passes for 57 yards. Scored his first rushing touchdown on a surprise sweep in the overtime loss to the Lions. Didn't appear to be the same crushing blocker he was before the injury. Flagged three times. Played a big role on special teams (172 snaps). Pending free agent.

David Morgan (2.5): Drafted in the sixth round (188th overall), touted by the Vikings for his blocking. Active for 12 games, but played little due to early knee issues and an offense that trended away from multiple TE sets following Peterson's knee injury. Showed promise in the preseason, but played just 63 offensive snaps [6%] in the regular season.

Kyle Carter (N/A): Guaranteed $10,000 as one of the team's top undrafted free agent signings out of Penn State. Waived twice and re-signed to the practice squad in December. Inked a reserve/future deal.

Jerick McKinnon (2.5): Led the backfield with 510 snaps [48.5%], admittedly playing "banged up" for parts of 15 games. Popped up on three injury reports with an ankle problem in the second half of the season. Averaged a career-low 3.4 yards per carry in his third NFL season. His 539 rushing yards are the lowest by a Vikings leader since 1993. The closest Vikings rusher to the century mark, peaking at 89 rushing yards in the season finale win against the Bears. Front man in the Vikings' wildcat package, attempting what could be his first and last NFL pass against Dallas. Scored four touchdowns, including two receiving. An effective receiver who can line up all over the formation. Caught 43 passes for 255 yards. Fined $12,154 for his crotch grab during a touchdown celebration against the Giants. Flagged once. Entering the final year of his rookie contract in 2017.

Zach Line (2.5): Played 210 snaps [20%] as the seldom-used fullback. The converted running back continued to show promise and inconsistency as a lead blocker. Minimized in an offense that couldn't support a consistent run game. Had an up and down season on special teams, getting blocked out on Josh Huff's 98-yard kickoff return for a touchdown in Philadelphia. He was not flagged. A pending free agent.

Adrian Peterson (2.0): The Vikings' all-time rushing leader in every major category appeared in three games, two before Peterson said he tore 90 percent of the meniscus in his right knee against the Packers. Underwent a full repair and came back in 12 weeks. Might have played his last game for the Vikings when he took six carries for 22 yards in his Week 15 return, fumbling away his longest gain of 13 yards. Played 84 snaps [8%]. Averaged 1.9 yards on 37 attempts. A year after leading the league in rushing at age 30, Peterson carries a recovering knee and a groin injury into an offseason of uncertainty. The Vikings are interested in keeping him, but only at the right price, which isn't the non-guaranteed $18 million he's due under the current contract. Turns 32 in March.

Matt Asiata (2.0): An undrafted success story, Asiata was moved into the spotlight again without Peterson for much of the season. Played 407 snaps [38.7%] in a split of backfield duties with McKinnon. Scored six of the Vikings' nine rushing touchdowns for a group that had short-yardage issues. Stuffed twice from the Jaguars' 1-yard line last month for a turnover on downs, then later fumbled at the 1-yard line. Asiata is the backfield's most effective pass protector, but really struggled to create on the ground behind a porous front. Averaged 3.3 yards per on 121 carries. Tied Rudolph for the team lead with five drops. Caught 32 passes for 263 receiving yards. Flagged once. A pending free agent.

C.J. Ham (N/A): Promoted to the active roster after Peterson was injured against the Colts. Inactive for two games. Undrafted out of Augustana University in Duluth. Earned a practice squad spot out of camp.

Bishop Sankey (N/A): The former second-round pick signed to the Vikings practice squad in November after the team released Ronnie Hillman. Signed a reserve/future deal.