Author Archive

Zack Godley Is Going Sideways

The Diamondbacks entered this year with some legitimate excitement for their starting rotation – led by Robbie Ray, Taijuan Walker, a resurgent Patrick Corbin, and the breakout Zack Godley, they emerged as a rising force in the NL West. Since a nuclear April, almost all of that excitement has slipped away as one by one their big 4 have succumbed to injury: Taijuan Walker is down with Tommy John, Robbie Ray has yet to come back from a lat strain, and Zack Godley seems to have given back all of the gains he made last year, and then some.

Godley, led by a wipeout curveball and a sharp cutter, was universally anointed as a rising star both in fantasy circles and in real life. Two-plus months into the season, and he’s universally disappointed. His command has fallen apart, he’s getting hit hard, and even his xFIP isn’t saying he’s much better than he’s performed (5.12 ERA, 4.19 xFIP). I’m going to go ahead and bury the lede, as well as spoil my findings: I think this is going to get much worse before it gets better for Godley.

Graph dump!

Zack Godley Slugging Against
GodleyAllSlg

So what I’m noticing right off the bat is his cutter and sinker suddenly started getting hit this year. Like, legitimately getting smoked. He’s had spikes like that at other times in his career, but something like that definitely puts up some red flags.

2017 Cutter Usage vs LHH
Godleyct17raw

2018 Cutter Usage vs LHH
Godleyct18raw

2017 Cutter Swing% vs LHH
Godley17ctswings

2018 Cutter Swing% vs LHH
Godley18ctswings

2017 Cutter Whiff per Swing vs LHH
Godley17ctwhiffs

2018 Cutter Whiff per Swing vs LHH
Godley18ctwhiffs

 

 

Ouch. Godley’s almost completely lost his ability to get chases outside the zone to lefties on his cutter. He’s also leaving the pitch in the zone much more than in 2017, and it’s getting hit when he does. This feels like lefties are seeing the pitch better, or have adjusted. Let’s keep going to the sinker:

 

 

2017 Sinker Usage vs RHH
Godley17fsraw

2018 Sinker Usage vs RHH
Godley18fsraw

2017 Sinker Whiff per Swing vs RHH
Godley17fswhiffs

2018 Sinker Whiff per Swing vs RHH
Godley18fswhiffs

This is…bad. Godley’s lost the entire bottom of the zone, and completely abandoned his strategy to ride the pitch down and in on right handers. He can’t buy a whiff right now, and guys still aren’t biting when it’s away. He still has decent effectiveness on the pitch over the inside part of the plate, so to me that isn’t suggestive that the pitch lost its ability to tie guys up. He just can’t get it in there.

All of this brings me to this penultimate chart:

Godley Career Horizontal Release Point
GodleyHRP

Hooooooo boy. Godley’s seen an aggressive change in his release point outwards since the beginning of 2017. His splits in 2017 get worse as he floats more towards the sidearm – BABIP went from .236 to .316; BB% 7.8% in the first half to 8.9% second; HR/9 from .52 to 1.16; only his K% got better – 24.3% to 27.9%. Those rates have continued to move in the wrong direction to start 2018 too: K% – 21%, HR/9 – 1.76, BB% – 11.2%, BABIP – .316.

I’m not sure what this means. The data suggests his pitches are flattening out a little, and he’s having issues locating side-to-side. That tells me his arm is being dragged along and getting off to the side of his pitches, rather than being on time and getting on top of them. His velocity is down across the board 1-2 mph as well, which paired with his release point issues is a major red flag. A side effect of being farther out to the side is off-hand batters get a better look at what you’re throwing (side-armers tend to be on-hand specialists), which explains why lefties have effectively stopped swinging at cutters inside. It also explains why he can’t drive his sinker in on the hands of righties – if his arm is late he’s going to miss either off the plate outside or in the middle of the zone.

To me, and I’m assuming this release point change isn’t an intentional change, there’s likely an injury that he’s pitching through. I dug through news feeds and didn’t see anything mentioning injury or soreness, but I can almost guarantee something is wrong physically. I can’t tell you what’s wrong, but I can tell you this: unless he gets his arm on-time and back in line, his struggles will continue.


Luis Castillo: A Study in Sophomore Slumps

Let me preface this: I’m biased. I absolutely LOVE Luis Castillo. His ceiling is near-unmatched in the MLB. He’s got 4 pitches that have plus-to-plus plus upside, elite velo, and age on his side. That being said, he’s been truly atrocious so far in 2018. Allow me to dive into the numbers and graphs and play a little bit of doctor!

You may know me as the guy that does the dScore evaluations of players. While I haven’t done any so far this year, I’ve kept up with the analysis on my Google Doc and I’ll probably release one closer to the All-Star Break. One thing that I’ve noticed is, despite the putrid surface-level numbers (5.64 ERA, 1.45 WHIP) Castillo has consistently scored well on my metric. Not as well as last year when he was a certified stud, but he’s floated around the lower end of the #2 breakpoint (20+ points). This tells me that, purely based on his stuff, he’s getting pretty royally unlucky – or that something else is wonky. There’s been documented evidence that his velo is down from last year and that he had an issue getting his arm slot dialed in. His last month has been measurably better, showing regression towards last year’s outcomes (K% up from 18% to 25%, BB% down from 10% to 8%, BABIP normalized from .330 to .290). The two things that haven’t regressed are pretty key to this analysis: his hard contact has stayed abnormally high (38%) and he’s continuing to not generate ground balls at near the rate he was last year (45% vs 58%).

Here’s where the fun begins.

Last year, if you remember, part of the fun of Castillo was the fact that he learned two new pitches midseason that made his stock and performance explode like it did: the sinker and the slider. His sinker, in particular, was near miraculous due to how quickly it became a vital piece in his arsenal; and the slider was a groudball inducing, line drive avoiding monster. Guess what two pitches are thorns in his side so far this year? Now I’m not here to argue that these two pitches all of a sudden are bollocks and he should consider scrapping them. I’m here to argue that he’s simply struggling to harness two new, difficult pitches to locate consistently, and that simple issue is causing a snowball effect.

I took a look at Brooks, and outside of the noticeable early-season change in his arm angle, I didn’t anything that’s super out of the ordinary there. What was weird, though, was his sinker and slider have virtually stopped generating ground balls. His pitch mix is similar to last year as is his whiff percentages (actually his sinker’s gotten somewhat more whiffy), so it’s not just simply a change in pitch profile.

2018 GB per BIP
CastilloProfile

Here’s some relevant pitch-specific zone profile graphs:

2017 Sliders vs LHH
Castillo17sl

2018 Sliders vs LHH

Castillo18sl

2017 Sinkers vs RHH

Castillo17si

2018 Sinkers vs RHH

Castillo18si

 

I chose those profiles specifically. In English, Castillo has had serious problems leaving meatball sliders to lefties and consistently hitting the backdoor sinker to righties. Addressing the sinker, what this has done is allowed right handed hitters to forget about covering the outside part of the plate on fastballs and target anything in. He’s also running it into the barrel, and not really giving the sinker a chance to get pounded into the ground. That’s borne out in the ISO profiles for the pitch:

 

2017 Sinker ISO
17isosi

2018 Sinker ISO
18isosi

 

In terms of the slider, he’s eliminated its ability to tunnel off anything vs righties, as he’s been quite good at getting that slider down and away from them. Meatballing anything is bad — especially offspeed that needs to be buried down and in vs lefties. He’s consistently been dropping it right into lefties’ nitro zone, and because he’s somewhat lost confidence in his ability to execute a good slider vs offhand, he’s been using it less as the year goes on.

In general his pitch mix and locations haven’t really seen a large change from last year. His velocity being down across the board probably hasn’t helped much at all – although it’s slowly coming back as the season goes on, and I think Castillo is going to see ups and downs the rest of the year. He’s already shown the ability to consistently locate with those pitches last year so I’d take the bet that he’ll find it again. His swinging strikes, contact, and in-zone contact rates are all in the top 10 in the MLB among starting pitchers, which tells me when he hits his spots his stuff is absolutely still intact.

