In his final year at the University of Louisville, he ranked just fifth on his own team. These days, he's among the best mashers in the Minors.
The third baseman went deep for the fourth consecutive game Tuesday night as the Class A Advanced San Jose Giants beat the host Stockton Ports, 10-4.
Blake Hassebrock allowed consecutive singles to Carter Jurica and Joe Panik to begin the game, and Duvall cleared the bases with a deep shot to left field.
His 25 homers are first among all Class A Advanced hitters, while his 79 runs scored rank fourth on the California League circuit behind Lancaster's George Springer (98) and High Desert duo Brad Miller (89) and James Jones (87).
Only four batters -- Omaha's Wil Myers (33), Oklahoma City's Mike Hessman (29), Frisco's Mike Olt (28) and San Antonio's Cody Decker (26) -- have more homers in all of the Minors.
Duvall, selected by the Giants in the 11th round of the 2010 Draft, now sits one homer away from tying San Jose's single-season record set by Tim Flaherty in 2001.
The 23-year-old slugged two homers as part of a three-hit, four-RBI performance in the opener of a three-game series in Inland Empire on Friday. He followed that with a three-run shot Saturday, and he hammered another longball in the series finale Sunday.
He has homered nine times in his last 12 games, during which he has plated 25 runs. Prior to that, San Francisco's No. 15 prospect had gone 52 at-bats without a roundtripper.
His current hot form is indicative of his streaky nature. Duvall, who homered just four times in his first 38 games of the season, went yard three times in a four-game span between May 17-20, and he went deep four times in six days between May 26-31. Between July 2-4, Duvall also blasted off in three consecutive games.
On Tuesday, Joe Panik, the Giants' No. 5 prospect, was 4-for-5 with a homer and three RBIs and leadoff hitter Carter Jurica was 3-for-4 with a three-run homer and three runs scored.
San Jose starter Ryan Bradley (7-6) allowed four runs on three hits and a pair of walks while striking out six batters over seven innings to earn the victory.
Hassebrock (2-6) surrendered five runs across six frames in the losing cause. He fanned four and issued two walks in the defeat.