Each year, we like to run a series of posts called "90-in-90." The idea is that we'll take a look at every player on the roster, from the very bottom to the top and break them down a few ways. This roster will certainly change, and some days we'll have more than one so it's not exactly 90 players in 90 days. At this point, it's a name we're keeping around for street cred.

Last season, the San Francisco 49ers traded a sixth-round pick to acquire wide receiver Anquan Boldin, who was to come in and be the No. 2 behind Michael Crabtree. None of us expected what he ended up doing -- putting up over 1,000 yards and being instrumental in this offense ... not sucking. This offseason, the 49ers brought in another well-respected receiver with another late-round pick: Stevie Johnson.

We heard talk that the 49ers were interested in moving up for Odell Beckham Jr., and I personally believe that particular bit of draft talk. Because when it didn't happen, the 49ers stayed put and the team made the trade for Johnson following the first round. It was very clear that Johnson was their top remaining option.

But why? What has Johnson done to make him worth a pick? Well, he's been a very effective No. 1 receiver, who has managed to produce on one of the worst teams in the league over the past few years. He's also got a strong record against some top tier cornerbacks, like Richard Sherman (cue the .gif posted in the comments).

Johnson is a gifted, but flawed receiver. He's been known to make some troubling drops when everything about the pass was spot on (which, fair enough, was never a guarantee in Buffalo). He also has got his team in trouble with his antics on the field, which doesn't help. He's not perfect by any means.

Some in Buffalo may have been a little fed up with him after this past season as well, which is probably where Johnson's relatively low price comes into play. He caught just 52 passes for 597 yards and three touchdowns last season, which made it a lot harder to accept his flaws. But does he just need a change of scenery?

In 2010, 2011 and 2012, Johnson managed 1,073, 1,004 and 1,046 yards and a total of 23 touchdowns. Again, remember that this was with the Buffalo Bills, a team that fielded the No. 28 passing offense and No. 2 rushing offense in the league. Buffalo's quarterbacks put up a 55.3 completion percentage, 28 touchdowns and 23 interceptions all season. He also dealt with injuries throughout 2013.

I remain optimistic about what Johnson can bring to the table, but his 2013 season was indisputably his worst in three years.

Why he might improve:

Johnson dipped below 1,000 receiving yards for the first time since 2009 last season, and there were multiple reasons for that. Injuries and poor quarterback play certainly paid a part, and if he can avoid both of those things in San Francisco, he'll almost assuredly have a better season. If he sees the field with one or both of Michael Crabtree or Anquan Boldin, then Johnson would likely be facing the second- or third-best cornerback on the opposing team. That's a recipe for success.

Why he might regress:

Perhaps he's not fully recovered from his 2012 injuries, or rather, perhaps the injuries have taken a toll on him. Johnson will be 28 when the regular season begins, which isn't exactly ancient but seeing a period of decline begin would not be the most surprising thing to ever happen. It's possible he doesn't see the field much if Crabtree and Boldin are outplaying him and Jim Harbaugh continues to avoid three-wide sets. It's also possible he just doesn't mesh well with San Francisco's offense. All of those things can lead to regression.

Odds of making the roster:

San Francisco has a small investment in Johnson when it comes to draft picks, but there's no way he doesn't make the roster. He's going to be one of the top three receivers on the team (I personally believe he can be the best of the three), and has as close to guaranteed to make the roster as you can say in this league.