My take on him for fantasy is he’s a hold/buy. I don’t believe this is mechanical, injury-related, or his stuff backing up. This is all about him basically not having the feel for two specific locations of two specific pitches. I wonder how much of this is rooted in him missing most of spring training to the birth of his kid. He maybe never got a chance to iron out his mechanics, causing the arm slot issue. Maybe his arm slot issue caused him to lose feel/command of the sinker and slider, or they didn’t get the reps needed preseason. Whatever the reason he doesn’t have feel I’m confident he’ll figure it out. I’m also confident in his value 2019 and onward, so especially in a dynasty format I’d be looking to buy.

 


Identifying Impact Hitters: Proof of Concept

Earlier this season I set out to build a tool similar in nature to my dSCORE tool, except this one was meant to identify swing-change hitters. Along the course of its construction and early-alpha testing, it morphed into something different, and maybe something more useful. What I ended up with was a tool called cHit (“change Hit”, named for swing changers but really I was just too lazy to bother coming up with a more apt acronym for what the tool actually does). cHit, in its current beta form, aims to identify hitters that tend to profile for “impact production” — simply defined as hit balls hard, and hit them in the air. Other research has identified those as ideal for XBH, so I really didn’t need to reinvent the wheel. Although I’d really like to pull in Statcast data offerings in a more refined form of this tool, simple batted ball data offered here on FanGraphs does the trick nicely.

The inner workings of this tool takes six different data points (BB%, GB%, FB%, Hard%, Soft%, Spd), compares each individual player’s stat against a league midpoint for that stat, then buffs it using a multiplier that serves to normalize each stat based on its importance to ISO. I chose ISO as it’s a pretty clean catch-all for power output.

Now here’s the trick of this tool: it’s not going to identify “good” hitters from “bad” hitters. Quality sticks like Jean Segura, Dee Gordon, Cesar Hernandez, and others show up at the bottom of the results because their game doesn’t base itself on the long ball. They do just fine for themselves hitting softer liners or ground balls and using their legs for production. Frankly, chances are if a player at the bottom of the list has a high Speed component, they’ve got a decent chance of success despite a low cHit. Nuance needs to be accounted for by the user.

Here’s how I use it to identify swing-changers (and/or regression candidates): I pulled in data for previous years, back to 2014. I compared 2017 data to 2016 data (I’ll add in comparisons for previous years in later iterations) and simply checked to see who were cHit risers or fallers. The results were telling — players we have on record as swing changers show up with significant positive gains, and players that endured some significant regression fell.

There’s an unintended, possible third use for this tool: identifying injured hitters. Gregory Polanco, Freddie Freeman, and Matt Holliday all suffered/played through injury this year, and they all fell precipitously in the rankings. I’ll need a larger sample size to see whether injuries and a fall in cHit are related or if that’s just noise.

Data!

