Friday, June 22, 2018

Looking Back on Seven Years of Baseballot

Isn't it weird how, when people say they have "some personal news," they really mean they have some professional news? Anyway, I have some personal and/or professional news that you may have already seen me announce on Twitter: I'm joining FiveThirtyEight (where I've been freelancing since last year) full-time as its new elections writer. I've read FiveThirtyEight almost since back when Nate Silver was still Poblano, and much of my own writing was informed and inspired by his revolutionary strain of political data journalism. At the same time, I struck up a Twitter friendship with Nate's right-hand man, Micah Cohen, who gave Baseballot its first readership outside my family by including some of my posts in FiveThirtyEight's weekly "Reads and Reactions" feature. To work with them is a dream come true.

But it also means changes, one of which is that you're probably going to see a lot fewer posts here on Baseballot. This isn't goodbye, exactly (for one thing, I hope that you'll keep reading me over at FiveThirtyEight); this isn't some big pronouncement that this is going to be the FINAL BASEBALLOT POST EVER!!, or even that the blog is going dormant for a while. It's just a public acknowledgment that, yeah, updates are going to be infrequent from here on out because I have a real job now and my new bosses are going to want to publish most of what I tend to write. Occasionally there may be a musing missive in this space about an obscure election, or a post that's not about politics or baseball at all. This blog has been a big part of my life for the last seven (!) years, and I'm not quite ready to give it up for good. But things are going to get quieter around here.

Inspired by one of my favorite writers, I started this blog in 2011 because my first couple years of working in a real-world office were not as stimulating as I had hoped. I decided to scratch my writing itch first as a hobby. Eventually, it got more serious: I developed quasi-professional relationships on Twitter, my writing and research got stronger, and my pageviews increased. In 2015, I gained the confidence to start freelance-writing online full-time, and, with the exposure that came from that volume, my work caught the eye of my wonderful now-former colleagues at Inside Elections and ultimately FiveThirtyEight. It all started with this blog and those of you who read it along the way.

To other aspiring writers/bloggers/reporters/pundits, allow me to be that writer who inspires you to join the fray: start a blog, pitch articles to Newsweek on the weekends, start a (smart, respectful) conversation on Twitter. Patience and hard work can pay off. To everyone else: thanks for reading Baseballot, and thank you for all the support over the years. I couldn't have done it without your encouragement, your sharing of my articles, and the community you created where I finally felt at home.

Sunday, May 20, 2018

Nine Years of Congressional Baseball Game Stats

This year's Congressional Baseball Game—the 84th iteration of the renowned partisan pastime—is less than a month away (specifically, on June 14—buy a ticket, it's for a good cause!), so it's time to update my database of statistics for the annual charity game. Yes, that's right—I'm so obsessed with numbers that I have some that show how good or bad members of Congress are at baseball.

This Google spreadsheet is based on the leaderboards page over at FanGraphs. It has not only the "Standard" stats like hits and RBI, but also FanGraphs's "Advanced" and "Value" stats, calculated the exact same way the sabermetric site defines them. If you want to know Tim Ryan's wRC+ or Rand Paul's WAR, this is the place to go. The spreadsheet goes back through the 2009 Congressional Baseball Game, thanks to box scores generously provided to me by the game's official scorers. It's not comprehensive—for instance, there are no batted-ball stats, and fielding is too hard to measure in a game whose defensive alignments change more often than the softball match at your latest family reunion—but it's enough to show us who's just playing for fun and who the truly feared players should be on June 14.

The highlights: Cedric Richmond, Congress's Shohei Ohtani, is now up to 2.3 WAR, eight times higher than anyone else's total. Seven of the game's nine best players by WAR are Democrats. And you'll notice a lot of lineup fixtures are leaving Congress after this year: the Democrats' Jared Polis, the Republicans' Jeff Flake, Tom Rooney, Ryan Costello, and Bill Shuster. (And Democrats' Joe Donnelly may very well lose his re-election bid.) By this time next year, the leaderboards could look very different: it's possible that John Shimkus, Chris Murphy, and Kevin Brady will be the only pre-2009 players left.

Monday, April 30, 2018

Free-Agent Fantasy Baseball: 2018

Given that most MLB free agents this winter signed about two months later than they usually do, it's fitting that my annual roundup of the best all-free-agent team also drops about two months later than usual.

As a refresher for those of you new around here, every offseason, I comb through that year's free-agent class and assemble the best possible team from it—while working through the same constraints that real teams deal with, like a budget. So far, I have yet to find much success with this exercise (last year's team amassed just 17.0 fWAR, which would theoretically be good only for a 65–97 record), probably reflecting the fact that free agency is a really bad way to build a team. I have abiding hope, however, that this year, with its multitude of team-friendly contracts, might be different.

To build the team below, I went into the winter carrying over my payroll obligations from last year's all-free-agent team, which amounted to $103,083,333 for the nine players in black below. My goal, like most teams' nowadays, was to stay below the $197 million luxury tax cap for 2018, so that meant I had $93,916,667 to spend on two outfielders, a middle infielder, a DH, a backup catcher, a backup outfielder, three or four starting pitchers, and a whole bullpen. The 16 players in blue are who I settled on:

Given that he only cost a $20 million posting fee and a nominal signing bonus, Shohei Ohtani was an easy call, of course. Nippon Professional Baseball is a good source for free-agent bargains in general, though, one I mined for Miles Mikolas and Yoshihisa Hirano as well. CC Sabathia and Jaime García both signed for below-market $10 million, one-year deals. Plenty of talented bullpenners were also available for less than $5 million a year each, including ex-closers David Hernández and Héctor Rondón.

Pretty much my entire offense was plucked from the bargain bin late in the winter. Curtis Granderson was available for $5 million for one year despite averaging 3.5 fWAR over the last three years. Todd Frazier's two-year, $17 million deal was so good that I had to get creative, bumping incumbent third baseman Chase Headley to his original major-league position, left field. Indeed, front offices had so much patience to smoke out free agents this offseason that I blinked before many of the shrewder GMs did. Afraid of being the last one at the dance without a second baseman or DH, I signed Lucas Duda (one year, $3.5 million) and Howie Kendrick (one year, $3 million) only to see even more cost-efficient deals for better players (Mike Moustakas, Neil Walker) materialize later.

Ah well; a team-builder can hardly complain. I was able to construct a viable major-league roster on a final payroll that totaled just $194,593,333 ($209,393,333 in the unlikely event that all contract incentives are met). Now let's just hope they win more than 65 games.

Friday, March 30, 2018

Predicting the 2018 Season—National League

The 2018 baseball season is underway, and, as is my annual tradition, I failed to finish writing up my MLB predictions in time for the first pitch of the season. Better late than never, today I bring you my prognostications for the National League. For those new around here, I don't do season previews in the usual sense—no doubt you've already read a zillion of those from better analysts than I. What I do do is project the exact win-loss records of each team and pair them with a handful of way-too-specific predictions. (You can see what I mean in my American League predictions, issued earlier this week.) Warning: as you'll see at the end of the season, these predictions are for entertainment only.

To the line!

NL East

1. Washington Nationals (97–65, 2nd playoff seed)
  • The only person who has posted an 11-WAR season in my lifetime is Barry Bonds. Now, in his walk year, Bryce Harper will do it too. He will deliver a stupid .370/.500/.700 line with 40 home runs and 15 DRS. After winning his second unanimous MVP award, he will sign a 12-year, $396 million contract (with four opt-outs) to return to Washington.
  • Gio González and Tanner Roark will post identical 3.76 ERAs.
  • Comeback Player of the Year Adam Eaton will lead the league in triples; with Harper batting behind him, he'll also score 130 runs.
  • On the less rosy side, Ryan Zimmerman's 2017 home-run and RBI totals will be cut in half, and Michael Taylor's .280 OBP will force the Nats to trade for outfield help.
  • Up 1–0 in the NLDS, the Nats will invite President Trump to come throw out the first pitch. In classic October fashion, they will then lose the next three games of the series, inspiring "the curse of the Donald." It will be the only first pitch he throws during his presidency.

2. New York Mets (81–81)
  • The Mets will live and die by that rotation, so let's get it out of the way: Noah Syndergaard and Jacob deGrom will combine for 300 innings of sub-3.00 ball. Matt Harvey and Steven Matz will combine for 100 innings of super-5.00 ball before they earn their release and hit the DL, respectively.
  • Mickey Callaway will win Manager of the Year for navigating no fewer than three tabloid scandals in the clubhouse.

3. Philadelphia Phillies (77–85)
  • A low BABIP meant Rhys Hoskins is even better than he appeared to be in 2017. Look for a .400 OBP and the most homers in the National League.
  • Maikel Franco will again have negative value, spelling the end of his tenure in Philadelphia.
  • Rookie of the Year Scott Kingery's 4.0 WAR will mean that, at the going rate for wins, he will have already been worth his $24 million contract extension after one year in the majors.
  • Vince Velasquez will be able to boast a strikeout rate of 28%. Whether that will mean he gets outs is anybody's guess.

4. Atlanta Braves (73–89)
  • Ronald Acuña will be solid, but the manipulation of his service time will keep him from winning Rookie of the Year.
  • Dansby Swanson will give the 2018 Braves what they thought they would get out of him in 2017.

5. Miami Marlins (65–97)

NL Central

1. Chicago Cubs (98–64, 1st playoff seed)
  • Yu Darvish will stop tipping his pitches, and he'll pair a 2.90 ERA with 250 strikeouts.
  • After pitching in all seven games of the 2017 World Series, Brandon Morrow will break down after just 30 innings of work.
  • Tyler Chatwood's 2018 ERA will be closer to his 2017 mark at home (6.01) than on the road (3.49).
  • Kyle Schwarber will improve to .240/.340/.500, and Jason Heyward will claw his way back to a 100 OPS+.
  • Kris Bryant will lead the NL in RBIs.

2. Saint Louis Cardinals (91–71, 1st Wild Card)
  • Tommy Pham and Paul DeJong will both fall sharply back down to earth. They will decline by a combined 4.0 WAR—which, luckily for the Cardinals, will be exactly the value that Marcell Ozuna brings to the team from Miami.
  • The St. Louis rotation will improbably be one of the league's best. Adam Wainwright and Michael Wacha recapture (some of) their past magic, Miles Mikolas will show up on the WHIP leaderboard, and Jack Flaherty will win all 10 of the games he starts. But most of all...
  • Luke Weaver will be a leading Cy Young candidate before reaching his innings limit and getting shut down for the year. After Carlos Martínez gives up five earned runs and is tagged as the losing pitcher in the Wild Card game, the Stephen Strasburg shutdown scandal will seem tame in comparison.

3. Milwaukee Brewers (81–81)
  • The Brewers' well-rounded outfield will combine for 70 home runs and 70 stolen bases.
  • Ryan Braun will scuffle both offensively and defensively at first base, and the experiment will end by June. A trade for rotation help will alleviate the outfield logjam. (Meanwhile, Keon Broxton will be OPSing .900 in AAA.)
  • No one expects Chase Anderson to replicate his 2.74 ERA, but a 3.50 ERA is reasonable.

4. Pittsburgh Pirates (73–89)
  • Jameson Taillon will steal the NL Cy Young Award from a wide-open field.
  • Colin Moran will quietly hit .290 with 20 home runs and 70 RBIs.

5. Cincinnati Reds (69–93)
  • For the second consecutive year, Joey Votto will finish second in MVP voting. Sometime in the 2030s, a columnist will use that to argue that he was never considered great enough by his contemporaries to join the Hall of Fame.
  • An abnormally high BABIP will gift Billy Hamilton with a .270 average and a career-high OBP, enabling him to steal 80 bases in 2018.
  • Luis Castillo will experience growing pains, but he'll still strike out 200 batters and go to the All-Star Game.

NL West

1. Los Angeles Dodgers (96–66, 3rd playoff seed)
  • In a National League with three evenly matched top teams, the fact that the Dodgers have the league's best rotation and best bullpen will be their secret weapon in securing a second straight pennant.
  • Some reversion to the mean is in order in Chávez Ravine. Chris Taylor will never again be the player he was last year, and expect Cody Bellinger to settle in at .260 with 25 home runs.
  • Clayton Kershaw will again miss seven starts in August with a "bad back," but a paparazzo's surreptitious shot of him on the golf course will give rise to conspiracy theories that the Dodgers are just trying to keep him fresh for October. It will work: he'll lead the NL in ERA and K/BB ratio and win NLCS MVP honors against the Cubs.

2. Arizona Diamondbacks (90–72, 2nd Wild Card)
  • NL strikeout leader Robbie Ray will also finish in the top three in Cy Young voting.
  • Thanks to progressive usage patterns (including several multi-inning appearances), Archie Bradley will be the most valuable reliever in baseball.
  • Arizona will have three four-win players: Paul Goldschmidt, AJ Pollock, and Steven Souza.

3. Colorado Rockies (84–78)

4. San Francisco Giants (71–91)
  • Evan Longoria and Andrew McCutchen will lift the Giants offense from worst in baseball to merely one of the top five worst. Both will have less valuable seasons in 2018 than they did in 2017. Austin Jackson will be straight-up replacement level.
  • Brandon Belt will hit 20 home runs for the first time.
  • Starting pitchers not named Madison Bumgarner, Johnny Cueto, or Jeff Samardzija will combine to allow 300+ runs in 600 innings.
  • Speaking of Cueto and Samardzija, expect the latter to rebound more than the former, thanks to a far luckier HR/FB ratio.
  • Hunter Strickland will have the least valuable super-96-mile-per-hour fastball in baseball, and it will drive his ERA up to 4.40. Tony Watson will spend most of the season as closer; Mark Melancon won't pitch an inning.

5. San Diego Padres (64–98)
  • Manuel Margot will double his stolen-base total, but his home-run total will halve.
  • Wil Myers will tout around a 120 OPS+, but he will be the league's worst defensive outfielder, bringing his WAR down to 0.0.
  • The Padres will rank 30th in baseball in OBP and runs scored.

Wednesday, March 28, 2018

Predicting the 2018 Season—American League

With Game 7 of the World Series taking place on November 1 and Opening Day shutting down schools and businesses for a national day of celebration this Thursday, we've had one of our shortest—and weirdest—offseasons ever. That's left me scrambling to put out in time the surest sign of spring here at Baseballot: my annual MLB predictions.

For those of you new around here, I do season previews a little bit differently from everyone else. Instead of just ranking the teams in projected order of finish, I predict the exact win-loss records of each team. Instead of surveying each team's strengths and weaknesses, I make a handful of way-too-specific predictions that sum up my expectations for that team's season in a nutshell. Then, the really fun part comes at the end of the year, when I look back on my predictions, highlighting which ones improbably came true—and which ones look ridiculous in hindsight.

First up this year: the American League.

AL East

1. New York Yankees (92–70, 3rd playoff seed)
  • Aaron Judge will hit "only" 35 home runs—but it will still be enough to lead the league, as Major League Baseball secretly replaces the baseball yet again with a less juiced version.
  • Together, Judge and Giancarlo Stanton will be worth the same 8.2 WAR that Judge alone was worth last year—in other words, the Yankees will not get any better post-Stanton-trade.
  • Yankees pitching will severely regress. Sonny Gray will sputter to a 4.80 ERA, Jordan Montgomery and CC Sabathia will both have ERAs below league average, and Chad Green and Tommy Kahnle will revert to the mean.

2. Boston Red Sox (91–71, 1st Wild Card)
  • JD Martínez will injure himself in April and miss a majority of the season, and the Red Sox will still finish in the top five in the American League in home runs. Mookie Betts, Andrew Benintendi, and Rafael Devers will all crack the list of top 30 home-run hitters in the Junior Circuit.
  • Carson Smith will lead the AL in strikeout-to-walk ratio and WHIP.
  • David Price will bounce back; Hanley Ramírez will not.
  • It will be a blessing in disguise for Boston that they missed out on that one-game playoff with New York on the final day of the season. Chris Sale will twirl a one-hit shutout in the Wild Card game, to be followed up (finally!) by his first Cy Young Award a month later.

3. Tampa Bay Rays (81–81)
  • Not a lot of runs will be scored at the Trop this season. The Rays will pair the division's best pitching with its worst offense.
  • With the return of Chris Archer to a 3.00 ERA, a step forward by Blake Snell, and a nice 3.0-WAR bounceback by Nathan Eovaldi, the Rays will have one of the league's better rotations. Of course, it won't hurt that they will cut out its weakest fifth. Speaking of which...
  • The Rays' experiment of having a bullpen day instead of a fifth starter will be a qualified success, lasting throughout the season and giving them a winning record in those games.

4. Toronto Blue Jays (77–85)
  • Everyone in the Blue Jays' pedestrian rotation will post ERAs between 3.80 and 4.20. As a group, they'll have an ERA+ of 100.
  • Justin Smoak won't even hit 20 home runs this time around.
  • For about two weeks in September, Vladimir Guerrero Jr. will be the most exciting player in baseball.

5. Baltimore Orioles (72–90)
  • In the blockbuster trade of the deadline, Manny Machado will be shipped off to the Cardinals for some fishing wire and a small patch of brown liquid. The league change will cost Machado, who will be leading the AL in WAR at the trade, an MVP award.
  • Neither Chris Davis nor Mark Trumbo will be any better in 2018 than in 2017.
  • Tim Beckham and Trey Mancini will both hit under .250.
  • Andrew Cashner's ERA (5.50) will be higher than his strikeout rate per nine innings (5.00).
  • Alex Cobb will request a trade before the end of the year.

AL Central

1. Cleveland Indians (105–57, 1st playoff seed)
  • It's finally the Indians' turn. After going down 0–3 in the World Series, the players will ritualistically burn all their Chief Wahoo paraphernalia, the team will rattle off four straight wins, and Cleveland will be world champions.
  • Yonder Alonso is for real. Playing in the deepest lineup of his career, he'll set personal highs in runs and RBIs.
  • Two excellent months in the bigs will only be enough to nab Francisco Mejia third place in Rookie of the Year balloting.
  • Jason Kipnis will win AL Comeback Player of the Year.
  • Danny Salazar will be a fiend when he comes off the DL: a 2.50 ERA, 13 strikeouts per nine innings, and his first career no-hitter.
  • Following up their historic performance in 2017, the Indians pitching staff will amass the second-most WAR in MLB history.

2. Minnesota Twins (85–77, 2nd Wild Card)

3. Chicago White Sox (70–92)
  • The White Sox' biggest achievement this year—and I'm not being funny, it will actually be very promising—will be that they will send not one, but two representatives to the All-Star Game. Yoan Moncada and Lucas Giolito will also finish 2018 with more than 3.0 WAR each, the clubhouse leaders in that category.
  • For you fantasy hounds, Nate Jones will emerge as Chicago's closer.
  • Look for Avisail García to return to a league-average OPS.

4. Kansas City Royals (68–94)
  • Danny Duffy will continue to blossom into one of the league's best pitchers. This year, his WAR crests 5.0 for the first time.
  • Lucas Duda (one year, $3.5 million) will have a better WAR, home-run total, and OPS than the departed Eric Hosmer (eight years, $144 million).

5. Detroit Tigers (61–101)
  • Miguel Cabrera will take one last gasp of greatness—think 25 home runs and 90 RBIs—before age robs us of his talent for good.
  • If you thought the Tigers bullpen was bad before, get ready for the 2018 version to make a run at the title of worst bullpen of all time—currently the 2013 Astros (−5.2 WAR).

AL West

1. Houston Astros (101–61, 2nd playoff seed)
  • That four-man outfield the Astros were teasing the other day? They'll use it exactly once this season.
  • Lance McCullers will finally show what he's capable of in a full season: the lowest ERA in the Houston rotation, 270 strikeouts, and a second-place Cy Young finish.
  • Brad Peacock will beat out Charlie Morton for the last slot in the rotation.
  • The 2018 Astros will strike out more batters than any other pitching staff in history.
  • After steamrolling the Yankees in the ALDS, the Astros will lose the pennant in an epic ALCS with the Indians—the dream matchup we were denied in 2017. The series will set records for the lowest-scoring and strikeout-heaviest seven-game playoff series in history.

2. Los Angeles Angels (83–79)
  • Mike Trout, MVP, next prediction please.
  • The Angels' splashy offseason will produce useful players, but hardly the superstars they thought they were getting. Justin Upton and Zack Cozart will revert to their career averages, while Ian Kinsler will never exceed 3.0 WAR again.
  • Shohei Ohtani will be an OK hitter and an OK pitcher, but people won't realize that, in combination, that actually makes him a really good player, and he'll lose Rookie of the Year to Gleyber Torres.
  • If I'm right and the baseball returns to its pre-2015 norm, Andrew Heaney is poised for a nice (3.50 ERA) year. If the balls are still juiced, he'll allow 40 home runs.
  • Garrett Richards will lead the staff in ERA thanks to the Angels' league-best infield defense.

3. Oakland Athletics (81–81)
  • Led by Matt Olson (who will turn a .290/.390/.650 season into a top-five MVP finish), the A's will have one of the top three offenses in the league, going by OPS+.
  • By contrast, Sean Manaea will be Oakland's only above-average starting pitcher. As a result, the A's bullpen will log the second-most innings in the league (with an asterisk next to Tampa Bay at #1).
  • The perpetually underrated Bob Melvin will win his first Manager of the Year Award since 2012.

4. Texas Rangers (79–83)
  • Delino DeShields Jr. will lead the American League in stolen bases.
  • Mike Minor will stage a Rich Hill–style renaissance, with 20 or so sparkling starts followed by a physical breakdown.
  • Rougned Odor will bounce back with a .270/.300/.460 slash line.
  • After one atrocious start—appropriately, in Cleveland—Bartolo Colón will finally retire from the major leagues.

5. Seattle Mariners (74–88)
  • With an OBP approaching .400, Dan Vogelbach will wrest the starting first-base job from Ryon Healy early in the season.
  • Without the juiced baseball to help him, Mike Zunino's power—and main source of value—will vanish. He'll be lucky to hit .200 and 15 home runs.
  • Distracted by the position change, Dee Gordon will not only be a liability with the glove, but he'll also hit only .240.
  • Félix Hernández will be Seattle's worst starter by ERA.
  • Edwin Díaz will lead the AL in saves.
  • After the disappointing season, manager Scott Servais will be canned.
  • The Mariners will at least lead the league in something—trades swung.

Friday, March 23, 2018

What I Didn't Expect in Baseball in 2017

With less than a week until this year's record-early Opening Day, I'll be sharing my annual predictions for the upcoming baseball season pretty soon. But if last year's predictions are any indication, you should probably ignore them. (I'm really good at marketing, guys.) After looking back at how my political forecasts fared in 2017, I do the same for baseball below, and... it's not pretty. Come, let's all laugh at my terrible prediction skills together:

(You can read my full predictions for the 2017 American League season here; the 2017 National League season is here.)

Prediction: The AL division winners would be the Red Sox, Indians, and Astros; the Blue Jays and Rays would win the Wild Cards. In the NL, the Nationals, Cubs, and Dodgers would win their divisions, with the Mets and Cardinals nabbing Wild Cards.
What Really Happened: I got all the division winners right—although everyone else did, too (those six teams had it in the bag since virtually Opening Day)—but the Yankees, Twins, Diamondbacks, and Rockies won the Wild Cards. I had projected the Twins and D'backs for 68 and 74 wins, respectively, two of my worst predictions on the year. One of my predicted playoff teams, the Mets, instead lost 92 games. (Amazingly, though, I still nailed every other team in the NL East within two wins.) Overall, I got 13 teams within five games of their eventual win totals, and the average error of my predictions was 7.7 wins.

Prediction: Greg Bird and Aaron Judge would be the modern Mantle and Maris, going back and forth all season as the Yankees team home-run leader.
What Really Happened: This line allows me to take credit for calling Judge's breakout season, right? The towering right fielder obviously came close to winning the AL MVP with his 52 home runs. Bird, though, laid an egg: .190/.288/.422 with just nine homers.

Prediction: José Altuve would captivate America with a 50-game hitting streak.
What Really Happened: Altuve's longest hitting streak of the season was 19 games, but I doubt he was disappointed—he won the AL MVP and got to death-stare President Trump.

Prediction: Giancarlo Stanton would be the first Marlin ever to top 50 home runs, leading the National League.
What Really Happened: Stanton hit 59 homers, best in not only the Senior Circuit, but all of baseball.

Prediction: By the end of the season, Jeb Bush would be the proud new owner of the Marlins.
What Really Happened: Poor Jeb can't win anything, can he? The group headed by Bruce Sherman and Derek Jeter instead won the bidding and bought the team in August.

Prediction: Keon Broxton and Domingo Santana would strike out a combined 300 times, but both would get on base at .350 clips despite .250 batting averages. Broxton would hit 20 homers with 30 steals, and Santana would produce a mirror-image 30/20 season.
What Really Happened: I was pretty close. Broxton hit exactly 20 homers but stole "only" 21 bases. A bigger problem was his average and OBP: .220 and .299, respectively. Santana hit exactly 30 homers and stole "only" 15 bases. He hit .278 and got on base at a .371 clip.

Prediction: Bryce Harper, Adam Eaton, Trea Turner, Anthony Rendon, and Daniel Murphy would each be worth more than 4.0 WAR.
What Really Happened: Three surpassed that threshold, according to FanGraphs: Rendon (6.9), Harper (4.8), and Murphy (4.3). Turner wasn't too far behind at 3.0, but Eaton tore his ACL at the end of April, cutting off his season at 0.5 WAR.

Prediction: The Rockies rotation would be the best in club history.
What Really Happened: They posted 11.8 FanGraphs WAR (fifth in club history) and a 91 ERA− (second in club history). Jon Gray (3.2 WAR and a 73 ERA−) and Germán Márquez (2.4 and 87) led the way.

Prediction: Tigers manager Brad Ausmus would be fired in May. With the team hovering around .500 at the trade deadline, ownership would finally give the OK to blow it all up and rebuild.
What Really Happened: Ausmus held on the whole season, but he was quasi-fired in September when the Tigers announced they wouldn't renew his contract. The Tigers entered the July trade deadline at 47–56 and the August deadline at 58–74; it was at the second one when they finally fire-sold off Justin Upton and Justin Verlander.

Prediction: The San Francisco offense would post its worst offensive season since the 2011 squad's 91 OPS+.
What Really Happened: The 2017 Giants managed just an 83 OPS+, the worst in baseball and the Giants' worst score since 2009.

Prediction: Pablo Sandoval would scream back to relevance with 25 home runs and a positive number of Defensive Runs Saved.
What Really Happened: This is one of those predictions that makes you realize just how long ago March 2017 was. Sandoval hit .212/.269/.354 with the Red Sox, was released in July, returned to the Giants, and basically put up the same slash line for them. He hit nine home runs total with −7 DRS.

Prediction: Every Orioles starting pitcher except Wade Miley would give up more runs in 2017 than in 2016.
What Really Happened: They all did it—including Miley.

Prediction: Robbie Ray would take a huge step forward, shaving more than a run off his ERA and leading the league in strikeouts.
What Really Happened: Ray went from a 4.90 ERA to 2.89. Ray's 218 strikeouts were "only" good for third in the Senior Circuit (Max Scherzer led with 268), but Ray did lead in strikeouts per nine innings (12.11).

Prediction: Every Dodgers starting pitcher would miss at least eight starts as the injury bug plagued Los Angeles.
What Really Happened: Every Dodgers starting pitcher missed at least five starts. Their pitchers lost 1,051 days to the disabled list in total, and the entire roster led MLB with 1,914 days missed.

Prediction: Jean Segura would be a huge bust. Mitch Haniger would turn out to be the more valuable addition from the Taijuan Walker trade, even in the short term.
What Really Happened: Segura went from 5.0 WAR to 2.9 WAR—hardly a bust, and still better than Haniger. However, I was at least right that Haniger would distinguish himself right away: he accumulated 2.5 WAR and wOBA-ed .360.

Prediction: The Mets rotation would be fully healthy and dominant, getting 200 innings out of Noah Syndergaard, a sub-3.00 ERA from Steven Matz, and even a respectable year out of Matt Harvey.
What Really Happened: A wonky elbow held Matz to 13 starts with a 6.08 ERA. A torn lat muscle kept Syndergaard out for five months. And Harvey was lucky not to be non-tendered after his 6.70 ERA performance.

Prediction: Jordan Zimmermann would rue signing with Detroit as he became a pure contact pitcher (setting a career low in strikeout percentage) but the Tigers' league-worst defense failed to convert them into outs.
What Really Happened: Exactly that. Zimmermann's 14.5% strikeout percentage was not only a career low, but it was also fifth-worst among all MLB pitchers with at least 160 innings pitched. As a result of the Tigers' AL-worst −69 DRS, Zimmermann mustered just a 6.08 ERA.

Prediction: Two former Rangers prospects would experience resurgences. Jurickson Profar would win the batting title, and Delino DeShields Jr. would sport a .350 OBP and 30 stolen bases.
What Really Happened: Whoops—Profar hit .172 in only 58 at-bats. But DeShields came eerily close to my projections: his OBP was .347, and he stole 29 bases.

Prediction: Greg Holland wouldn't notch a save all season.
What Really Happened: He led the NL in them with 41.

Prediction: José Berríos and Byron Buxton would finally live up to their potential—which would be good for the Twins, since Brian Dozier would hit just .210 with 10 home runs and nearly 200 strikeouts.
What Really Happened: Berríos went from walking nearly as many as he struck out in 2016 to 14–8 with a 3.89 ERA. Buxton hit a decent .728 OPS but, thanks to stellar defense, amassed 3.5 WAR. Dozier, though, was his usual excellent self, slashing .271/.359/.498 with 141 strikeouts and only mild regression in the homer department (34).

Prediction: Wade Davis would struggle with his control in his recovery from injury, and Kyle Hendricks would regress to league average.
What Really Happened: Davis did indeed walk a career-high 11.6% of batters he faced; I'm nervous for him in 2018. Hendricks regressed from a 2.13 ERA to 3.03, but that was still good for an ERA+ of 144.

Prediction: I called Dansby Swanson winning NL Rookie of the Year "the safest prediction on this page." However, I did expect Cody Bellinger to "force himself into the lineup in mid-siummer."
What Really Happened: Swanson didn't even get Rookie of the Year votes, as he finished with just 0.1 WAR. Bellinger came up on April 25 and didn't look back, collecting 39 home runs and the ROY trophy.

Prediction: The Rangers would have a losing record in one-run games, and they would lead the AL in days spent on the DL.
What Really Happened: Texas did indeed go 13–24 in one-run games, the worst mark in baseball. Their players spent an above-average 1,271 days on the DL, but the Rays led the AL with 1,644.

Prediction: Jason Heyward would bounce back with a .290/.350/.450 slash line, 20 DRS, and a 5.0 WAR. Ben Zobrist, on the other hand, would run into a brick wall. His modest value with the bat would be offset by the worst defensive season of his career.
What Really Happened: Heyward was only marginally better than his disappointing 2016 with the bat (.259/.326/.389), and while he did put up 18 DRS, UZR was much less kind to him. As a result, he had a FanGraphs WAR of just 0.9. Zobrist joined him in the Cubs' trash heap, though not for the reasons I foresaw. He was putrid at the plate (.232/.318/.375) but maintained a (barely) positive defensive value (1 DRS, 1.7 Fielding Runs Above Average).

Prediction: Jorge Soler would lead Royals position players in WAR.
What Really Happened: At −1.0, he was instead dead last.

Prediction: Sonny Gray would continue to be a 75 ERA+ pitcher, Jharel Cotton would pitch 160 innings with a 3.40 ERA, and All-Star Sean Manaea would be the first of the 2017 season to throw a no-hitter.
What Really Happened: Gray returned to form with a 123 ERA+, good enough to be traded to the Yankees. Cotton stunk up the joint to the tune of a 5.58 ERA in 129 innings. Manaea was better (a 4.37 ERA) but no All-Star—although he did throw five no-hit innings in just his third start of the season. (He was removed with the no-hitter intact because he had already thrown 98 pitches.)

Prediction: Jay Bruce would finally win over Mets fans by giving them a .750 OPS, while José Reyes would be banished from Flushing for good by the end of the season.
What Really Happened: Bruce gave Mets fans a .841 OPS, earning a trade to Cleveland, but New York welcomed him back as a free agent in January. Despite being far worse (a .315 OBP), Reyes was allowed to bat 501 times for the Mets, and he too was re-signed in January.

Prediction: The Dodgers would have the NL's stingiest bullpen, followed by the Marlins.
What Really Happened: The Dodgers did rank first in the NL in bullpen ERA (3.38), but the Marlins ranked 10th (4.40).

Prediction: Félix Hernández would post a career-low strikeout rate and flirt with his career-high ERA of 4.52. However, Drew Smyly would make up for it with a 3.20 ERA. James Paxton would finally pitch to his 2.80 FIP.
What Really Happened: Hernández's 21.2% strikeout rate wasn't the lowest of his career, but his ERA did soar to 4.36. Smyly didn't pitch an inning all season, going under the knife in June. Paxton did indeed have that breakout season, posting a 2.98 ERA, but it still didn't catch up to his FIP, which was an outstanding 2.61.

Prediction: David Dahl would surpass outfield-mates Carlos González and Charlie Blackmon in WAR.
What Really Happened: Dahl never played in the majors all year long, so obviously he failed to do so. It would've been easy to beat out González (−0.2 WAR), but Blackmon got MVP votes with his 6.5 score.

Prediction: Steven Souza would finally have that 20/20 breakout season, and Colby Rasmus and Matt Duffy would match their career-high WARs for the Rays.
What Really Happened: Rasmus "stepped away from baseball" halfway through the year, and Duffy never even played in the majors. Souza did break out, but not in quite so balanced a proportion: he hit 30 home runs and stole 16 bases. Both were career highs, and he was traded to the Diamondbacks for his efforts.

Prediction: Jonathan Villar would hit just .240, and his runs scored and stolen bases would both be slashed in half from 2016.
What Really Happened: Villar hit .241. His runs scored went from 92 to 49, and his stolen bases went from 62 to 23.

Prediction: Chris Archer and Blake Snell would be a formidable two-headed monster at the front of the Rays rotation, but the AL Cy Young Award would go to KC's Danny Duffy (a 2.50 ERA and 240 strikeouts).
What Really Happened: Archer actually regressed from 2016 with a 4.07 ERA, and Snell was close behind at 4.04. Duffy was a little better, boasting a 3.81 ERA, but only punched out 130. None of the three received any Cy Young votes.

Prediction: Jameson Taillon's 2.50 ERA would put him squarely in the NL Cy Young conversation. However, Pirates teammate Jung Ho Kang's personal and legal problems would end his major-league career.
What Really Happened: Taillon instead took a huge step back with a 4.44 ERA, although a 3.48 FIP and .352 BABIP suggests he didn't deserve that fate. And so far so bad for Kang.

Prediction: José Bautista would bounce back so convincingly that he would be as valuable as his 2016 self and Edwin Encarnación combined.
What Really Happened: Bautista was awful. His −0.5 WAR was far worse than the 1.4 he accrued in 2016. Encarnación was worth 2.5 WAR in his first season in Cleveland.