What a season.

If you’re a fan of gritty, hard-nosed defense, you probably didn’t like it much, but the 2016-17 NBA season was a Fantasy players’ dream. League-wide scoring was up nearly three points per game for each team, and we saw a number of historic individual performances as a result.

Triple-doubles became a nightly occurrence, nine players topped the 50-point mark, and second-year wing Devin Booker even put together a 70-point outing. There were no shortage of incredible performances, which made this one of the most exciting Fantasy seasons in years to cover.

We still have a few days left -- not to mention a tight four-way MVP race that is going to come down to the last second -- but with the Fantasy season all but over, it’s time to take a look back at the season that was. And maybe take a peek ahead at what’s to come in 2017-18. 

Fantasy Superlatives

Most Outstanding Player

There are really only two options here. Russell Westbrook and James Harden so thoroughly outpaced the field in Fantasy scoring that there was more of a gap between Harden at No. 2 in Fantasy points and No. 3 (John Wall) than between Wall and No. 12 (Jimmy Butler). Both put up historically dominant seasons, with the kind of volume we’ve rarely seen before in the NBA.

I’ll give the slightest edge to Harden, however. Though Westbrook did outscore him in CBSSports.com standard Head-to-Head points, Harden was still well ahead of anyone else. And, in Roto scoring, Harden just edges out Westbrook, by virtue of being more valuable in categories like assists, 3-pointers, blocks and percentages, which are just a bit tougher to make up than rebounds and points. Both were a disaster in turnovers, costing you upwards of four standing points on their own, but they did so much else well, they are the only real candidates here.  

Most Valuable Player

Anthony Davis finally stayed healthy, and he finally delivered the type of season Fantasy players have been waiting for. He finished the season as the No. 1 player in Rotisserie scoring. He increased his scoring without a dip in efficiency while sustaining his elite all-around play.

Davis has been threatening to do this since his second year in the league, but had missed a combined 68 games in his first four seasons. He slipped to No. 8 in ADP at FantasyPros.com, almost entirely because he finally stayed healthy. This is a good reminder that “injury prone” isn’t always a predictive label.

Rookie of the Year

Pass?

Joel Embiid was 39th in Fantasy points per game, but he played just 31 games before suffering a season-ending knee injury. As a result, he ended up just 195th in total Fantasy scoring. Teammate Dario Saric will end up the most valuable rookie over the course of the season, but he entered play on Feb. 1 averaging just 9.9 points and 5.7 rebounds per game, so it’s not like he was a particularly useful option all season long. This was one of the least impactful rookie classes ever, so we’ll give it Saric and just look away.

Defensive Player of the Year

Point-Giannis was all a ruse! OK, he still ran the Bucks’ offense quite often, but you can hardly call Giannis Antetokounmpo a “point guard” when he was guard opposing power forwards more often than not. Given his size and athleticism, that was a brilliant move by Bucks’ coach Jason Kidd, as it allowed Antetokounmpo to wreak havoc on both ends of the floor. He was worth nearly five standings points in blocks and steals combined, with Draymond Green and Davis the only other players to top four. Antetokounmpo might have actually managed to exceed the outsized hype surrounding him this season.

Most Improved Player

Otto Porter’s numbers don’t jump off the page at you, but what sets him apart is how rarely he would hurt your Fantasy team. He was able to play 2,600 minutes while turning the ball over just 43 times all season, or about how many Harden or Westbrook might give in about seven games. His per-game scoring jumped from just 11.6 to 13.5, but Porter’s ability to increase his role while dramatically improving his efficiency across the board made him one of the Roto players’ secret weapons. He’s going to get paid this summer.

Looking backward

Reviewing sleepers, breakouts and busts

Best Preseason Calls:

Clint Capela -- Breakout

An injury might knock him down the season-long rankings, but Capela proved a perfect fit for the Rockets’ offense, just as expected. He even managed to get his free-throw shooting to non-disastrous levels, rendering him playable, a concern after he made just 35.9 percent in his first two seasons.

Dion Waiters -- Sleeper

Injuries were also an issue with Waiters, but he was a must-start player for about a two-month stretch, averaging 18.7 points, 4.9 assists and 2.5 3-pointers per game for 25 games from mid-January through mid-March.