cHit 2017
Name Team Age AB cHit Score BB% GB% FB% Hard% Soft% Spd ISO
Joey Gallo Rangers 23 449 27.56 14.10% 27.90% 54.20% 46.40% 14.70% 5.5 0.327
J.D. Martinez – – – 29 432 23.52 10.80% 38.30% 43.20% 49.00% 14.00% 4.7 0.387
Matt Carpenter Cardinals 31 497 22.46 17.50% 26.90% 50.80% 42.20% 12.10% 3.1 0.209
Aaron Judge Yankees 25 542 21.56 18.70% 34.90% 43.20% 45.30% 11.20% 4.8 0.343
Lucas Duda – – – 31 423 19.69 12.20% 30.30% 48.60% 42.10% 14.50% 0.5 0.279
Cody Bellinger Dodgers 21 480 19.26 11.70% 35.30% 47.10% 43.00% 14.00% 5.5 0.315
Miguel Sano Twins 24 424 17.73 11.20% 38.90% 40.50% 44.80% 13.50% 2.9 0.243
Jay Bruce – – – 30 555 16.50 9.20% 32.50% 46.70% 40.30% 11.70% 2.6 0.254
Trevor Story Rockies 24 503 16.39 8.80% 33.70% 47.90% 40.30% 14.40% 4.7 0.219
Justin Turner Dodgers 32 457 16.16 10.90% 31.40% 47.80% 38.90% 9.80% 3.3 0.208
Khris Davis Athletics 29 566 15.64 11.20% 38.40% 42.30% 42.10% 13.50% 3.4 0.281
Brandon Belt Giants 29 382 15.38 14.60% 29.70% 46.90% 38.40% 14.00% 4.2 0.228
Nick Castellanos Tigers 25 614 14.94 6.20% 37.30% 38.20% 43.40% 11.50% 4.6 0.218
Eric Thames Brewers 30 469 14.52 13.60% 38.40% 41.30% 41.50% 16.00% 4.6 0.271
Justin Upton – – – 29 557 14.43 11.70% 36.80% 43.70% 41.00% 19.80% 4 0.268
Justin Smoak Blue Jays 30 560 14.38 11.50% 34.30% 44.50% 39.40% 13.10% 1.7 0.259
Wil Myers Padres 26 567 14.32 10.80% 37.50% 42.90% 41.40% 19.50% 5.3 0.220
Paul Goldschmidt Diamondbacks 29 558 14.31 14.10% 46.30% 34.90% 44.30% 11.30% 5.6 0.265
Chris Davis Orioles 31 456 14.28 11.60% 36.70% 39.80% 41.50% 12.80% 2.7 0.208
Kyle Seager Mariners 29 578 13.57 8.90% 31.30% 51.60% 35.70% 13.10% 2.2 0.201
Nelson Cruz Mariners 36 556 13.35 10.90% 40.40% 41.80% 40.70% 14.70% 1.7 0.261
Mike Zunino Mariners 26 387 13.31 9.00% 32.00% 45.60% 38.60% 17.50% 1.9 0.258
Mike Trout Angels 25 402 13.16 18.50% 36.70% 44.90% 38.30% 19.00% 6.2 0.323
Corey Seager Dodgers 23 539 13.08 10.90% 42.10% 33.10% 44.00% 12.90% 2.7 0.184
Logan Morrison Rays 29 512 12.74 13.50% 33.30% 46.20% 37.40% 17.50% 2.4 0.270
Randal Grichuk Cardinals 25 412 12.61 5.90% 35.90% 42.70% 40.20% 18.20% 5.2 0.235
Salvador Perez Royals 27 471 12.50 3.40% 33.30% 47.00% 38.10% 16.50% 2.4 0.227
Michael Conforto Mets 24 373 12.42 13.00% 37.80% 37.80% 41.60% 20.20% 3.6 0.276
Matt Davidson White Sox 26 414 12.19 4.30% 36.20% 46.50% 38.20% 15.80% 1.8 0.232
Mike Napoli Rangers 35 425 12.15 10.10% 33.20% 52.10% 35.50% 21.90% 2.7 0.235
Miguel Cabrera Tigers 34 469 12.03 10.20% 39.80% 32.90% 42.50% 9.90% 1.1 0.149
Brandon Moss Royals 33 362 11.83 9.20% 33.10% 44.50% 37.30% 13.60% 2.3 0.221
Curtis Granderson – – – 36 449 11.69 13.50% 32.60% 48.80% 35.30% 17.60% 4.8 0.241
Ian Kinsler Tigers 35 551 11.64 9.00% 32.90% 46.50% 37.00% 18.70% 5.6 0.176
Edwin Encarnacion Indians 34 554 11.01 15.50% 37.10% 41.80% 37.60% 15.50% 2.7 0.245
Manny Machado Orioles 24 630 10.79 7.20% 42.10% 42.10% 39.50% 18.50% 3.3 0.213
Freddie Freeman Braves 27 440 10.72 12.60% 34.90% 40.60% 37.50% 12.40% 4.3 0.280
Nolan Arenado Rockies 26 606 10.60 9.10% 34.00% 44.90% 36.70% 17.60% 4.1 0.277
Anthony Rendon Nationals 27 508 10.41 13.90% 34.00% 47.20% 34.30% 13.00% 3.5 0.232
Yonder Alonso – – – 30 451 10.34 13.10% 33.90% 43.20% 36.00% 13.20% 2.4 0.235
Kyle Schwarber Cubs 24 422 10.24 12.10% 38.30% 46.50% 36.40% 21.30% 2.8 0.256
Carlos Gomez Rangers 31 368 10.19 7.30% 39.10% 40.30% 39.00% 16.50% 5 0.207
Luis Valbuena Angels 31 347 9.81 12.00% 38.40% 47.30% 35.80% 22.00% 1.3 0.233
Dexter Fowler Cardinals 31 420 9.61 12.80% 39.40% 38.20% 38.10% 12.70% 5.9 0.224
Jed Lowrie Athletics 33 567 9.40 11.30% 29.40% 43.50% 34.50% 12.10% 2.7 0.171
Giancarlo Stanton Marlins 27 597 8.96 12.30% 44.60% 39.40% 38.90% 20.80% 2.3 0.350
Jose Abreu White Sox 30 621 8.95 5.20% 45.30% 36.40% 40.50% 15.80% 4.4 0.248
Josh Donaldson Blue Jays 31 415 8.92 15.30% 41.00% 42.30% 36.30% 17.30% 1.6 0.289
Joey Votto Reds 33 559 8.87 19.00% 39.00% 38.00% 36.30% 10.40% 2.8 0.258
Victor Martinez Tigers 38 392 8.75 8.30% 42.10% 34.20% 39.90% 12.40% 0.9 0.117
Charlie Blackmon Rockies 31 644 8.63 9.00% 40.70% 37.00% 39.00% 17.10% 6.4 0.270
Mitch Moreland Red Sox 31 508 8.43 9.90% 43.40% 36.20% 38.90% 13.50% 1.7 0.197
Scott Schebler Reds 26 473 8.29 7.30% 45.60% 38.20% 39.40% 19.30% 3.9 0.252
Paul DeJong Cardinals 23 417 8.19 4.70% 33.70% 42.90% 36.40% 21.40% 2.5 0.247
Ryan Zimmerman Nationals 32 524 8.18 7.60% 46.40% 33.70% 40.50% 14.10% 2.2 0.269
Mookie Betts Red Sox 24 628 7.76 10.80% 40.40% 42.80% 35.70% 18.20% 5.5 0.194
Rougned Odor Rangers 23 607 7.61 4.90% 41.50% 42.20% 36.80% 18.50% 5.6 0.193
Francisco Lindor Indians 23 651 7.42 8.30% 39.20% 42.40% 35.20% 14.30% 5.1 0.232
Brad Miller Rays 27 338 7.39 15.50% 47.40% 36.10% 38.40% 18.10% 4.6 0.136
Daniel Murphy Nationals 32 534 6.97 8.80% 33.50% 38.90% 35.70% 16.70% 3.8 0.221
Travis Shaw Brewers 27 538 6.87 9.90% 42.50% 37.60% 37.10% 15.80% 4.5 0.240
Jake Lamb Diamondbacks 26 536 6.86 13.70% 41.10% 38.30% 35.70% 12.90% 4.4 0.239
Todd Frazier – – – 31 474 6.75 14.40% 34.20% 47.50% 32.20% 23.20% 3.1 0.215
Yasmani Grandal Dodgers 28 438 6.63 8.30% 43.50% 40.00% 36.50% 17.60% 1.1 0.212
Brian Dozier Twins 30 617 6.60 11.10% 38.40% 42.60% 34.10% 15.90% 5.2 0.227
Adam Duvall Reds 28 587 6.55 6.00% 33.20% 48.60% 31.80% 17.50% 3.9 0.232
Hunter Renfroe Padres 25 445 6.52 5.60% 37.90% 45.40% 34.60% 23.50% 3.2 0.236
Justin Bour Marlins 29 377 6.40 11.00% 43.40% 33.60% 38.80% 19.60% 1.6 0.247
Carlos Correa Astros 22 422 6.33 11.00% 47.90% 31.70% 39.50% 15.00% 3.2 0.235
Marcell Ozuna Marlins 26 613 6.09 9.40% 47.10% 33.50% 39.10% 18.30% 2.3 0.237
Domingo Santana Brewers 24 525 5.85 12.00% 44.90% 27.70% 39.70% 11.70% 4 0.227
Kris Bryant Cubs 25 549 5.83 14.30% 37.70% 42.40% 32.80% 14.80% 4.4 0.242
Gary Sanchez Yankees 24 471 5.47 7.60% 42.30% 36.60% 36.90% 18.60% 2.6 0.253
Asdrubal Cabrera Mets 31 479 5.46 9.30% 43.50% 36.20% 36.80% 17.20% 2.5 0.154
Austin Hedges Padres 24 387 5.37 5.50% 36.60% 45.70% 33.10% 22.30% 2.7 0.183
Logan Forsythe Dodgers 30 361 5.33 15.70% 44.00% 33.10% 36.60% 13.20% 2.8 0.102
Yadier Molina Cardinals 34 501 5.25 5.20% 42.20% 37.40% 36.40% 16.50% 3.9 0.166
Bryce Harper Nationals 24 420 5.07 13.80% 40.40% 37.60% 34.30% 13.30% 3.7 0.276
Neil Walker – – – 31 385 5.01 12.30% 36.20% 41.70% 32.80% 17.70% 2.8 0.174
Aaron Altherr Phillies 26 372 5.01 7.80% 43.10% 37.50% 36.40% 20.10% 5.5 0.245
Andrew McCutchen Pirates 30 570 4.90 11.20% 40.70% 37.40% 35.20% 17.50% 4.3 0.207
Eduardo Escobar Twins 28 457 4.86 6.60% 33.70% 45.30% 31.40% 16.00% 5.1 0.195
Anthony Rizzo Cubs 27 572 4.79 13.20% 40.70% 39.20% 34.40% 19.80% 4.4 0.234
Ryan Braun Brewers 33 380 4.73 8.90% 49.20% 31.90% 39.00% 19.20% 5.3 0.218
Kendrys Morales Blue Jays 34 557 4.56 7.10% 48.40% 33.20% 37.90% 15.20% 1.1 0.196
Jose Ramirez Indians 24 585 4.54 8.10% 38.90% 39.70% 34.00% 16.70% 6 0.265
Mike Moustakas Royals 28 555 4.51 5.70% 34.80% 45.70% 31.90% 21.20% 1.1 0.249
Andrew Benintendi Red Sox 22 573 4.50 10.60% 40.10% 38.40% 34.30% 16.60% 4.5 0.154
Jose Bautista Blue Jays 36 587 4.47 12.20% 37.70% 45.80% 31.40% 21.70% 3.4 0.164
Jason Castro Twins 30 356 4.36 11.10% 41.90% 33.50% 36.00% 14.00% 1.5 0.146
Albert Pujols Angels 37 593 4.12 5.80% 43.50% 38.10% 35.10% 15.90% 2.1 0.145
Hanley Ramirez Red Sox 33 496 4.04 9.20% 41.80% 37.10% 35.30% 20.00% 1.5 0.188
Tommy Joseph Phillies 25 495 3.99 6.20% 41.70% 39.00% 35.00% 20.90% 2.2 0.192
Tim Beckham – – – 27 533 3.99 6.30% 48.80% 29.50% 39.10% 15.50% 4.4 0.176
Jonathan Schoop Orioles 25 622 3.90 5.20% 41.90% 37.20% 36.10% 23.00% 2.2 0.211
George Springer Astros 27 548 3.58 10.20% 48.30% 33.80% 36.70% 17.90% 3.1 0.239
Carlos Beltran Astros 40 467 3.54 6.50% 43.10% 40.40% 33.70% 17.50% 1.8 0.152
Alex Bregman Astros 23 556 3.52 8.80% 38.40% 39.90% 33.00% 18.00% 5.9 0.191
Carlos Santana Indians 31 571 3.49 13.20% 40.80% 39.30% 33.00% 18.40% 4 0.196
Eugenio Suarez Reds 25 534 3.33 13.30% 38.90% 37.10% 33.80% 20.70% 3.1 0.200
Scooter Gennett Reds 27 461 3.29 6.00% 41.30% 37.60% 34.40% 17.20% 4.3 0.236
Mark Reynolds Rockies 33 520 3.26 11.60% 42.10% 36.30% 34.50% 19.00% 2.7 0.219
Josh Reddick Astros 30 477 3.23 8.00% 33.60% 42.30% 31.10% 17.20% 4.8 0.170
Mitch Haniger Mariners 26 369 2.97 7.60% 44.00% 36.70% 34.70% 17.70% 4.3 0.209
Ian Happ Cubs 22 364 2.92 9.40% 40.20% 39.70% 32.80% 18.70% 5.7 0.261
Josh Harrison Pirates 29 486 2.90 5.20% 36.50% 40.80% 32.40% 18.70% 4.9 0.160
Keon Broxton Brewers 27 414 2.78 8.60% 45.10% 34.60% 35.30% 17.00% 7.4 0.200
Matt Joyce Athletics 32 469 2.69 12.10% 37.80% 42.80% 30.30% 16.30% 3.2 0.230
Derek Dietrich Marlins 27 406 2.65 7.80% 36.50% 40.70% 32.10% 20.50% 3.9 0.175
Ryon Healy Athletics 25 576 2.56 3.80% 42.80% 38.20% 33.90% 16.50% 1.4 0.181
Evan Longoria Rays 31 613 2.50 6.80% 43.40% 36.80% 34.30% 18.00% 3.8 0.163
Zack Cozart Reds 31 438 2.49 12.20% 38.20% 42.30% 30.80% 19.50% 5.3 0.251
Robinson Cano Mariners 34 592 2.48 7.60% 50.00% 30.60% 36.90% 12.80% 2 0.172
Max Kepler Twins 24 511 2.39 8.30% 42.80% 39.50% 32.90% 18.70% 4.2 0.182
Steven Souza Jr. Rays 28 523 2.22 13.60% 44.60% 34.30% 34.10% 16.50% 4.8 0.220
Michael Taylor Nationals 26 399 2.17 6.70% 42.90% 36.70% 34.00% 18.10% 5.9 0.216
Yulieski Gurriel Astros 33 529 2.12 3.90% 46.20% 35.20% 35.10% 15.90% 2.8 0.187
Corey Dickerson Rays 28 588 1.24 5.60% 41.80% 35.80% 33.60% 18.70% 4 0.207
Whit Merrifield Royals 28 587 1.01 4.60% 37.70% 40.50% 30.60% 15.40% 6.7 0.172
Chris Taylor Dodgers 26 514 0.88 8.80% 41.50% 35.80% 32.40% 15.80% 6.4 0.208
A.J. Pollock Diamondbacks 29 425 0.81 7.50% 44.60% 32.10% 35.00% 19.80% 7.5 0.205
Marwin Gonzalez Astros 28 455 0.71 9.50% 43.90% 36.20% 32.70% 18.60% 3.2 0.226
Yangervis Solarte Padres 29 466 0.62 7.20% 41.60% 42.10% 31.10% 25.20% 2.4 0.161
Shin-Soo Choo Rangers 34 544 0.57 12.10% 48.80% 26.20% 36.10% 12.20% 4.7 0.162
Buster Posey Giants 30 494 0.50 10.70% 43.60% 33.00% 33.00% 14.10% 2.8 0.142
Jedd Gyorko Cardinals 28 426 0.48 9.80% 40.50% 39.30% 30.80% 19.20% 3.8 0.200
Yasiel Puig Dodgers 26 499 0.30 11.20% 48.30% 35.60% 32.90% 18.30% 4.4 0.224
Eddie Rosario Twins 25 542 0.12 5.90% 42.40% 37.40% 31.70% 16.70% 3.9 0.218
J.T. Realmuto Marlins 26 532 -0.01 6.20% 47.80% 34.30% 33.30% 14.90% 5 0.173
Jorge Bonifacio Royals 24 384 -0.20 8.30% 39.30% 34.80% 32.20% 20.20% 2.9 0.177
Gerardo Parra Rockies 30 392 -0.27 4.70% 46.80% 30.30% 34.70% 14.40% 3 0.143
Willson Contreras Cubs 25 377 -0.34 10.50% 53.30% 29.30% 35.50% 17.00% 2.4 0.223
Kole Calhoun Angels 29 569 -0.37 10.90% 43.90% 35.00% 31.80% 17.00% 3.7 0.148
Robbie Grossman Twins 27 382 -0.43 14.70% 40.70% 34.40% 30.90% 16.00% 3.5 0.134
Matt Holliday Yankees 37 373 -0.46 10.80% 47.70% 37.50% 31.80% 21.20% 2.1 0.201
Mark Trumbo Orioles 31 559 -0.47 7.00% 43.30% 40.60% 30.40% 20.90% 2.5 0.163
Stephen Piscotty Cardinals 26 341 -0.80 13.00% 49.20% 33.20% 32.70% 17.90% 2.7 0.132
Tommy Pham Cardinals 29 444 -0.86 13.40% 51.70% 26.10% 35.50% 15.40% 6 0.214
Joe Mauer Twins 34 525 -0.92 11.10% 51.50% 23.60% 36.40% 12.80% 2.4 0.112
Jackie Bradley Jr. Red Sox 27 482 -0.94 8.90% 49.00% 32.60% 33.30% 17.50% 4.5 0.158
Brandon Crawford Giants 30 518 -0.98 7.40% 46.20% 34.40% 32.60% 19.30% 2.5 0.151
Nomar Mazara Rangers 22 554 -1.13 8.90% 46.50% 34.20% 32.60% 20.90% 2.6 0.170
Ben Zobrist Cubs 36 435 -1.35 10.90% 51.10% 33.30% 32.30% 14.90% 3.6 0.143
Javier Baez Cubs 24 469 -1.36 5.90% 48.60% 36.00% 32.40% 21.30% 5.3 0.207
Jorge Polanco Twins 23 488 -1.42 7.50% 37.90% 42.80% 27.70% 19.90% 4.9 0.154
Avisail Garcia White Sox 26 518 -1.70 5.90% 52.20% 27.50% 35.30% 15.70% 4.3 0.176
Matt Kemp Braves 32 438 -1.76 5.80% 48.50% 28.20% 34.70% 17.40% 1.7 0.187
Maikel Franco Phillies 24 575 -2.04 6.60% 45.40% 36.70% 30.90% 20.80% 1.5 0.179
Nick Markakis Braves 33 593 -2.17 10.10% 48.60% 29.20% 33.10% 15.60% 1.9 0.110
Tucker Barnhart Reds 26 370 -2.46 9.90% 46.00% 27.80% 33.20% 16.50% 3.4 0.132
Trey Mancini Orioles 25 543 -2.48 5.60% 51.00% 29.70% 34.10% 19.60% 3.2 0.195
Christian Yelich Marlins 25 602 -2.51 11.50% 55.40% 25.20% 35.20% 15.90% 5.2 0.156
Lorenzo Cain Royals 31 584 -2.79 8.40% 44.40% 32.90% 31.10% 18.70% 6.5 0.140
Josh Bell Pirates 24 549 -2.87 10.60% 51.10% 31.20% 32.60% 20.60% 3.5 0.211
Jose Reyes Mets 34 501 -3.00 8.90% 37.20% 43.10% 26.70% 26.10% 7.2 0.168
Carlos Gonzalez Rockies 31 470 -3.04 10.50% 48.60% 31.70% 31.90% 20.50% 3.2 0.162
Adam Jones Orioles 31 597 -3.27 4.30% 44.80% 34.30% 30.90% 20.10% 2.7 0.181
Byron Buxton Twins 23 462 -3.57 7.40% 38.70% 38.00% 27.60% 18.20% 8.2 0.160
Kevin Kiermaier Rays 27 380 -3.81 7.40% 49.60% 32.10% 31.80% 22.00% 5.9 0.174
Chase Headley Yankees 33 512 -3.90 10.20% 43.50% 31.70% 30.00% 17.10% 4.3 0.133
Xander Bogaerts Red Sox 24 571 -4.31 8.80% 48.90% 30.50% 31.40% 19.70% 6.7 0.130
Jordy Mercer Pirates 30 502 -4.33 9.10% 48.30% 30.90% 31.00% 19.00% 2.9 0.151
Brandon Drury Diamondbacks 24 445 -4.44 5.80% 48.80% 29.40% 31.70% 16.60% 2.4 0.180
Alex Gordon Royals 33 476 -4.69 8.30% 42.60% 33.00% 29.20% 19.40% 4.3 0.107
Ben Gamel Mariners 25 509 -4.84 6.50% 44.90% 33.30% 29.40% 18.70% 4.9 0.138
Hernan Perez Brewers 26 432 -4.85 4.40% 48.30% 33.50% 30.40% 21.20% 5.3 0.155
Matt Wieters Nationals 31 422 -4.94 8.20% 42.50% 36.40% 27.40% 18.10% 2 0.118
Brett Gardner Yankees 33 594 -5.07 10.60% 44.50% 33.20% 28.80% 20.00% 6 0.163
Odubel Herrera Phillies 25 526 -5.10 5.50% 44.10% 34.70% 29.40% 24.40% 4.3 0.171
Freddy Galvis Phillies 27 608 -5.11 6.80% 36.70% 39.20% 25.50% 18.10% 5.3 0.127
Elvis Andrus Rangers 28 643 -5.13 5.50% 48.50% 31.50% 30.50% 18.70% 5.7 0.174
Danny Valencia Mariners 32 450 -5.93 8.00% 47.90% 31.00% 29.80% 20.50% 3.3 0.156
Kevin Pillar Blue Jays 28 587 -6.25 5.20% 43.10% 36.40% 27.30% 22.50% 4.4 0.148
Dansby Swanson Braves 23 488 -6.35 10.70% 47.40% 29.40% 29.30% 18.00% 3.2 0.092
Jose Altuve Astros 27 590 -6.45 8.80% 47.00% 32.70% 28.20% 19.00% 6.4 0.202
Alcides Escobar Royals 30 599 -6.47 2.40% 40.80% 37.40% 26.80% 22.80% 4.3 0.107
Andrelton Simmons Angels 27 589 -6.62 7.30% 49.50% 31.50% 29.30% 20.60% 5 0.143
Didi Gregorius Yankees 27 534 -6.91 4.40% 36.20% 43.80% 23.10% 24.40% 2.7 0.191
Ryan Goins Blue Jays 29 418 -6.94 6.80% 50.30% 34.80% 27.70% 19.60% 2.7 0.120
Gregory Polanco Pirates 25 379 -7.00 6.60% 42.20% 37.50% 25.90% 22.80% 3.7 0.140
David Peralta Diamondbacks 29 525 -7.02 7.50% 55.10% 26.50% 31.80% 21.20% 4.6 0.150
Kolten Wong Cardinals 26 354 -7.11 10.00% 48.10% 31.80% 28.20% 20.80% 5.4 0.127
Orlando Arcia Brewers 22 506 -7.74 6.60% 51.60% 28.50% 30.20% 22.90% 4.1 0.130
Martin Maldonado Angels 30 429 -7.80 3.20% 48.50% 36.60% 26.70% 21.60% 2.3 0.147
Cory Spangenberg Padres 26 444 -7.85 7.00% 49.30% 27.80% 29.20% 16.90% 5 0.137
Joe Panik Giants 26 511 -7.96 8.00% 44.00% 34.10% 26.10% 20.10% 4.2 0.133
David Freese Pirates 34 426 -8.08 11.50% 57.00% 22.60% 31.90% 19.40% 1 0.108
Melky Cabrera – – – 32 620 -8.14 5.40% 48.90% 29.00% 28.90% 19.00% 2.3 0.137
Hunter Pence Giants 34 493 -8.28 7.40% 57.20% 29.40% 29.40% 18.50% 3.6 0.126
Manuel Margot Padres 22 487 -8.30 6.60% 40.50% 36.30% 25.40% 25.90% 6.1 0.146
Trea Turner Nationals 24 412 -8.61 6.70% 51.70% 33.50% 26.70% 18.00% 8.9 0.167
Jonathan Villar Brewers 26 403 -8.85 6.90% 57.40% 21.90% 33.20% 27.00% 5.4 0.132
Starlin Castro Yankees 27 443 -9.19 4.90% 51.80% 28.00% 29.20% 21.80% 3.5 0.153
Denard Span Giants 33 497 -9.30 7.40% 45.00% 33.60% 25.10% 18.60% 5.5 0.155
Jacoby Ellsbury Yankees 33 356 -9.73 10.00% 45.90% 31.00% 26.10% 22.70% 7.7 0.138
Delino DeShields Rangers 24 376 -9.93 10.00% 45.10% 34.80% 23.90% 20.10% 7.1 0.098
Adam Frazier Pirates 25 406 -9.98 7.90% 47.90% 26.80% 27.50% 17.90% 5.7 0.123
DJ LeMahieu Rockies 28 609 -10.42 8.70% 55.60% 19.70% 30.60% 15.40% 3.9 0.099
Yolmer Sanchez White Sox 25 484 -10.53 6.60% 44.50% 33.90% 24.00% 19.30% 5.3 0.147
Jason Heyward Cubs 27 432 -10.54 8.50% 47.40% 32.70% 25.50% 25.80% 4.3 0.130
Tim Anderson White Sox 24 587 -10.66 2.10% 52.70% 28.00% 28.30% 21.30% 6.2 0.145
Jean Segura Mariners 27 524 -10.79 6.00% 54.30% 26.40% 28.30% 19.70% 5.5 0.128
Cameron Maybin – – – 30 395 -10.88 11.30% 57.70% 27.90% 27.40% 20.10% 6.9 0.137
Dustin Pedroia Red Sox 33 406 -10.90 10.60% 48.80% 28.80% 25.90% 20.10% 2.2 0.099
Jose Iglesias Tigers 27 463 -10.91 4.30% 50.40% 26.40% 28.40% 23.40% 4.2 0.114
Eric Hosmer Royals 27 603 -11.30 9.80% 55.60% 22.20% 29.50% 21.80% 3.4 0.179
Eduardo Nunez – – – 30 467 -12.27 3.70% 53.40% 29.10% 26.70% 24.50% 4.8 0.148
Jon Jay Cubs 32 379 -12.53 8.50% 47.10% 23.90% 25.30% 11.50% 5.3 0.079
Brandon Phillips – – – 36 572 -12.97 3.50% 49.50% 28.30% 25.50% 21.70% 4.1 0.131
Guillermo Heredia Mariners 26 386 -15.19 6.30% 47.40% 34.90% 20.40% 23.80% 2.2 0.088
Ender Inciarte Braves 26 662 -15.36 6.80% 47.00% 29.10% 22.10% 20.90% 5.4 0.106
Jonathan Lucroy – – – 31 423 -16.18 9.60% 53.50% 27.90% 22.30% 20.50% 3.1 0.106
Jose Peraza Reds 23 487 -16.45 3.90% 47.10% 31.30% 21.40% 26.60% 5.8 0.066
Cesar Hernandez Phillies 27 511 -18.08 10.60% 52.80% 24.60% 22.10% 23.50% 6 0.127
Billy Hamilton Reds 26 582 -21.80 7.00% 45.80% 30.60% 16.00% 25.00% 9 0.088
Dee Gordon Marlins 29 653 -28.88 3.60% 57.60% 19.60% 16.10% 24.70% 8.5 0.067

