This year's All-Star voting results are out, and with both the American League and National League squads filled out (minus the winners of each league's Final Vote), it's time to see which deserving players missed the cut for each roster. Some of these names may end up making it to San Diego as injury replacements or alternates, but their seasons should have already landed them spots on the team.
(Note: Final Vote candidates are not included here, although there's an easy case to be made for a few of those players to have made the team outright. In particular, the Diamondbacks' Jake Lamb—who leads all third basemen in slugging percentage and is third in OPS+, fifth in home runs and seventh in Baseball Reference's Wins Above Replacement at the position—shouldn't have to sweat out a couple of days of fan voting for a roster spot.)
Players are listed alphabetically; all stats are through Tuesday, July 5.
Tyler Chatwood, SP, Rockies
Season Stats: 8–4, 3.08 ERA, 5.7 K/9, 3.3 BB/9, 3.93 FIP, 165 ERA+, 3.2 WAR
By ERA+, Chatwood was the best pitcher left off either squad; his 165 mark is seventh among all big league starters, ahead of the likes of Stephen Strasburg, Johnny Cueto and Jon Lester, all of whom made the NL team. Some of that oversight probably has to do with the three weeks that Chatwood missed with a back injury (he came off the disabled list Tuesday night and delivered a solid five-inning performance against the Giants, allowing just one earned run), and some owes to his less-than-eye-popping stats, particularly the low strikeout rate.
But even if the 26-year-old righty isn't a household name, his strong season—despite the eternal Rockies handicap of having to pitch half his games in Coors Field—should have earned him some All-Star appreciation. Instead, third baseman Nolan Arenado and outfielder Carlos Gonzalez will represent Colorado in San Diego, and while both are deserving, it's too bad the NL couldn't find room for Chatwood, too.
Bartolo Colon, SP, Mets
Season Stats: 7–4, 2.87 ERA, 6.0 K/9, 1.6 BB/9, 3.79 FIP, 141 ERA+, 2.8 WAR
So much for the ravages of old age. At the tender age of 43, Colon is having a terrific season for the Mets, with the fourth-highest ERA+ of his 19-year career and a WAR that ranks 11th among all NL starters. Sadly, the depth of starter talent in the Senior Circuit left no room on the NL squad for Colon, and while he's not exactly the biggest snub in the world, he would have been a welcome addition to this year's festivities (particularly if he'd somehow been added to the Home Run Derby field). Ah well: With the ageless Colon, there's always next year.
Brandon Crawford, SS, Giants
Season Stats: .270/.345/.426, 8 HR, 53 RBIs, 108 OPS+, 3.2 WAR
Those numbers may not look like much, but Crawford is third among all major league shortstops in WAR, trailing only the Dodgers' Corey Seager and the Indians' Francisco Lindor (fourth if you count Baltimore's Manny Machado, who played the position earlier this season in J.J. Hardy's absence). A lot of Crawford's value comes on the defensive end, where the 2015 Gold Glover makes the difficult look easy and the easy look routine.
Crawford has some company among NL shortstops who were left in the cold by All-Star voters: the Reds' Zack Cozart (.269/.321/.486, 112 OPS+, 13 home runs), the Nationals' Danny Espinosa (.246/.343/.478, 114 OPS+, 18 home runs) and the Brewers' Jonathan Villar (.290/.375/.416, 111 OPS+, six home runs) all failed to earn a Midsummer Classic nod despite having better numbers than elected starting shortstop Addison Russell (.242/.338/.416, 101 OPS+, 11 home runs) of the Cubs.
Gregory Polanco, OF, Pirates
Season Stats: .292/.368/.512, 12 HR, 50 RBIs, 134 OPS+, 2.2 WAR
As hyped as a top prospect could be last season, the super-talented Polanco instead stumbled in his first full taste of the big leagues, batting just .256/.320/.381 in 2015 with only nine home runs. Perhaps that disappointing debut has blinded people to Polanco's terrific sophomore season, in which the 24-year-old Dominican has emerged as one of the NL's best young players; he's already surpassed last year's home run total, and he's in the top 20 among all MLB outfielders in both OPS+ (11th) and WAR (19th). Nonetheless, neither he nor any of his fellow Pittsburgh outfielders earned an All-Star spot; the Pirates' lone representative is closer Mark Melancon. Centerfielder Starling Marte, also having a strong year (.320/.365/.471), will have to hope for a better finish as one of the NL's five Final Vote candidates. Andrew McCutchen, meanwhile, will miss the All-Star Game for the first time since 2010, his first full season, because of an underwhelming performance that has many wondering what has happened to the former NL MVP.
Kyle Seager, 3B, Mariners
Season Stats: .277/.360/.519, 16 HR, 54 RBIs, 136 OPS+, 3.5 WAR
Pity Kyle Seager, overshadowed both by the tremendous crop of young talent at third base around the league and, to some degree, by his younger brother, NL Rookie of the Year favorite (and NL All-Star reserve) Corey. The University of North Carolina product was an All-Star two years ago, but he is having the best offensive season of his six-year career this year, with personal bests in every slash stat and in OPS+, and he's on pace to break his single-season high in homers (26, set last year). By WAR, meanwhile, he's the top position player missing from either team's roster.
Alas, those strong stats didn't earn him any love from the voters, who overwhelmingly chose Machado to man the hot corner; Seager didn't even finish in the top five. He got no love from the players, either, who tabbed defending MVP Josh Donaldson as the AL's backup third baseman. It's no shame, of course, to lose out to the likes of Machado and Donaldson, but it is a shame that Seager's excellent season seems to have gotten lost in the shuffle.