By hook, crook, or sheer overwhelming dominance by a couple outstanding individuals, the voters – with one exception – got the MLB awards right this year.

They’ll never bat 1.000 on these things, regardless how good the stats get or how modern the voters become, because “who is the most valuable player in the American League,” for instance, is intentionally not an objectively answerable question. You can figure out who has the most HR, or the most RBIs, or the most WAR, sure – but the definition of the award doesn’t call for the prize to be given to the guy at the top of any particular leaderboard. And definitely a big part of the point is not to have a system where you can sort a numerical column and come away with your award winners in a handy ranked list from first place to last.

Still, some years are harder on voters than others. Whether because of a surfeit of qualified candidates or a single player who put himself head and shoulders above the rest of the pack, this year the voters had a lot of easy choices – and then they had the AL MVP. But we’ll get to that in a little bit.

Gold Gloves

American League

C: Salvador Perez, Royals

1B: Eric Hosmer, Royals

2B: Jose Altuve, Astros

3B: Manny Machado, Orioles

SS: Alcides Escobar, Royals

LF: Yoenis Cespedes, Tigers

CF: Kevin Kiermaier, Rays

RF: Kole Calhoun, Angels

P: Dallas Keuchel, Astros

National League

C: Yadier Molina, Cardinals

1B: Paul Goldschmidt, D-backs

2B: Dee Gordon, Marlins

3B: Nolan Arenado, Rockies

SS: Brandon Crawford, Giants

LF: Starling Marte, Pirates

CF: AJ Pollock, Diamondbacks

RF: Jason Heyward, Cardinals

P: Zack Greinke, Dodgers

It’s not really necessary to go through these awards man-by-man; they’re generally acceptable, if not outright correct, with only two major points of contention: first, Yoenis Cespedes was only the Detroit Tiger’s LF for half the season, and it feels like if that award isn’t going to be handed out to part-time players, it shouldn’t be handed out to starters who switch leagues halfway through. And it’s not as if Cespedes wins the award by sheer merit, either; he’s a merely competent outfielder with a great cannon but poor instincts and not-great range, as his second-half team, the New York Mets, saw a couple times in the playoffs. The winner here probably should have been another Royal: Alex Gordon.

Second, you have to wonder when Yadier Molina’s going to stop getting the Gold Glove every year. He at least played a full season this year – in 2014 the writers gave it to him despite only playing 110 games – but at this point in his career, Buster Posey is a superior catcher in every aspect of the game except CS%, where Molina beat him 41% to 36%, and he should perhaps start getting the recognition that comes with that. Posey won in the new “metric-based” defensive award that Wilson is sponsoring this year, but it’s likely he’ll have to wait until Molina finally retires to have a shot at the established prize.

Rookie of the Year

American League: SS Carlos Correa, Houston Astros

National League: 3B Kris Bryant, Chicago Cubs

Correa’s a worthy pick, though between him and fellow rookie SS Francisco Lindor, it’s clear why Correa got the nod and Lindor didn’t – Lindor’s Indians didn’t make the playoffs. Correa, on the other hand, helped anchor a Houston squad that exceeded expectations to grab a Wild Card spot, beat the New York Yankees in the one-game playoff, and set them up nicely for next year.

Bryant, well. Kris Bryant got a lot of help from being a Chicago Cub and having a massive preseason drama dedicated to whether or not he’d be on the club on Opening Day, but he also played more than well enough to deserve the award and it’s tough to ding him too much on “big market media darling” front when the second place guy’s a San Francisco Giant.

Manager of the Year

American League: Jeff Banister, Texas Rangers

National League: Joe Maddon, Chicago Cubs