Okay, so here’s the breakdown. I pulled all 2017 hitters with 400 at-bats or more so I could capture some significant hitters that didn’t have qualifying numbers of ABs due to injury. Ball-bludgeon extraordinaire Joey Gallo is a pretty solid name to have heading up this list, as he’s pretty much the human definition of what this tool is trying to identify. JD Martinez, Aaron Judge, Cody Bellinger, Miguel Sano, Trevor Story, and Justin Turner all in the top 10 is pretty much all the proof-of-concept I needed.

Interesting notes:

Brandon Belt at 12 — Someone needs to tell the Giants to trade him to literally any other team, stat.

Giancarlo Stanton at 46 — Surprisingly, the MVP fell off from his stats in 2016. His grounders and soft contact rose by 3 or more percentage points, and shaved off the equivalent from hard and fly balls. His output was fueled by adding almost 200 ABs to his season — he could actually get better if he can stay healthy and add those hard flies back in!

Francisco Lindor at 58 — The interesting part of this is even though Lindor is still a decent way down the list, he actually was the biggest gainer from last season to this, adding 9.52 points to his cHit. We knew he was gunning for flies from the outset of the season, and it looks like his mission was accomplished.

Mike Moustakas at 87 — Frankly, being bookended by Jose Ramirez and Andrew Benintendi should, in a vacuum, should be great company. But this is a prime example of how cHit requires users to not take the numbers at face value. Ramirez and Benintendi aren’t slug-first hitters like Moose. They’ve got significantly better Speed scores, plus aren’t as prone to soft contact. I’d be very wary of Moose regressing, as he seems to rely on sneaking some less-than ideal homers over fences. If he goes to San Francisco I could see his value crater (see Belt, Brandon).

