The past weekend was a very good one for Kris Bryant. While helping the Cubs take two games out of three in Arizona, he sandwiched his second and third home runs of the season around a rally-sparking double. It’s the first time in nearly a year that the former MVP has connected for extra-base hits in three straight games, and after a season marred by left shoulder woes, a possible sign that his power is returning.

Facing the Diamondbacks’ Robbie Ray in the third inning on Friday night, Bryant hammered a 3-2 fastball over the left centerfield wall for a two-run homer:

The home run went an estimated 444 feet and had an exit velocity of 111.1 mph according to Statcast, making it Bryant’s hardest-hit homer since July 16, 2017 (113.0 mph off Ubaldo Jimenez). It’s also the third ball this year that Bryant has hit with an exit velocity of at least 110 mph, two more than all of last season, the least productive of his career.

Bryant’s second homer, a two-run opposite field shot off Luke Weaver, was less majestic (102.0 mph and an estimated 374 feet), but every bit as necessary in the Cubs’ 15-inning, 6-5 win:

The last time Bryant collected extra-base hits in three straight games was May 16-19 of last year, the last a date that figures prominently in our story. He had just two other streaks running at least that long in 2018, compared to six in each of the previous two seasons.

To review: from 2015-17, Bryant was one of the majors’ top players, batting .288/.388/.527; his slugging percentage and 94 homers both ranked 16th in the majors, while his 144 wRC+ ranked 12th, and his 20.6 WAR was third behind only Mike Trout (25.8) and Josh Donaldson (21.8). During that time, he won the NL Rookie of the Year and an MVP award, and helped the Cubs to three straight postseason appearances, including their first championship since 1908.

The first seven weeks of 2018 surpassed even that high standard (.305/.427/.583, 169 wRC+, eight homers), but Bryant’s production took a downturn after suffering a bone bruise in his left shoulder, which is believed to have happened when he slid headfirst into first base (!) on May 19 (not the first time he’s injured himself in such fashion). Though it would be just over a month before he went on the disabled list for the first of two stays totaling 57 days, he hit just .252/.338/.382 (96 wRC+) with five homers in 272 PA from May 20 onward, decidedly non-Bryant-like numbers. By Dr. Mike Tanner’s calculations, from the point of that May 19 date, Bryant’s exit velocity dipped by five miles per hour, and his average fly ball distance decreased by 28 feet.

After rest and rehab for his shoulder, Bryant declared in February, “I’m back to who I am,” but until he got to Arizona, his power and overall production had been similarly meager (.232/.364/.366, 102 wRC+). Even now, his .229/.353/.417 (108 wRC+) line isn’t particularly robust. He’s walking more often relative to last year’s overall numbers (12.1%, up from 10.5%) while suffering a fall-off in batting average on balls in play (.264, down from .342). His exit velocity — never his strong suit despite his power — is up relative to last year, but so is his groundball rate:

Kris Bryant via Statcast Season GB/FB GB% FB% EV LA Hard Hit% 2015 0.76 34.2% 45.2% 89.6 19.4 43.3 2016 0.67 30.5% 45.8% 89.3 20.9 38.9 2017 0.89 37.7% 42.4% 87.1 16.9 36.4 2018 0.84 34.0% 40.7% 85.8 17.7 33.5 2019 1.00 40.0% 41.3% 88.8 16.7 34.7 SOURCE: Baseball Savant

Thus far in 2019, Bryant has produced 75 batted balls, five short of the point where the stat starts to stabilize, so we can’t make definitive assertions, but one thing that stands out is that while his pull rate is about the same as last year, an increasing percentage of those pulled balls have been grounders, which are far less productive than pulled fly balls:

Kris Bryant When Pulling the Ball Season BBE Pull% wOBA Pull-GB% wOBA Pull-FB% wOBA 2015 365 41.6% .596 21.4% .246 9.0% 1.095 2016 452 46.7% .579 20.4% .193 13.9% .969 2017 427 41.2% .542 23.9% .211 7.5% 1.086 2018 285 48.1% .503 24.6% .222 9.5% .936 2019 75 46.7% .297 30.7% .097 5.3% .494

Even when Bryant does pull fly balls, he’s not getting typical results, though since we can literally count those times on one hand thus far — four of them according to our splits, which are based on Sports Info Solution data, but only three via Statcast’s data — that’s less important than the sheer drop in frequency. That two of those pulled fly balls were in Arizona, namely the homer off Ray and Sunday’s sacrifice fly off Matt Andriese, may be a sign he’s coming around.

Bryant has gone to the opposite field with more frequency and productivity than before, at least in the air, though it hasn’t come close to matching his results when he pulls the ball:

Kris Bryant When Going Oppo Season BBE Oppo% wOBA Oppo-GB% wOBA Oppo-FB% wOBA 2015 365 23.8% .330 3.0% .320 18.4% .279 2016 452 19.7% .174 2.0% .293 14.4% .090 2017 427 22.5% .280 2.6% .239 17.3% .192 2018 285 20.0% .303 3.9% .273 11.9% .195 2019 75 32.0% .406 5.3% .219 24.0% .425

A few weeks ago, The Athletic’s Sahadev Sharma noted that Bryant’s mechanics were out of whack, quoting scouts describing him as “lunging,” with one saying, “He’s falling all over the plate.” Via Sharma, from the start of 2016 to the day of the aforementioned shoulder injury, Bryant had slugged .731 on pitches Statcast defines as being over the heart of the plate (I get .728 using the same parameters). For the remainder of the 2018 season through April 25, the point prior to the Arizona series, he slugged just .474 on such pitches. With this weekend’s pair of homers, he raised that nearly-yearlong figure to .514; separating his full 2018 and ’19 seasons, the numbers are .558 and .615, respectively.

Beyond that, while he whiffed on 3.4% of such pitches last year, he’s up to 4.8% this year, 0.1% off the career high from his rookie season, before he successfully tamed his swing, but only one of this year’s 21 swings and misses from the heart of the plate has taken place since April 19, yet another good sign.

It would be premature to say that Bryant is back to where he was as a hitter, and it’s probably worth noting that even with Chase Field’s humidor in place, fly balls are traveling farther there this year than last (331 feet, up from 329), and farther than at Wrigley Field in either season (321 this year, 315 last year). Still, for a Cubs team that has been scoring 5.5 runs per game but is struggling to escape the pull of .500, the possibility that he’s turned the corner could be a major key in the NL Central race.