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.



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.

We hoped you liked reading dSCORE: Starting Pitcher Evaluations by Snerd!

Please support FanGraphs by becoming a member. We publish thousands of articles a year, host multiple podcasts, and have an ever growing database of baseball stats.

FanGraphs does not have a paywall. With your membership, we can continue to offer the content you've come to rely on and add to our unique baseball coverage.

Support FanGraphs

newest oldest most voted

The answer is a pretty clear “no”–BUT what it does do very, very well is validate performance.”

How do you know it “vaidates” performance?