Eric Hosmer at 206 — Nope, negative, pass, I’m trying to sign quality hitters here <— Suggested responses for GMs when approached this offseason by Scott Boras on behalf of Hosmer.

Final Notes:

  •  Batted-ball distribution data is noticeably absent. In one of my iterations I added in those stats, and found that they actually regressed the accuracy of the formula. It doesn’t matter where you hit the ball, as long as you hit it hard.
  • Medium% and LD% are noisy stats. They also regressed the formula.
  • I may look to replace BB% in future iterations. For now though, it does a decent job of capturing plate discipline and selectivity.
  • K% doesn’t seem to have much of an impact on cHit (see Gallo, Joey).
  • R-squared numbers over the last four years of data hold pretty steady between .65 and .75, which is really encouraging. Also, the bigger the pool of data per year (number of batters analyzed), the higher R-squared goes; which is ultimately the most encouraging result of this whole endeavor.

Input is greatly appreciated! I’m not a mathematician in any stretch of the imagination, so if there’s a better way of going about this I’d love to hear it. I’ll do a writeup about my swing-change findings at a later date.


dScore: End of August SP Evaluations

I went over the starters version of dScore here, so I’m not going to re-visit that here. I’ll just jump right in with the list!

Top Performing SP by Arsenal, 2017
Rank Name Team dScore +/-
1 Corey Kluber Indians 69.41 +2
2 Max Scherzer Nationals 62.97 -1
3 Chris Sale Red Sox 56.82 -1
4 Clayton Kershaw Dodgers 55.26 +1
5 Noah Syndergaard Mets 47.39 +2
6 Stephen Strasburg Nationals 47.24 +5
7 Danny Salazar Indians 43.46 +16
8 Randall Delgado Diamondbacks 42.00 +1
9 Luis Castillo Reds 37.99 +5
10 Alex Wood Dodgers 40.72 -8
11 Zack Godley Diamondbacks 39.55 -1
12 Luis Severino Yankees 39.24 +1
13 Jacob deGrom Mets 36.69 -1
14 Dallas Keuchel Astros 37.37 -8
15 James Paxton Mariners 35.81 +1
16 Carlos Carrasco Indians 34.23 +4
17 Sonny Gray Yankees 30.59 UR
18 Brad Peacock Astros 29.98 +6
19 Lance McCullers Astros 32.18 -11
20 Buck Farmer Tigers 31.31 UR
21 Nate Karns Royals 30.21 -2
22 Zack Greinke Diamondbacks 29.45 -4
23 Charlie Morton Astros 28.55 UR
24 Kenta Maeda Dodgers 27.40 -7
25 Masahiro Tanaka Yankees 26.83 -3

 

