There are 185 active players with career OPS over the park-adjusted league average in 500 at-bats or more. Some of these players might surprise you (Denard Span). Others might not (Miguel Cabrera).
Hitters who were better in the majors than the minors
It’s an incomplete list, but it’s a list.


When a player gets called up for the first time, there’s a temptation to look at the player’s career stats in the minors and extrapolate what their entire major-league career is going to look like. You adjust the OPS down 100 points or so, more if they’re extra-hacky, give them a peak at 27, and slowly tick down from there. I do it all the time, even if that’s not how baseball really works.
Some hitters show up to the majors and hit better than they ever did in the minors. Sometimes it’s a player who was always young for his league and making up for lost time. Sometimes it’s a player who makes no sense at all. Because I was stupid and didn’t realize how much work it would be, I looked up the minor-league stats for those 185 players with a career OPS+ over 100, and made a list of the players who were better in the majors than the minors. Of the 185 players, 51 of them made the cut.
The list, sorted by biggest minors/majors OPS difference:
| Player | Drafting/signing team | Minor-league OPS | Major-league OPS | Difference | Age of first full season in majors |
| Miguel Cabrera | Marlins | 782 | 966 | 184 | 20 |
| Matt Holliday | Rockies | 780 | 916 | 136 | 24 |
| Robinson Cano | Yankees | 756 | 859 | 103 | 22 |
| Joey Votto | Reds | 862 | 964 | 102 | 24 |
| Albert Pujols | Cardinals | 920 | 1010 | 90 | 21 |
| Hanley Ramirez | Marlins | 788 | 876 | 88 | 22 |
| Josh Hamilton | Rays | 813 | 892 | 79 | 26 |
| Carlos Beltran | Royals | 782 | 857 | 75 | 22 |
| Mike Morse | White Sox | 758 | 830 | 72 | 28 |
| Andrew McCutchen | Pirates | 785 | 856 | 71 | 22 |
| Adrian Gonzalez | Marlins | 813 | 875 | 62 | 24 |
| Chase Utley | Phillies | 814 | 874 | 60 | 25 |
| Carlos Gonzalez | Rockies | 831 | 888 | 57 | 23 |
| Salvador Perez | Royals | 726 | 777 | 51 | 22 |
| Todd Helton | Rockies | 908 | 958 | 50 | 24 |
| Torii Hunter | Twins | 751 | 800 | 49 | 23 |
| Wilin Rosario | Rockies | 765 | 813 | 48 | 23 |
| Joe Mauer | Twins | 833 | 872 | 39 | 22 |
| Jason Giambi | A's | 885 | 923 | 38 | 25 |
| Angel Pagan | Mets | 715 | 752 | 37 | 24 |
| Ian Desmond | Nationals | 714 | 751 | 37 | 23 |
| Carl Crawford | Rays | 738 | 775 | 37 | 20 |
| David Murphy | Red Sox | 750 | 785 | 35 | 26 |
| Alfonso Soriano | Yankees | 791 | 825 | 34 | 25 |
| Alex Rios | Blue Jays | 736 | 768 | 32 | 23 |
| Pablo Sandoval | Giants | 795 | 824 | 29 | 21 |
| Derek Jeter | Yankees | 803 | 829 | 26 | 22 |
| Martin Prado | Braves | 743 | 768 | 25 | 25 |
| Manny Machado | Orioles | 776 | 801 | 25 | 20 |
| Denard Span | Twins | 711 | 736 | 25 | 24 |
| David Wright | Mets | 866 | 889 | 23 | 21 |
| Jayson Werth | Orioles | 802 | 825 | 23 | 25 |
| Wilson Ramos | Twins | 759 | 781 | 22 | 23 |
| Manny Ramirez | Indians | 976 | 996 | 20 | 22 |
| Jose Reyes | Mets | 763 | 783 | 20 | 20 |
| Dan Uggla | Diamondbacks | 789 | 808 | 19 | 26 |
| Carlos Ruiz | Phillies | 754 | 773 | 19 | 28 |
| David Ortiz | Twins | 913 | 932 | 19 | 25 |
| Garrett Jones | Braves | 763 | 781 | 18 | 28 |
| Troy Tulowitzki | Rockies | 863 | 881 | 18 | 22 |
| Brian McCann | Braves | 812 | 829 | 17 | 22 |
| Chris Johnson | Astros | 751 | 765 | 14 | 24 |
| Shin Soo Choo | Mariners | 838 | 850 | 12 | 25 |
| Edwin Encarnacion | Rangers | 809 | 821 | 12 | 23 |
| Brian Roberts | Orioles | 755 | 763 | 8 | 24 |
| Adam LaRoche | Braves | 810 | 817 | 7 | 24 |
| Mike Napoli | Angels | 848 | 853 | 5 | 24 |
| Shane Victorino | Dodgers | 764 | 769 | 5 | 24 |
| Miguel Tejada | A's | 788 | 792 | 4 | 24 |
| Jose Bautista | Pirates | 846 | 849 | 3 | 25 |
| Prince Fielder | Brewers | 921 | 923 | 2 | 22 |
Cabrera might be a surprise winner, but look at how young he was. He was 19 in Double-A and holding his own. That’s a big deal. So Matt Holliday is the winner of the where-the-heck-did-this-come-from award, especially considering that he wasn’t a super-young rookie. He was always a tools monster, but it took the majors (and possibly Coors Field) to help him realize his potential.
A note about this list: it’s weighted toward the players in their primes. Ian Desmond hasn’t been 35, hitting .210, and barely hanging onto a utility job yet. Garrett Jones hasn’t had that year where he craters and loses his job yet. So it’s not a perfect list. But it’s a fun list. To me. Which is what counts.
Ten notes:
1. Cabrera was just a child when he was aggressively moved through the Marlins’ system, so don’t read too much into those numbers. Still, it’s funny to think of Cabrera being anything other than extraordinary with the bat.
2. I thought the list would be filled with players who were rushed to the majors like Cabrera. A 20-year-old with a 750 OPS in Triple-A means a heckuva lot more than a 25-year-old with the same numbers, so it followed that the 20 or 21-year-olds who were rushed would have a stronger presence on this last. Not so. Almost half the group were 24 or older when they stopped playing in the minors for good. There were almost as many 28-year-olds as 20-year-olds.
3. Every position was more or less equally represented, at least when tallying up the positions each player played in the minors. Catchers and shortstops led the way with eight each, but only if you count Pablo Sandoval as a catcher and Mike Morse as a shortstop.
4. I originally got this idea because I wanted to write something else about the Cardinals’ hitter factory again, but guys like Matt Carpenter and Allen Craig didn’t make the cut. Yadier Molina’s career OPS+ isn’t even at 100 yet, so he was cut in the first round.
5. The top two teams on the list were the Rockies (not surprising) and Twins (surprising!), with five players each.
6. Teams without a player on the list: Cubs, Tigers, Padres. Though it’s not like the Mariners have bragging rights considering their representative is Shin-Soo Choo.
7. Two Rule 5 picks made the list: Dan Uggla and Shane Victorino. Considering that they skipped the upper minors, which could have depressed their career minor-league numbers, it’s kind of surprising they made the list.
8. It’s almost as if some of these guys, especially the older ones, took a magic pill when they got to the majors. Wouldn’t that be something! A magic pill!
9. Fifteen of the players were traded (or even released) before they found success. Probably because they weren’t doing much in the minors. If I had to guess.
10. Mostly, I just wanted a list of good hitters who weren’t necessarily as good in the minors. There it is. Of all the names up there, Votto and Cano might be the most impressive. They showed flashes in the minors. But nothing that would have led you to believe they’d become super-duper stars.
You woke up this morning not knowing that you needed a table of hitters who did better in the majors than the minors. You will go to sleep not knowing that you needed a table of hitters who did better in the majors than the minors. What’s important is that in the middle, there was a table of hitters who did better in the majors than the minors.











