Nobody in the baseball community expressed surprise when Yordan Alvarez took home the American League Rookie of the Year award on Monday. After all, Alvarez hit like Mike Trout over 369 plate appearances, finishing second in the majors in wRC+ among those with at least 300 trips to the plate. His 3.8 WAR led all AL rookies by a wide margin; second-place John Means was nearly an entire win behind.

But if you had a time machine and went back to the start of the 2019 season, people would undoubtedly be befuddled to learn that Alvarez claimed the ROY hardware. Rather, you might have expected the honor to go to the best hitting prospect in recent memory: Vladimir Guerrero Jr.

At the beginning of the season, Guerrero seemed poised to be the Rookie of the Year. As Eric and Kiley wrote in February, “He should […] immediately become one of the game’s most exciting, productive hitters. He is the cornerstone of the Blue Jays franchise, and perhaps a cornerstone of our sport.” Expectations were through the roof; here at FanGraphs, 20 of the 32 writers who voted in our preseason awards predictions had Guerrero winning the award. Alvarez was not on our collective radar.

In a vacuum, Guerrero did not have a bad season. Not every 20-year-old is Juan Soto, and for Guerrero to hit .272/.339/.433 with a 105 wRC+ at this age is still impressive. Since 2000, there have only been 25 individual position-player seasons with at least 200 plate appearances taken by a player aged 20 or younger. Guerrero’s wRC+ ranks 15th. Granted, there is survivorship bias here, as the only players to even be in the majors by age 20 are those who are supremely talented. But even among those supremely talented youngsters, Guerrero’s bat was still in the middle of the pack. Again, we’re reminded of expectations versus reality. We expected Guerrero to be the best, and when he wasn’t, it came as a bit of a surprise. On the whole, however, he wasn’t bad.

Development isn’t linear, and guys who were projected to be superstars from day one sometimes need time to adjust. Guerrero’s 2019 was wildly inconsistent — from one month to the next, he produced extremely variable results, some of which can probably be attributed to the adjustment period all big-league hitters must face:

Vlad Jr.’s 2019 By Month Month wRC+ GB% FB% BABIP HR/FB% Mar/Apr 82 60.0% 20.0% .300 0.0% May 109 42.1% 36.8% .257 21.4% June 86 55.3% 32.9% .297 8.0% July 121 45.8% 37.5% .319 11.1% August 159 49.4% 24.7% .370 21.1% Sept/Oct 45 54.7% 35.9% .297 13.0%

One overarching theme here is that Guerrero hit too many groundballs. Even in August, his best month by results, nearly half of his batted balls were on the ground; it just so happened that he sported a .370 BABIP alongside a 21.1% HR/FB rate, both indicators of great short-term performance that is unlikely to stick in the long run.

Indeed, groundballs were an issue for Guerrero the entire season. His average launch angle was only 6.7 degrees. That ranked 372nd out of the 406 hitters with at least 100 batted ball events this year, suggesting that Guerrero hit the ball on the ground more regularly compared to the rest of the league. However, average launch angle isn’t always the best measure of a hitter’s true distribution of batted balls — we could care just as much (if not more) about the variability in launch angle as we do the point estimate. With that said, here is a histogram plotting Guerrero’s launch angles this season, colored by his xwOBA on batted balls within that launch angle interval:

As you can see, there’s quite a bit of variability here. In fact, Guerrero’s launch angles on batted balls this season had a standard deviation of 28.2 degrees, meaning that there was significant spread. Of course, I didn’t really know where this standard deviation compared to other players (and this information isn’t readily available on a site like Baseball Savant), so I took a sample of a few of the league’s best hitters and looked at both their average launch angle and the standard deviation of their launch angles:

I found this to be rather remarkable, though not unexpected. Since hitters can experience a wide variety of outcomes — groundballs, line drives, fly balls, pop ups — their launch angles should be pretty variable across the board. What defines where their distributions lie, then, is their point estimate, their average. That is why having both statistics is important.

Take Trout, for example. When he is exactly one standard deviation below his average launch angle, the ball came off of his bat at -1.4 degrees. This season, on batted balls hit at a -1 degree launch angle, hitters posted a .332 average and a .324 wOBA. On the flip side, when Trout is exactly one standard deviation above his average launch angle, the ball came off of his bat at +45.8 degrees. When hitters experienced a launch angle of +46 degrees this season, they posted an .067 average and a .080 wOBA.

Let’s contrast that with Guerrero, who had a 6.7 degree average launch angle alongside his 28.2 degree standard deviation. When he is exactly one standard deviation below the mean, the ball came off his bat at -21.5 degrees. Hitters posted an .096 average and a .112 wOBA with -22 degree launch angles this season. When he is exactly one standard deviation above, the ball came off of his bat at +34.9 degrees. There, the results are more favorable for hitters: a .266 average and a .448 wOBA.

On the surface, none of this seems bad. Both Trout and Guerrero have launch angle outcomes that are favorable and unfavorable within one standard deviation of the mean. But, when we think about standard deviations, we tend to assume that our data is normal, and that the bell curve would model the data reasonably well. In the case of launch angles, however, this is not always true. As you can see in the histogram above, Guerrero’s distribution of launch angles is bimodal — he has large clusters in the 0-10 degree range and in the 20-30 degree range. To compare, here is Trout:

Trout’s distribution is much closer to being normal than Guerrero’s, though he does have some tails on either end that keep it from being so. The main takeaway is that Trout dominates not only because he has less of a spread in his launch angles, but more because he so consistently posts launch angles within the correct intervals. We can break this down on a rate basis:

Launch Angle Rates Bucket Trout % Guerrero % -70 to -61 0.3% 0.0% -60 to -51 0.3% 0.6% -50 to -41 0.0% 2.9% -40 to -31 0.6% 3.5% -30 to -21 0.3% 7.0% -20 to -11 2.5% 9.0% -10 to -1 6.0% 11.9% 0 to 9 10.0% 13.9% 10 to 19 15.4% 12.2% 20 to 29 22.6% 16.8% 30 to 39 18.2% 12.5% 40 to 49 12.9% 5.8% 50 to 59 6.6% 2.9% 60 to 69 3.4% 0.9% 70 to 79 0.9% 0.3%

In 2019, Trout basically cut all batted balls below -20 degrees out of his game. Just 4.1% of Trout’s batted balls fit this description versus 22.9% for Guerrero. There is some good to be found in Guerrero’s breakdown, however: over half the time (55%), his batted balls had a launch angle between 0 and +39 degrees, the range where hitters tend to have the most success (.632 xwOBA). Trout fell in this range nearly two-thirds of the time.

“Fixing” something like this isn’t easy. Sure, the Blue Jays could go to Guerrero and tell him to hit more fly balls — I would be surprised if they haven’t by this point. For him, though, the fix may run deeper. Guerrero’s lack of symmetry within his batted ball data could be the real problem. It doesn’t exist in the sense of pure variability — his standard deviation does not seem to be all that different from the league’s best hitters. The issue more exists in his clustering; his bimodal distribution of launch angles is the problem, especially when his clusters don’t center around favorable launch angles. A more efficient distribution may come with more experience, but what happened in 2019 won’t make Vlad Jr. a superstar.