Risers/Fallers

Danny Salazar (+16) – dScore never gave up on him, despite him being absolute trash early on this year. He came back and dominated, launching him up the ranks even farther in the process. Current status: injured. Again.

Sonny Gray (newly ranked) – If there were any doubts about the Gray the Yankees dealt for, he’s actually surpassed his dScore from his fantastic 2015 season. He’s legit (again).

Alex Wood (-8) – Looks like the shoulder issues took a bit of a toll on his stuff, but dScore certainly isn’t out on him.

Dallas Keuchel (-8) – Keuchel’s stuff isn’t the issue. He’s still a buy for me.

Lance McCullers (-11) – Poor Astros. Maybe not too poor though; their aces have gotten hammered but haven’t fallen far at all. McCullers is going to bounce back.

 

The Studs

Some light flip-flopping at the top, with Kluber taking over at #1 from Scherzer. The Klubot’s been SO unconscious. Everyone else is pretty much the usual suspects.

 

The Young Breakouts (re-visited)

Zack Godley (11) – He’s keeping on keeping on. He barely moved since last month’s update, and I’m all-in on him being a stud going forward.

Luis Castillo (9) – He’s certainly done nothing to minimize the hype. In fact, he’s added a purely disgusting sinker to his arsenal and it’s raising the value of everything he throws. Also, from a quick glance at the Pitchf/x leaderboards, two things stand out to me. He seems to have two pitches that line up pretty closely to two top-end pitches: his four-seamer has a near clone in Luis Severino’s, and his changeup is incredibly similar to Danny Salazar’s. That’s a nasty combo.

James Paxton (15) 

 

The Test Case

Buck Farmer (20) – Okay, so to be honest when he showed up on this list, I absolutely thought it was a total whiff. By ERA he’s been a waste, but he’s really living on truly elite in-zone contact management, swinging strikes, K/BB, and hard-hit minimization. His pitch profile is middling (not bad, but not great either), so I really don’t think he’s going to stay this high much longer. He’s certainly doing enough to earn this spot right now, and I’d expect him to not run a 6+ ERA for much longer.

 

The Loaded Teams

Yankees – Luis Severino (12), Sonny Gray (17), Masahiro Tanaka (25) / Some teams have guys higher up, but the Yankees are loaded up and down.

Astros – Dallas Keuchel (14), Lance McCullers (19), Brad Peacock (18), Charlie Morton (23) / Similar to the Yankees. Morton and Peacock are having simply phenomenal years.

 

The Dropouts

Rich Hill (39)

Trevor Cahill (35)

Marcus Stroman (28)

Poor Rich Hill. Lost his perfect game, then lost the game, then lost his spot in the top 25. Cahill’s regressed to #DumpsterFireTrevor since his trade to the Royals. Stroman really didn’t fall that far…and his slider is still a work of art.

 

The Just Missed

Jordan Montgomery (26) – Too bad the Yankees couldn’t send down Sabathia instead. This kid is good.

Aaron Nola (27) – #Ace

Carlos Martinez (29) – Martinez simply teases ace upside, but frankly I think you can pretty much lump him and Chris Archer (30) in the same group — high strikeouts, too many baserunners and sub-ace starts to move into the top tier.

Dinelson Lamet (32) – He’s absolutely got the stuff. He could stand to work on his batted-ball control though.

Jimmy Nelson (34) – dScore buys his changes. He finished at #148 last year. I’ll call him a #2/3 going forward.

 

Notes from Farther Down