Goran Dragic -- Breakout

Dragic posted a near carbon copy of his 2013-14 season, averaging 20.3 points, 3.8 rebounds, 5.9 assists, 1.2 steals and 1.7 3-pointers per game. After a disappointing first season-and-a-half in Miami, he was once again a must-start point guard.

Myles Turner -- Breakout

Turner tends to get lost amid the endless talk about unicorns like Nikola Jokic, Karl-Anthony Towns, Kristaps Porzingis and Joel Embiid, but there aren’t many players like him in NBA history. He took a step forward this season, and looks like a superstar in the making, with rim-protection and the potential to eventually emerge as a high-volume 3-point shooter as well.

Brandon Knight -- Bust

Knight pretty clearly wasn’t part of the team’s long-term plans, and he eventually fell out of the short-term plans too. It’s not clear where he is going to play next season, but a safe bet would be “Not in Phoenix.”

Worst Preseason Calls

 Joakim Noah -- Sleeper

I figured because he was cheap enough, he might be worth chasing in the hopes of a bounceback. Instead, injuries again spoiled Noah’s season, and it’s hard to see him being a useful NBA player ever again.

Hassan Whiteside -- Breakout

Whiteside wasn’t bad, and he did post career-high numbers in points and rebounds. However, he looked like he might bloom into a Fantasy superstar late last season, and just didn’t end up doing that.  

Victor Oladipo -- Breakout

I had my reservations about the perpetually inconsistent Oladipo, but figured even playing next to Russell Westbrook might give him more room to spread his wings in the absence of Kevin Durant. I didn’t realize how big Westbrook’s wings were.

Ricky Rubio -- Bust

The Timberwolves seemed like they were looking to move on from Rubio, after dangling him in trade talks and taking Kris Dunn in the top five last season. Instead, Rubio had his best season and, in averaging 16.4 points, 10.4 assists and 1.5 steals since the All-Star break, his best extended stretch of play ever.

Jae Crowder -- Bust

I didn’t buy the shot, but Crowder has been a consistent 40-percent 3-point shooter this season. He isn’t filling up the box score quite as much as last season, but Crowder has still been a terrific addition to any Fantasy team.

Reviewing preseason bold predictions

“Hassan Whiteside will post historic numbers”
Whiteside had three point-rebound-block triple-doubles last season, but didn’t have more than six blocks in any game this season.

“Anthony Davis finally stays healthy”
There wasn’t much backing this one up, but it had to happen at some point, right? Let’s hope he can make it two in a row.

“Evan Fournier will lead the Magic in scoring -- and he will score more than Victor Oladipo”
Fournier did lead the Magic in scoring, and bested Oladipo by a full point per game. However, injuries and a dip in efficiency left him less useful than I would have hoped overall.

“Dwight Howard will have a bounceback season”
Howard basically had the same season in 2016-17 as he did in 2015-16.

“No rookie will finish in the top-75 in Fantasy scoring”
A late push will get Saric just inside the top-75.

“Paul George will make the leap to top-five status”
I thought the addition of a better playmaking point guard would allow George to score more efficiently, and it did, but a dip in his usage negated those gains, as George ended up No. 19 in Roto.

“We get at least one vintage Linsanity run”
Injuries spoiled things for Lin, but he did put up his best per-minute numbers since that magical run with the Knicks. A loss, but only on a technicality.

“This trade deadline is as busy as the 2015 version”
The deadline felt like a dud, but only because Serge Ibaka and DeMarcus Cousins moved well ahead of it.

“The record for 3-pointers in a season is not broken for the third straight year”
Stephen Curry did lead the NBA in 3-pointers for the fifth straight season, but he is going to end up more than 70 makes short of his 2015-16 mark. It will only be the second-best 3-point shooting season ever.

“Russell Westbrook moves into fifth place in career triple-doubles”
Fourth. With Jason Kidd in third place in sight next season.

Looking Forward

Next Year’s First Round

1. Karl-Anthony Towns
2. James Harden
3. Russell Westbrook
4. Anthony Davis
5. Giannis Antetokounmpo
6. Stephen Curry
7. Kawhi Leonard
8. LeBron James
9. Kevin Durant
10. Jimmy Butler
11. John Wall
12. Nikola Jokic