In certain ways, the 49ers season was a success.
The 49ers won six games after starting 0-9.
The 49ers tripled their win total from last season.
The 49ers added quality rookies who improved throughout the year.
The 49ers traded for Jimmy Garoppolo.
The 49ers didn’t fire their head coach.
These are big steps. For the first time since Jim Harbaugh was the head coach, the 49ers can feel good about themselves. They were one of the hottest teams in the NFL by the end of the regular season and could have been dangerous in the playoffs.
But, they didn’t make the playoffs. They eliminated themselves.
Players and coaches made rookie mistakes almost every week during the first half of the season. They started to win when Garoppolo became the quarterback, the schedule got easier, and the rookie players and rookie coaches improved.
Had the 49ers not beaten themselves and lost five games in a row by three points or fewer early in the season, they might be playing this weekend.
They missed an opportunity.
But, they created hope they’ll have more opportunities to make the playoffs in the future.
Hope is good.
Here are the 49ers grades for the 2017 season. And remember, these grades are based on an entire season, not the final seven games. That’s how grades work.
Brian Hoyer and C.J. Beathard survived. That’s the best you can say about them. Neither was skilled enough to function behind the 49ers’ terrible offensive line. Both were mentally broken after five starts. They got sacked 35 times.
Garoppolo got sacked only eight times during his five starts. His quick release allowed him to beat blitzes and pressure routinely. He almost always passed the ball before a defender touched him. And his passes were accurate.
Garoppolo’s completion percentage was 67.4 — fourth best in the NFL among quarterbacks who threw at least 150 passes. And he averaged 260 passing yards per game — ninth best.
But, his touchdown-to-interception ratio was 7-to-5. For comparison, Alex Smith’s TD-to-INT ratio was 26-to-5, or more than 5-to-1. Kirk Cousins’ ratio was 27-to-13, or more than 2-to-1.
Garoppolo’s ratio was roughly 1-to-1, pretty much in line with Hoyer and Beathard.
The 49ers will need more points and fewer turnovers from Garoppolo next season.
Running backs: B.
Fullback Kyle Juszczyk made the Pro Bowl. He’s not a major difference maker, but he’s the best fullback in the NFL.
Carlos Hyde had the most productive season of his career. He played all 16 games for the first time, ran hard the entire season, scored one-third of the 49ers touchdowns in the red zone, gained a career-high 1,290 yards from scrimmage and caught a career-high 59 passes.
But he wasn’t explosive. He averaged only 3.9 yards per carry and only 5.9 yards per catch. His backup, undrafted rookie Matt Breida, averaged 4.4 yards per carry (half a yard per carry more than Hyde) and 8.6 yards per catch (almost 3 yards more per catch than Hyde).
Breida probably will be the starter next season. Hyde probably will start for another team.
Wide receivers: C.
Pierre Garcon caught 40 passes for 500 yards in eight games until he got hurt. Respectable numbers. But, he scored zero touchdowns. Not a No. 1 receiver.
Marquise Goodwin caught 56 passes for 962 yards, and blossomed from Week 9 to Week 15, when he averaged 109.6 receiving yards per game. But he scored only two touchdowns all season. Not a No. 1 receiver.
Rookie Trent Taylor made an impressive 18 first-down catches on third down this season. But he scored only two touchdowns all season. Not a No. 1 receiver.
The Niners need a No. 1 receiver.
Tight ends: B-minus.
Neither George Kittle nor Garrett Celek was great on his own. But combined, they made 64 catches for 851 yards and six touchdowns.
Offensive line: F.
Blow it up.
Left guard Laken Tomlinson, center Daniel Kilgore and right guard Brandon Fusco make up the worst interior O-line in the NFL.
Right tackle Trent Brown is overweight and inconsistent. He missed six games and will have surgery on his labrum during the offseason.
Left tackle Joe Staley is still good, but declining. He’s 33.
Offensive line is the 49ers' biggest weakness.
Defensive line: B-minus.
The 49ers used 15 defensive linemen this year. Most of them were journeymen run defenders.
DeForest Buckner was special. He recorded 22 quarterback hits — the same number as Raiders defensive end Khalil Mack, who finished the season with 10.5 sacks. Buckner finished with only three. He’ll get more when the rest of the defensive line improves and offenses can’t double team him so frequently.
Elvis Dumervil was solid. He recorded 18 quarterback hits and led the 49ers with 6.5 sacks. He turns 34 on Jan. 19.
Aaron Lynch was the biggest disappointment on the team. He missed nine games even though he was healthy for some of them. The coaching staff simply didn’t want to play him.
Former first-round pick Arik Armstead was an injury-prone non-factor. He broke his hand, played only eight games and recorded just 1.5 sacks and two tackles.
First-round pick Solomon Thomas was a good run defender – he led the 49ers with 10 tackles for loss. But he is a mere journeyman pass rusher.
The 49ers need a real pass rusher to complement Buckner and Dumervil.
Eli Harold was the starting strong-side linebacker all season. He’s not a threat to rush the passer, but he sets the edge well against the run.
NaVorro Bowman and Ray Ray Armtrong each started five games. They were awful. Bowman hardly could move and Armstrong couldn’t seem to remember his assignments or the rules of football. The 49ers cut both of them.
Reuben Foster and Brock Coyle each started five games. They were solid. Foster finished the season with 72 tackles and Coyle finished with 64.
This group should get a higher grade next year if Foster stays healthy. He missed all of six games and parts of another six games this season. He may be injury prone.
When the season began, the 49ers starting corners were Rashard Robinson and Dontae Johnson. They were potentially the worst cornerback tandem in the NFL.
Johnson started 16 games and committed seven pass-interference penalties, three holding penalties and two illegal-use-of-hands penalties. He never officially lost his job, but got benched for a few series against the Houston Texans and Jacksonville Jaguars. He’s a free agent this offseason and the 49ers probably won’t re-sign him.
Robinson started seven games with the 49ers and committed nine penalties. They traded him to the Jets before the trade deadline.
Rookie Ahkello Witherspoon replaced Robinson in the starting lineup Week 8 and gave up a 53-yard touchdown catch to Philadelphia Eagles wide receiver Alshon Jeffery. Witherspoon gave up a few long catches throughout the season, but also did good things. He broke up seven passes, intercepted two and committed just two penalties. He may be a decent player for them in the future.
K’Waun Williams is a solid nickel back. They signed him to a three-year extension during the season.
Williams and Witherspoon will be major contributors next season, even if neither is a shutdown cornerback. The Niners are still looking for one of those.
After playing corner in 2016, Jimmie Ward moved to free safety and started six games at that position. He broke up one pass and intercepted none before fracturing his arm. He’s not cut out to play safety. He’s a brittle athlete without a position who probably won’t be a starter next season. Big disappointment.
Rookie safety Adrian Colbert replaced Ward and was a serious upgrade. Colbert recorded five pass breakups and 37 tackles in just five starts. He’s the front-runner to start at free safety next season, but he’s still a question mark. He has played only a few games.
After starting at free safety the first four seasons of his career, Eric Reid played strong safety and linebacker in 2017. He recorded 67 tackles, the most since his rookie season when he played all 16 games. In 2017, he played only 13 games — he sprained his MCL Week 2.
The position switch helped Reid. He’s a better strong safety than free safety. But, he’s a free agent, and the 49ers probably won’t re-sign him. They already have his replacement.
That’s Jaquiski Tartt. He recorded 55 tackles in just eight starts before breaking his arm. He probably will start at strong safety next season. He could be good if he stays healthy.
The quality of this position group moving forward is a mystery.
Special teams: B-plus.
Rookie Victor Bolden Jr. ranked 16th in the NFL in kick return yards even though he played only nine games.
Trent Taylor ranked eighth in punt return yards.
Bradley Pinion ranked 11th in net punt average.
And Robbie Gould ranked second in field-goal percentage, making 95 percent. During December, he made 100 percent of his field goal attempts — 18 out of 18 — and was one of the main reasons the 49ers finished the season on a five-game win streak.
Defensive coordinator Robert Saleh took over a defense coming off its worst season in franchise history and turned it into a premier unit against the run. We’ll see if he can make it defend the pass once it gets quality corners and edge rushers.
Kyle Shanahan was failing as a head coach and offensive coordinator the first nine games of the season. He couldn’t lead the team or create a game plan that gave players a chance to succeed. He was in a slump. Maybe he was overwhelmed by his first season running an entire team.
He continually exposed his first two quarterbacks — Hoyer and Beathard — by calling more passes than any other offense in the NFL. This was not smart. The 49ers struggle in pass protection. Shanahan was a major reason Hoyer and Beathard became shell-shocked so quickly.
When Garoppolo became the quarterback, Shanahan became much more careful as a play-caller. He wanted to protect his potential franchise quarterback, so Shanahan called more runs than earlier in the season. Garoppolo didn’t get hurt. And the offense got much better. Good for Shanahan.
Both Shanahan and Saleh get credit for improving as the season progressed, and for making their players play hard even after their record was 0-9.
The Niners seem to be ascending. Many people expect they will win the NFC West next season.
But, late-season winning streaks don’t necessarily predict future performance. Remember, 10 years ago in 2008 when Mike Singletary became the head coach, he won four of his five final games and the 49ers finished the season 7-9. People thought the 49ers were ascending. But, they won only eight games in 2009, then they won only six games in 2010, and then Singletary got fired.
He couldn’t live up to the expectations he created.
Shanahan and Saleh have enormous expectations to live up to next season.
Grant Cohn covers the 49ers for The Santa Rosa Press Democrat and Pressdemocrat.com. You can reach him at firstname.lastname@example.org.