Jose Berrios is all the way down to 47. His last month cost him 19 spots, but frankly it could be much worse: Sean Manaea lost 39 spots, down to 87. Manaea really looks lost out there. I don’t want to point at the shoulder injury he had earlier this year since his performance really didn’t drop off after that…but I’m wondering if he’s suffering from some fatigue that’s not helped by that. He’s pretty much stopped throwing his toxic backfoot slider to righties, and that’s cost him his strikeouts. Michael Wacha is another Gray-like Phoenix: he’s up to 52 on the list, once again outperforming his 2015 year. I’m cautiously buying him as a #3 with upside. And finally, buzz round: Mike Clevinger (33)Alex Meyer (36)Robbie Ray (38)Rafael Montero (41), and Jacob Faria (43) are already ranked quite highly, and outside of Montero and maybe Meyer I could see all of them bumping up even higher. Clevinger’s really only consistency away from being a legitimate stud.

 

My next update will be the end-of-season update, so I think I’m going to do a larger ranking than just the top 25; maybe all the way down to 100. Enjoy the last month-plus!


Maikel Franco Is Adjusting

Baseball Prospectus, in their 2015 scouting report of Maikel Franco, had this to say:

“Extremely aggressive approach; will guess, leading to misses or weak contact against soft stuff; gets out in front of ball often—creates hole with breaking stuff away; despite excellent hand-eye and bat speed, hit tool may end up playing down due to approach…”

We saw early this year, and even last year, that exact prediction come to life. Franco seemed to be flailing about vs the soft stuff, beating too many pitches into the ground, and even popping too many up. He never really stopped hitting the ball hard, but we saw too many of those hit in non-ideal ways. For most of the first part of this year the slider gave him absolute fits, and Alex Stumpf wrote about that here. He’s striking out at a career-low rate (13% on the year), but he still isn’t really walking that much although it’s bounced up a percentage point from last year (7.3% in 2017).

Here’s a rundown of his career batted-ball profiles:

ballprofile

I was watching the Phillies game vs. the Marlins on the 18th, and Franco went 3-4 with the go-ahead HR off Dustin McGowan. His HR came on a slider middle-away — literally the exact pitch that’s done nothing but given him fits all year. I also noticed that his batting stance seemed to be different. More upright, quieter. I pulled up a highlight video of an at-bat from early May. Here’s a screencap of his stance just before the pitcher starts his delivery:

francold

That AB ended in an RBI line drive to right. Here’s a screencap of the HR in question from Tuesday, at a similar point in the pitcher’s delivery:

franconew

Now if that’s not a mechanical change, I don’t know what is. He’s closed off his stance, eliminated a lot of the knee bend, and seems to have raised his hands juuuuuust a touch. It could be the difference in the camera angle though. Phillies hitting coach Matt Stairs mentioned they’d been trying to get Franco to cut down on his leg kick, so let’s look at that too:
Old leg kick:

oldlegkick

New:

newlegkick

Shortly after contact, old:

pocold

and the recent HR, similar point:

newpoc

The “leg kick” seems to be more of a toe tap, and hasn’t changed. What did change, though, is the quality of his follow-through. His head is on ball, he’s better transferred his weight to his front foot, and the results follow. The old AB was a line-drive single opposite field, which looks less of an intentional opposite-field hit and more of a product of bad mechanics. Being so open, he really could only go to right field with authority. If he tried to pull it he’d roll over the pitch. That also would cause him to struggle with the breaking pitch away, which he’d bounce to second. Closing off has allowed him to better get the bat head into a more ideal position to cover the whole plate with authority. He’s always had the bat control to make contact everywhere, but it looks now like he’s improved his chances of making quality contact all over the zone. Here’s the same look at his batted-ball profile since the start of July:

bballnew

Here’s some assorted metrics, same time period:

kbbnew

vs. his career metrics:

metricscareer

He’s cut his grounders by over 10%, raised his liners by 3%, and turned the rest into fly balls (8%). He’s likely always going to have a pop-up issue, but his pull/center/oppo profile is back to where he was at in 15/16, and he’s hitting the ball hard at a higher rate than ever. Also, his strikeout rate is 6%(!!!!!!)!!!!! He’s making more contact than ever, and that contact is better than ever.

We’ve seen Franco get us hyped before, but never before has there been this type of major mechanical change to point to. Miguel Sano did something similar preseason by raising his hands and quieting his pre-swing load, and it’s paid dividends. Since I started this article, Franco went 2-4 with a single, double, and sac fly; and three of those batted-ball events were hit at 100+mph (the single and double; he was robbed by the 3B on a sharp liner as well).

Going back to his 2015 scouting report: Franco’s still aggressive, if not slowly becoming less aggressive the more he’s in the majors. By changing up his stance, however, he’s closed up the two major holes in his report: getting out in front of the breakers away, and bad contact on soft stuff. Keep an eye on this. One of the more frustrating hyped prospects seems to have made the transformation we all hoped he would, right in front of our eyes.


dSCORE: Starting Pitcher Evaluations

Early this spring I did a writeup on dScore (“Dominance Score), an algorithm that aims to identify early on pitcher “true talent.” That article reviewed RP performance for 2016.

Here’s a quick review of dScore and how it works:

dScore takes each pitcher and divides them up into a bunch of stats (K-BB%, Hard/Soft%, contact metrics, swinging strikes; as well as breaking down each pitch in their arsenal by weights and movements). We then weight each metric based on indication of success–for relievers, having one or two premium pitches, missing bats, and minimizing hard contact are ideal; whereas starters tend to thrive with a better overall arsenal, minimizing contact, and minimizing baserunners. Below is a breakdown of the metrics we used in our SP evaluations:

Performance metrics: WHIP, K/BB%, Soft%, Hard%, GB%, Contact%, SwStk%, Z-Contact%, O-Contact%

Pitch metrics: wPitch, vPitch (where “Pitch”= FA, FT, CU, SL, CH)

Our current weighting for SPs is a bit more subjective and complex than our RP weighting system, but I’m looking to implement a similar weighting system to the way we weight RP metrics in this evaluation in the near future.

dScore has been around for a year or so now, and one thing I was asked when I initially posted was whether or not it has any “predictive” tendencies. The answer is a pretty clear “no”–BUT what it does do very, very well is validate performance. There’s a fine line between saying “the numbers say pitcher X’s going to stay good” and saying “pitcher X has been good, and this confirms he’s been good”. The problem with the metric is it uses per-pitch statistics, rather than Fielding-Independent metrics. What that means is at a technical level, dScore views the pitcher as directly responsible for everything that happened after a pitch is thrown. There’s been a few outside cases that I’ll get into in a later article; but generally if a pitcher’s been bad, he’s generally viewed as having been bad, or vice versa. It seems particularly bad at projecting regression from underperformance, although I haven’t been tracking pitcher movement as well as I should. I’ll look to implement some sort of evaluation by next year.

 

Top Performing SP by Arsenal, 2017
Rank Name Team dScore
1 Max Scherzer Nationals 55.73
2 Alex Wood Dodgers 55.54
3 Corey Kluber Indians 49.15
4 Chris Sale Red Sox 46.43
5 Clayton Kershaw Dodgers 43.53
6 Dallas Keuchel Astros 38.90
7 Noah Syndergaard Mets 33.45
8 Lance McCullers Astros 32.17
9 Randall Delgado Diamondbacks 30.50
10 Zack Godley Diamondbacks 29.69
11 Stephen Strasburg Nationals 26.92
12 Jacob deGrom Mets 25.13
13 Luis Severino Yankees 24.38
14 Luis Castillo Reds 23.65
15 Trevor Cahill Padres 23.63
16 James Paxton Mariners 21.46
17 Kenta Maeda Dodgers 20.61
18 Zack Greinke Diamondbacks 20.48
19 Nate Karns Royals 20.42
20 Carlos Carrasco Indians 19.96
21 Rich Hill Dodgers 17.86
22 Masahiro Tanaka Yankees 17.43
23 Danny Salazar Indians 17.06
24 Brad Peacock Astros 16.51
25 Marcus Stroman Blue Jays 15.48

 

The Studs

The top eight guys are really a who’s-who. Scherzer, Wood, Kluber, Sale, Kersh, Keuchel, Syndergaard…Only guy I’m touching on here is Thor, who’s close to begin throwing again. Lat injuries are a whole lotta “?????” for pitchers, but he’s certainly worth a buy if someone is (stupidly) wanting to sell.

 