Ah, the Overperformer of the Year Award! It is so incredibly difficult to summon any amount of interest or ire about whoever does or does not win this award. Banister? His team started out bad and then was good, so why not! AJ Hinch? His team was supposed to be bad, then was good, then flagged late in the season but still made the playoffs. Perfectly acceptable! Joe Maddon? Well, if you didn’t think media darling Joe Maddon was going to win Manager of the Year for taking media darling Chicago Cubs to the postseason, ending Chicago’s decades-long playoff dr – wait, eight years? It’s only been eight years since they made the postseason? Are you serious? All of that Finally The Wonder And Joy Is Back in Wrigleyville, Where Some Thought the Sun Had Forever Set wailing and victory lap-taking over not going to playoffs since 2008? Whatever! Fine! Joe Maddon says the funny things and makes the funny rules and wears the funny outfits, so he can be Manager of the Year too. At least he knows how to manage a bullpen, most of the time.

Cy Young Award

American League: SP Dallas Keuchel, Houston Astros

National League: SP Jake Arrieta, Chicago Cubs

Keuchel’s kind of a no-brainer. The only other guy close to stacking up against him in the AL was David Price (the next two guys, Chris Sale and Chris Archer, not only were strictly worse choices but missed the playoffs), and Keuchel beat Price in ERA and innings pitched. Not a real hard choice here.

Houston Astros starting pitcher Dallas Keuchel. Photograph: Joe Camporeale/USA Today Sports

In the National League, there were three perfectly worthy candidates: Jake Arrieta, and the Dodgers’ Zack Greinke and Clayton Kershaw. You could make the argument that Greinke and Kershaw worked at cross-purposes, splitting the votes between them and giving the win to Arrieta – but Arrieta got 17 first place votes to their combined 13. Voters just liked him more. Why? Because he was almost as good as Greinke – not quite, but only having an ERA+ of 222 to Grienke’s 225 means he was just slightly less otherworldly than Greinke at preventing runs, and well within any sane margin of error – and he was all that sportswriters could talk about in the second half. He got a no-hitter on national television at the right time for him to become a sustained national story. These things happen, Dodgers fans.

Most Valuable Player

American League: 3B Josh Donaldson, Toronto Blue Jays

National League: RF Bryce Harper, Washington Nationals

Harper was the unanimous choice for National League MVP, as he should have been. Helpful to his cause was the fact that his closest competition – Paul Goldschmidt of the Arizona Diamondbacks – likewise missed the playoffs, toiling away on a disappointing team. He was so much better than his contemporaries that the only possible reason to deny him the MVP would be pure spite, which in all fairness is something that voters have had in great supply for the young Nationals phenom for years.

Which brings us to the American League MVP, and the only real point of contention this year: once again, Mike Trout is the best player in the American League, and once again, he’s been snubbed, this time for Josh Donaldson. At least when Trout lost to Miguel Cabrera, Cabrera had the decency to win the Triple Crown. Donaldson was strictly worse than Trout offensively – he posted a .939 OPS to Trout’s AL-leading .991 – numbers which look even worse when adjusted for park and league, leaving Donaldson with a 155 OPS+ to Trout’s 176 OPS+. Donaldson is a good, but not elite, defensive 3B, while Trout is a good, but not elite, defensive CF.

What happened here? Was it because Josh Donaldson had more RBIs, an antiquated and useless traditionalist counting stat that should be stricken from the box score? Was it because Mike Trout had a mediocre UZR, a fundamentally flawed and silly defensive sabermetric “stat” that by its creator’s own admission shouldn’t be used in single-year sample sizes (but almost always is, irresponsibly)? Or was it because Donaldson’s Blue Jays won the AL East, while Trout’s Angels missed the postseason?

All of this has something to do with it, but there’s also this overarching feeling from the media – especially the voting class – that Mike Trout, having put up four full seasons of 173 OPS+ baseball, simply isn’t surprising them anymore. There’s nothing new to him going out and dominating the league for the vast majority of this decade, and so they’d rather give the award to more interesting players. Like … Nelson Cruz! Yes, one particularly bizarre ballot put Cruz over Trout. Nelson Cruz was almost as good as Trout as a hitter this year, and basically should never be allowed to play defense. The entire argument is farcical.

AL MVP award aside, the results this year were almost entirely good – and certainly all of them were defensible – and they say good things about the process in the future. One just hopes Mike Trout can get another MVP award when he has years like this one where he clearly deserves it – instead of voters feeling like they have to give him makeup awards for their dereliction of duty somewhere down the line.