The Loaded Teams

Astros – Dallas Keuchel (6), Lance McCullers (8), Brad Peacock (24) / McCullers has broken out. Consider him a stud going forward.

Diamondbacks – Randall Delgado (9), Zack Godley (10), Zack Greinke (18) / Delgado is likely more of a bullpen option at this point. Godley had an awful first outing off the break, but dScore really believes in him.

Dodgers – Alex Wood (2), Clayton Kershaw (5), Kenta Maeda (17), Rich Hill (21) / Come on, really? Give some other team a chance!

 

The Young Breakouts

Zack Godley (10) – I touched on him above. Although I’m pretty sure he’s due for regression, dScore continues to think he’s got premium stuff. Continue to roll with him.

Luis Castillo (14) – He’s 29 innings into his big-league career, but that’s also 29 innings vs. the Nationals (twice), Rockies (once, in Coors), and the Diamondbacks (once, in Chase). All three teams rank in the top five in the NL in runs scored. BUY. / FUN FACT: The Rockies rank third in runs scored, but are tied with the Padres for dead last in the NL in wRC+ at 81.

James Paxton (16) – He is who we thought he is.

 

The Still Believin’

Kenta Maeda (17)

Masahiro Tanaka (22)

Danny Salazar (23)

Tanaka’s been god-awful. dScore agrees with his 3.73 xFIP though, and says he should’ve been significantly better than he is. Salazar has somehow been worse, but once again dScore sides with his 3.57 xFIP and says BUY when he comes back from the minors, although I feel like that’s what Salazar’s always been. Every metric says he should be significantly better than he actually is. In 10 years I feel like his career is going to spawn the ultimate sabermetric “what could have been” from FanGraphs.

 

The Just Missed

Jacob Faria (26)

Jose Berrios (28)

Mike Clevinger (29)

Jordan Montgomery (30)

Chris Archer (31)

A whole bunch of kids and Archer, aka the pitcher we all want Danny Salazar to be.

 

R.I.P

Nathan Karns (19) – Thoracic Outlet Syndrome. Well, it was a good idea for the Royals…

 

Notes From Farther Down

Newly-minted Cubs ace Jose Quintana is sitting at 76th. Remember how I said this metric was bad at projecting regression from underperformance? Quintana was sitting just inside the top 100 before his last start. Even though dScore agrees he’s been bad, I’m still buying Quintana in bulk. Old Cubs ace Jon Lester is still getting love from dScore, even after his absolute meltdown vs the Pirates. He’s at 39th. Fellow lefties Sean Manaea and Eduardo Rodriguez bookend him at 38th and 40th respectively. Manaea was sitting in the high-teens for most of the season, then seemed to lose feel for his slider and effectively stopped throwing it. That really hurt his hittability and K’s. It came back around last start vs. Cleveland. I’m continuing to buy him as a #2 ROS. Boston activated Rodriguez recently. Adam Wainwright (104), Julio Teheran (108), Jake Odorizzi (123), Matt Harvey (137), Aaron Sanchez (140), Cole Hamels (143) are a whole bunch of ughhhhh. I’m out on all but Hamels, who I’d argue to hold. His strikeouts disappeared before getting shelved with an oblique strain, then got shelled in his first start back vs. Cleveland. His last three starts have been vintage, and I’m anticipating dScore to catch back up.


dSCORE: Pitcher Evaluation by Stuff

Confession: fantasy baseball is life.

Second confession: the chance that I actually turn out to be a sabermetrician is <1%.

That being said, driven purely by competition and a need to have a leg up on the established vets in a 20-team, hyper-deep fantasy league, I had an idea to see if I could build a set of formulas that attempted to quantify a pitcher’s “true-talent level” by the performance of each pitch in his arsenal. Along with one of my buddies in the league who happens to be (much) better at numbers than yours truly, dSCORE was born.

dSCORE (“Dominance Score”) is designed as a luck-independent analysis (similar to FIP) — showing a pitcher might be overperforming/underperforming based on the quality of the pitches he throws. It analyzes each pitch at a pitcher’s disposal using outcome metrics (K-BB%, Hard/Soft%, contact metrics, swinging strikes, weighted pitch values), with each metric weighted by importance to success. For relievers, missing bats, limiting hard contact, and one to two premium pitches are better indicators of success; starting pitchers with a better overall arsenal plus contact and baserunner management tend to have more success. We designed dSCORE as a way to make early identification of possible high-leverage relievers or closers, as well as stripping out as much luck as possible to view a pitcher from as pure a talent point of view as possible.

We’ve finalized our evaluations of MLB relievers, so I’ll be going over those below. I’ll post our findings on starting pitchers as soon as we finish up that part — but you’ll be able to see the work in process in this Google Sheets link that also shows the finalized rankings for relievers.

Top Performing RP by Arsenal, 2016
Rank Name Team dSCORE
1 Aroldis Chapman Yankees 87
2 Andrew Miller Indians 86
3 Edwin Diaz Mariners 82
4 Carl Edwards Jr. Cubs 78
5 Dellin Betances Yankees 63
6 Ken Giles Astros 63
7 Zach Britton Orioles 61
8 Danny Duffy Royals 61
9 Kenley Jansen Dodgers 61
10 Seung Hwan Oh Cardinals 58
11 Luis Avilan Dodgers 57
12 Kelvin Herrera Royals 57
13 Pedro Strop Cubs 57
14 Grant Dayton Dodgers 52
15 Kyle Barraclough Marlins 50
16 Hector Neris Phillies 49
17 Christopher Devenski Astros 48
18 Boone Logan White Sox 46
19 Matt Bush Rangers 46
20 Luke Gregerson Astros 45
21 Roberto Osuna Blue Jays 44
22 Shawn Kelley Mariners 44
22 Alex Colome Rays 44
24 Bruce Rondon Tigers 43
25 Nate Jones White Sox 43

Any reliever list that’s headed up by Chapman and Miller should be on the right track. Danny Duffy shows up, even though he spent most of the summer in the starting rotation. I guess that shows just how good he was even in a starting role!

We had built the alpha version of this algorithm right as guys like Edwin Diaz and Carl Edwards Jr. were starting to get national helium as breakout talents. Even in our alpha version, they made the top 10, which was about as much of a proof-of-concept as could be asked for. Other possible impact guys identified include Grant Dayton (#14), Matt Bush (#19), Josh Smoker (#26), Dario Alvarez (#28), Michael Feliz (#29) and Pedro Baez (#30).

Since I led with the results, here’s how we got them. For relievers, we took these stats:

Set 1: K-BB%

Set 2: Hard%, Soft%

Set 3: Contact%, O-Contact%, Z-Contact%, SwStk%

Set 4: vPitch,

Set 5: wPitch Set 6: Pitch-X and Pitch-Z (where “Pitch” includes FA, FT, SL, CU, CH, FS for all of the above)

…and threw them in a weighting blender. I’ve already touched on the fact that relievers operate on a different set of ideal success indicators than starters, so for relievers we resolved on weights of 25% for Set 1, 10% for Set 2, 25% for Set 3, 10% for Set 4, 20% for set 5 and 10% for Set 6. Sum up the final weighted values, and you get each pitcher’s dSCORE. Before we weighted each arsenal, though, we compared each metric to the league mean, and gave it a numerical value based on how it stacked up to that mean. The higher the value, the better that pitch performed.

What the algorithm rolls out is an interesting, somewhat top-heavy curve that would be nice to paste in here if I could get media to upload, but I seem to be rather poor at life, so that didn’t happen — BUT it’s on the Sum tab in the link above. Adjusting the weightings obviously skews the results and therefore introduces a touch of bias, but it also has some interesting side effects when searching for players that are heavily affected by certain outcomes (e.g. someone that misses bats but the rest of the package is iffy). One last oddity/weakness we noticed was that pitchers with multiple plus-to-elite pitches got a boost in our rating system. The reason that could be an issue is guys like Kenley Jansen, who rely on a single dominant pitch, can get buried more than they deserve.