├── FIP
├── nnERA.xlsx
├── FIPdata.xlsx
├── TestFIPData.xlsx
├── validation_rows.xlsx
├── FIPGradientDescent.py
├── FIPNN.py
├── FIP-DNN.py
└── FIPdata.csv
├── PitcherData.xlsx
├── .idea
├── misc.xml
├── modules.xml
├── SimpleBaseballNN.iml
└── workspace.xml
├── README.md
├── .gitignore
└── PitcherData.csv
/FIP/nnERA.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jacobdanovitch/Deep-Neural-Networks-for-Baseball/HEAD/FIP/nnERA.xlsx
--------------------------------------------------------------------------------
/FIP/FIPdata.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jacobdanovitch/Deep-Neural-Networks-for-Baseball/HEAD/FIP/FIPdata.xlsx
--------------------------------------------------------------------------------
/PitcherData.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jacobdanovitch/Deep-Neural-Networks-for-Baseball/HEAD/PitcherData.xlsx
--------------------------------------------------------------------------------
/FIP/TestFIPData.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jacobdanovitch/Deep-Neural-Networks-for-Baseball/HEAD/FIP/TestFIPData.xlsx
--------------------------------------------------------------------------------
/FIP/validation_rows.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jacobdanovitch/Deep-Neural-Networks-for-Baseball/HEAD/FIP/validation_rows.xlsx
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/SimpleBaseballNN.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Deep Neural Networks for Baseball
2 |
3 | On October 11, 2017, I made a note in my repository for my other baseball analysis project that said:
4 | > I regret my resentment towards (this project) for being "just a sports stats project." I think I should really try to do more projects like this one.
5 |
6 | New Years resolution = complete :tada:
7 |
8 | In reading [Andrew Trask's "Grokking Deep Learning"](https://www.manning.com/books/grokking-deep-learning), I've tried to hold myself accountable to learning the material by implementing it from scratch in creative ways. To do so, I've started this project that attempts to use different forms of neural network architecture to predict baseball statistics. Starting basic with predicting a pitcher's ERA using very basic inputs to get my bearings, I aim to eventually progress to much more sophisticated metrics.
9 |
10 | ## How it works
11 |
12 | * `/FIP/FIPGradientDescent.py`: Modelling ERA using basic inputs with simple linear regression by gradient descent
13 | * `/FIP/FIPNN.py`: Modelling ERA using basic inputs with a neural network containing a hidden layer
14 | * `/FIP/FIP-DNN.py`: Modelling ERA using an arbitrarily wide deep neural network
15 |
16 | ## What I Learned
17 |
18 | I learned about different architectures of neural networks, the theories behind learning, and started to grasp the intuition behind backpropagation as credit assignment.
19 |
20 | ## Future Plans
21 |
22 | * Keep learning new models!
23 | * Use more sophisticated inputs and outputs, nested models
24 |
25 | ## Current (Known) Problems
26 |
27 | * `/FIP/FIP-DNN.py`: NeuralNetwork.fit() doesn't work
28 |
29 | ### Built With
30 |
31 | * **Python** - Pandas, numpy
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | env/
12 | build/
13 | develop-eggs/
14 | dist/
15 | downloads/
16 | eggs/
17 | .eggs/
18 | lib/
19 | lib64/
20 | parts/
21 | sdist/
22 | var/
23 | wheels/
24 | *.egg-info/
25 | .installed.cfg
26 | *.egg
27 |
28 | # PyInstaller
29 | # Usually these files are written by a python script from a template
30 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
31 | *.manifest
32 | *.spec
33 |
34 | # Installer logs
35 | pip-log.txt
36 | pip-delete-this-directory.txt
37 |
38 | # Unit test / coverage reports
39 | htmlcov/
40 | .tox/
41 | .coverage
42 | .coverage.*
43 | .cache
44 | nosetests.xml
45 | coverage.xml
46 | *.cover
47 | .hypothesis/
48 |
49 | # Translations
50 | *.mo
51 | *.pot
52 |
53 | # Django stuff:
54 | *.log
55 | local_settings.py
56 |
57 | # Flask stuff:
58 | instance/
59 | .webassets-cache
60 |
61 | # Scrapy stuff:
62 | .scrapy
63 |
64 | # Sphinx documentation
65 | docs/_build/
66 |
67 | # PyBuilder
68 | target/
69 |
70 | # Jupyter Notebook
71 | .ipynb_checkpoints
72 |
73 | # pyenv
74 | .python-version
75 |
76 | # celery beat schedule file
77 | celerybeat-schedule
78 |
79 | # SageMath parsed files
80 | *.sage.py
81 |
82 | # dotenv
83 | .env
84 |
85 | # virtualenv
86 | .venv
87 | venv/
88 | ENV/
89 |
90 | # Spyder project settings
91 | .spyderproject
92 | .spyproject
93 |
94 | # Rope project settings
95 | .ropeproject
96 |
97 | # mkdocs documentation
98 | /site
99 |
100 | # mypy
101 | .mypy_cache/
102 |
--------------------------------------------------------------------------------
/FIP/FIPGradientDescent.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import pandas as pd
3 | import matplotlib.pyplot as plt
4 |
5 | def predict(x, weights):
6 | return np.dot(x, weights)
7 |
8 | def cost(prediction, values):
9 | m = len(prediction)
10 | err = np.square(prediction - values).sum()
11 | return err / (2*m)
12 |
13 | def gradient_descent(x, y, alpha=0.0001, max_iter=10000, random_seed=1234, verbose=False):
14 | np.random.seed(random_seed)
15 | weights = np.random.random((len(x[0]), 1))
16 |
17 | m = len(y)
18 | cost_history = []
19 |
20 | for i in range(max_iter):
21 | pred = predict(x, weights)
22 | delta = pred - y
23 |
24 | weight_deltas = np.dot(x.transpose(), delta)
25 | weights -= alpha*weight_deltas
26 |
27 | '''
28 | for i in range(len(x)):
29 | pred = np.dot(x[i], weights)
30 | delta = (pred - y[i])
31 | weight_deltas = alpha*np.array([delta*input for input in x[i]])
32 | weights = weights - weight_deltas
33 | '''
34 |
35 | cost_history.append(cost(pred, y))
36 |
37 | if i % 100 == 0 and verbose:
38 | print("Iteration", i)
39 | print("Cost:", cost_history[-1],end="\n \n")
40 |
41 | print("Iteration", max_iter)
42 | print("Cost:", cost_history[-1])
43 |
44 | return [i[0] for i in weights]
45 |
46 | data = pd.read_csv('TestFIPData.csv')
47 | train_data = data.sample(frac=0.7)
48 | test_data = data.loc[~data.index.isin(train_data.index)]
49 |
50 | x_train = train_data[['K9', 'BB9', 'HR9']]
51 | x_test = test_data[['K9', 'BB9', 'HR9']]
52 |
53 | y_train = train_data[['ERA']]
54 | y_test = test_data[['ERA']]
55 |
56 | weights = gradient_descent(x_train.values, y_train.values, alpha=0.000001)
57 |
58 | '''
59 | test_df = pd.concat([x_test, y_test], axis=1)
60 | test_df.loc[:,'gdFIP'] = predict(test_df.iloc[:,:3], weights)
61 | print(test_df.head(10))
62 | '''
63 |
64 | data.loc[:,'gdFIP'] = predict(data[['K9', 'BB9', 'HR9']], weights)
65 |
66 | writer = pd.ExcelWriter('validation_rows.xlsx')
67 | data.to_excel(writer,'gdFIP')
68 | writer.save()
69 |
70 |
71 |
--------------------------------------------------------------------------------
/FIP/FIPNN.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import pandas as pd
3 | import matplotlib.pyplot as plt
4 | import pprint
5 |
6 | def predict(x, weights):
7 | return np.dot(x, weights)
8 |
9 | def cost(prediction, values):
10 | m = len(prediction)
11 | err = np.square(prediction - values).sum()
12 | return err / (2*m)
13 |
14 | def relu(x, deriv=False):
15 | if not deriv:
16 | return x * (x > 0)
17 | else:
18 | return x>0
19 |
20 | def generate_weights(size):
21 | return np.random.random(size)
22 |
23 | def neural_network(x, y, hidden_layers, alpha=0.0001, max_iter=10000, verbose=False, predict_data=[], random_seed=1234):
24 | np.random.seed(random_seed)
25 | layer0_weights = generate_weights((len(x[0]), hidden_layers)) #layer 0 -> 1
26 | layer1_weights = generate_weights((hidden_layers,1)) #layer 1 -> 2
27 |
28 | m = len(y)
29 | cost_history = []
30 |
31 | for i in range(max_iter):
32 | layer0_output = relu(predict(x, layer0_weights))
33 | layer1_output = predict(layer0_output, layer1_weights)
34 |
35 | layer1_deltas = layer1_output - y
36 | layer0_deltas = np.dot(layer1_deltas, layer1_weights.transpose()) * relu(layer0_output, deriv=True)
37 |
38 | layer1_weights -= alpha * np.dot(layer0_output.transpose(), layer1_deltas)
39 | layer0_weights -= alpha * np.dot(x.transpose(), layer0_deltas)
40 |
41 | cost_history.append(cost(layer1_output, y))
42 |
43 | if i % 10**(len(str(max_iter))-2) == 0 and (i == 0 or i >= 10**(len(str(max_iter))-2)) and verbose:
44 | print("Iteration", i)
45 | print("Cost:", cost_history[-1],end="\n \n")
46 |
47 | print("Iteration", max_iter)
48 | print("Cost:", cost_history[-1])
49 |
50 | if len(predict_data) > 0:
51 | layer0_output = relu(predict(predict_data, layer0_weights))
52 | layer1_output = predict(layer0_output, layer1_weights)
53 | return layer1_output
54 |
55 | model = {
56 | 'L0':layer0_weights.tolist(),
57 | 'L1':layer1_weights.tolist()
58 | }
59 |
60 | if verbose:
61 | pprint.pprint(model)
62 |
63 | return model
64 |
65 |
66 | def main():
67 | data = pd.read_csv('TestFIPData.csv')
68 | train_data = data.sample(frac=0.7)
69 | test_data = data.loc[~data.index.isin(train_data.index)]
70 |
71 | x_train = train_data[['K9', 'BB9', 'HR9']]
72 | x_test = test_data[['K9', 'BB9', 'HR9']]
73 |
74 | y_train = train_data[['ERA']]
75 | y_test = test_data[['ERA']]
76 |
77 | '''
78 | test_df = pd.concat([x_test, y_test], axis=1)
79 | test_df.loc[:,'gdFIP'] = predict(test_df.iloc[:,:3], weights)
80 | print(test_df.head(10))
81 | '''
82 |
83 | data.loc[:,'nnERA'] = neural_network(x_train.values, y_train.values, 4, verbose=True,
84 | alpha=0.0000001, predict_data=data[['K9', 'BB9', 'HR9']])
85 |
86 | writer = pd.ExcelWriter('nnERA.xlsx')
87 | data.to_excel(writer,'nnERA')
88 | writer.save()
89 |
90 | main()
91 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/FIP/FIP-DNN.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import pandas as pd
3 |
4 |
5 | class Layer:
6 | def __init__(self, position, max_position, alpha):
7 | """
8 | :param position: Layer's position in the overall network
9 | :param max_position: Network's width
10 | :param alpha: Learning rate
11 | """
12 | self.position = position
13 | self.max_position = max_position
14 | self.alpha = alpha
15 |
16 | self.weights = [] # weights of layer
17 | self.prediction = None # output of layer
18 | self.delta = None # delta for backprop weight adjustment
19 | self.cost = None # cost (only used for final output layer)
20 |
21 | print("Layer",position,"initialized.\n")
22 |
23 | def generate_weights(self, size):
24 | self.weights = np.random.random(size) # randomly initialize weights given tuple
25 | print("Layer", self.position,"weights:",self.weights,'\n ') # print for confirmation
26 |
27 | def get_weights(self):
28 | return self.weights
29 |
30 | def update_weights(self, delta):
31 | self.weights -= self.alpha * delta
32 |
33 | def relu(self, x, deriv=False):
34 | if not deriv:
35 | return x * (x > 0) # Sets output to 0 if input is negative
36 | else:
37 | return x > 0 # Output is 1 if x is positive
38 |
39 | def predict(self, x, return_pred=False):
40 | if self.position == self.max_position:
41 | # Output layer prediction; no relu activation
42 | self.prediction = np.dot(x, self.weights)
43 | else:
44 | # Hidden layer predictions; use relu activation
45 | self.prediction = self.relu(np.dot(x, self.weights))
46 |
47 | if return_pred:
48 | return self.prediction
49 |
50 | def get_prediction(self):
51 | return self.prediction
52 |
53 | def calculate_cost(self, prediction, values):
54 | m = len(prediction)
55 | err = np.square(prediction - values).sum()
56 | return err / (2 * m)
57 |
58 | def get_cost(self):
59 | return self.cost
60 |
61 | def get_delta(self):
62 | return self.delta
63 |
64 | def calculate_delta(self, y=None, prev_layer=None):
65 | if self.position == self.max_position:
66 | # only for final output layer
67 | self.delta = self.prediction - y # subtracts y/truth vector from prediction vector
68 | self.cost = self.calculate_cost(self.prediction, y.values) # adds cost
69 | else:
70 | """
71 | delta calculation for backpropagating through hidden layers
72 |
73 | dot product of last layer's delta and transposed weights,
74 | multiplied by relu derivative to freeze negative weights
75 | """
76 | self.delta = np.dot(prev_layer.get_delta(), prev_layer.get_weights().transpose()) * self.relu(self.prediction,
77 | deriv=True)
78 |
79 |
80 | class NeuralNetwork:
81 | def __init__(self, num_layers, x, y, max_iter=1000, alpha=0.01, random_seed=1234):
82 | '''
83 | HYPERPARAMS
84 | :param num_layers: total layers in network
85 | :param max_iter: iterations for gradient descent
86 | :param alpha: learning rate (passed to layers)
87 | :param random_seed: random seed for weight generation (Change this if your network sucks!!)
88 | '''
89 |
90 | self.alpha = alpha
91 |
92 | self.num_layers = num_layers
93 | self.layers = [] # list containing all Layer objects
94 |
95 | self.max_iter = max_iter
96 | self.random_seed = random_seed
97 |
98 | '''
99 | DATA
100 | :param x: input vector/matrix
101 | :param features: shape of input / # of features
102 | :param y: ground truth vector/matrix
103 | '''
104 |
105 | self.x = x
106 | self.features = len(x.iloc[0])
107 | self.y = y
108 |
109 | def init_layers(self):
110 | np.random.seed(self.random_seed) # for deterministic weight generation
111 | max_position = self.num_layers - 1 # width of network
112 |
113 | # null initialize layers
114 | self.layers = [Layer(i, max_position, alpha=self.alpha) for i in range(self.num_layers)]
115 |
116 | # Generate weights for first layer (will always be as wide as # of features)
117 | self.layers[0].generate_weights((self.features, self.num_layers))
118 |
119 | # If user specifies for more hidden layers
120 | if self.num_layers > 1:
121 | # Generate weights for middle hidden layers (won't run for num_layers == 2)
122 | for layer in self.layers[1:max_position]:
123 | # Need to make number of neurons editable
124 | layer.generate_weights((self.num_layers, self.num_layers))
125 |
126 | # Generate weight for output layer (should have single output for regression)
127 | self.layers[-1].generate_weights((self.num_layers, 1))
128 |
129 | def forward_prop(self):
130 | pred = self.layers[0].predict(self.x, return_pred=True) # initial prediction from input vector
131 | for l, layer in enumerate(self.layers[1:]):
132 | # update prediction iterating through rest of layers, chaining prediction
133 | pred = layer.predict(pred, return_pred=True)
134 |
135 | def back_prop(self):
136 | for l, layer in reversed(list(enumerate(self.layers))):
137 | # for final output layer
138 | if l == len(self.layers) - 1:
139 | # calculate initial delta for backprop
140 | layer.calculate_delta(y=self.y)
141 | # for rest of backprop
142 | else:
143 | # use previous layer to backprop and calculate delta
144 | layer.calculate_delta(prev_layer=self.layers[l + 1])
145 |
146 | def update_weights(self):
147 | for l, layer in enumerate(self.layers):
148 | # weight update for first layer (multiplied by alpha inside function)
149 | if l == 0:
150 | # input vector transposed, dotted with input vector's delta
151 | layer.update_weights(np.dot(self.x.transpose(), layer.get_delta()))
152 | else:
153 | # uses previous layer to update weights
154 | prev_layer = self.layers[l - 1]
155 | layer.update_weights(np.dot(prev_layer.get_prediction().transpose(), layer.get_delta()))
156 |
157 | def train(self):
158 | # initialize layers
159 | self.init_layers()
160 |
161 | for epoch in range(1,self.max_iter+1):
162 | # forward, back, update
163 | self.forward_prop()
164 | self.back_prop()
165 | self.update_weights()
166 |
167 | # print every thousand
168 | if epoch % 1000 == 0:
169 | self.print_layers(epoch)
170 |
171 | def print_layers(self,epoch=-1):
172 | if epoch >= 0:
173 | print("Epoch",epoch,"complete.")
174 |
175 | for l, layer in enumerate(self.layers):
176 | print("Layer",l)
177 | print(layer.get_weights())
178 | print()
179 |
180 | print("Cost:", self.layers[-1].get_cost())
181 |
182 | def fit(self, x):
183 | # this is broke ngl
184 | pred = self.layers[0].predict(x)
185 | for l, layer in enumerate(self.layers[1:]):
186 | pred = layer.predict(pred, return_pred=True)
187 | return pred
188 |
189 |
190 | def main():
191 | """
192 | This is just project-specific stuff
193 | """
194 | data = pd.read_csv('TestFIPData.csv')
195 | train_data = data.sample(frac=0.7)
196 | test_data = data.loc[~data.index.isin(train_data.index)]
197 |
198 | x_train = train_data[['K9', 'BB9', 'HR9']]
199 | x_test = test_data[['K9', 'BB9', 'HR9']]
200 |
201 | y_train = train_data[['ERA']]
202 | y_test = test_data[['ERA']]
203 |
204 | neural_net = NeuralNetwork(3, x_train, y_train, max_iter=20000, alpha=0.0000001)
205 | neural_net.train()
206 |
207 | '''
208 | this doesn't work yet
209 | predictions = neural_net.fit(x_test)
210 | print(predictions)
211 | '''
212 |
213 | '''
214 | boiler plate code for saving to xlsx
215 |
216 | test_df = pd.concat([x_test, y_test], axis=1)
217 | test_df.loc[:,'gdFIP'] = predict(test_df.iloc[:,:3], weights)
218 | print(test_df.head(10))
219 |
220 |
221 | data.loc[:,'nnERA'] = neural_network(x_train.values, y_train.values, 4, verbose=True,
222 | alpha=0.0000001, predict_data=data[['K9', 'BB9', 'HR9']])
223 |
224 | writer = pd.ExcelWriter('nnERA.xlsx')
225 | data.to_excel(writer,'nnERA')
226 | writer.save()
227 | '''
228 |
229 |
230 | # execute
231 | main()
232 |
--------------------------------------------------------------------------------
/.idea/workspace.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
66 |
67 |
68 |
69 | hidden_layers
70 | print
71 | len(self.y)
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 | true
85 | DEFINITION_ORDER
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 | 1515613195829
180 |
181 |
182 | 1515613195829
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
--------------------------------------------------------------------------------
/FIP/FIPdata.csv:
--------------------------------------------------------------------------------
1 | Season,Name,ERA,K9,BB9,HR9
2 | 2015,Clayton Kershaw,2.13,11.64,1.62,0.58
3 | 2011,Roy Halladay,2.35,8.47,1.35,0.39
4 | 2017,Chris Sale,2.9,12.93,1.81,1.01
5 | 2014,Clayton Kershaw,1.77,10.85,1.41,0.41
6 | 2014,Corey Kluber,2.44,10.27,1.95,0.53
7 | 2015,Jake Arrieta,1.77,9.28,1.89,0.39
8 | 2017,Corey Kluber,2.25,11.71,1.59,0.93
9 | 2011,Clayton Kershaw,2.28,9.57,2.08,0.58
10 | 2013,Clayton Kershaw,1.83,8.85,1.98,0.42
11 | 2010,Cliff Lee,3.18,7.84,0.76,0.68
12 | 2012,Justin Verlander,2.64,9.03,2.27,0.72
13 | 2011,Cliff Lee,2.4,9.21,1.62,0.7
14 | 2013,Adam Wainwright,2.94,8.16,1.3,0.56
15 | 2013,Matt Harvey,2.27,9.64,1.56,0.35
16 | 2015,David Price,2.45,9.19,1.92,0.69
17 | 2011,Justin Verlander,2.4,8.96,2.04,0.86
18 | 2016,Noah Syndergaard,2.6,10.68,2.11,0.54
19 | 2015,Max Scherzer,2.79,10.86,1.34,1.06
20 | 2011,CC Sabathia,3,8.72,2.31,0.64
21 | 2010,Justin Verlander,3.37,8.79,2.85,0.56
22 | 2016,Jose Fernandez,2.86,12.49,2.71,0.64
23 | 2012,Felix Hernandez,3.06,8.65,2.17,0.54
24 | 2011,Dan Haren,3.17,7.25,1.25,0.76
25 | 2015,Chris Sale,3.41,11.82,1.81,0.99
26 | 2014,Felix Hernandez,2.14,9.46,1.75,0.61
27 | 2010,Roy Halladay,2.44,7.86,1.08,0.86
28 | 2013,Max Scherzer,2.9,10.08,2.35,0.76
29 | 2014,David Price,3.26,9.82,1.38,0.91
30 | 2017,Max Scherzer,2.51,12.02,2.47,0.99
31 | 2013,Anibal Sanchez,2.57,9.99,2.67,0.45
32 | 2010,Felix Hernandez,2.27,8.36,2.52,0.61
33 | 2015,Dallas Keuchel,2.48,8.38,1.98,0.66
34 | 2014,Phil Hughes,3.52,7.98,0.69,0.69
35 | 2010,Josh Johnson,2.3,9.11,2.35,0.34
36 | 2010,Jered Weaver,3.01,9.35,2.17,0.92
37 | 2010,Ubaldo Jimenez,2.88,8.69,3.74,0.41
38 | 2012,Clayton Kershaw,2.53,9.05,2.49,0.63
39 | 2015,Zack Greinke,1.66,8.08,1.62,0.57
40 | 2013,Felix Hernandez,3.04,9.51,2.03,0.66
41 | 2017,Luis Severino,2.98,10.71,2.37,0.98
42 | 2010,Francisco Liriano,3.62,9.44,2.72,0.42
43 | 2011,Jered Weaver,2.41,7.56,2.14,0.76
44 | 2010,Adam Wainwright,2.42,8.32,2.19,0.59
45 | 2016,Max Scherzer,2.96,11.19,2.21,1.22
46 | 2014,Jon Lester,2.46,9.01,1.97,0.66
47 | 2015,Corey Kluber,3.49,9.93,1.82,0.89
48 | 2017,Stephen Strasburg,2.52,10.47,2.41,0.67
49 | 2015,Gerrit Cole,2.6,8.74,1.9,0.48
50 | 2017,Carlos Carrasco,3.29,10.17,2.07,0.95
51 | 2016,Johnny Cueto,2.79,8.11,1.84,0.61
52 | 2013,Cliff Lee,2.87,8.97,1.29,0.89
53 | 2014,Jordan Zimmermann,2.66,8.2,1.31,0.59
54 | 2016,Justin Verlander,3.04,10.04,2.25,1.19
55 | 2014,Max Scherzer,3.15,10.29,2.57,0.74
56 | 2015,Chris Archer,3.23,10.7,2.8,0.81
57 | 2015,Madison Bumgarner,2.93,9.65,1.61,0.87
58 | 2014,Chris Sale,2.17,10.76,2.02,0.67
59 | 2015,Jacob deGrom,2.54,9.66,1.79,0.75
60 | 2016,Rick Porcello,3.15,7.63,1.29,0.93
61 | 2011,Doug Fister,2.83,6.07,1.54,0.46
62 | 2010,CC Sabathia,3.18,7.46,2.8,0.76
63 | 2016,Chris Sale,3.34,9.25,1.79,1.07
64 | 2017,Zack Greinke,3.2,9.56,2,1.11
65 | 2014,Jose Quintana,3.32,8,2.34,0.45
66 | 2012,David Price,2.56,8.74,2.52,0.68
67 | 2016,Corey Kluber,3.14,9.5,2.39,0.92
68 | 2012,Cliff Lee,3.16,8.83,1.19,1.11
69 | 2011,Matt Cain,2.88,7.27,2.56,0.37
70 | 2015,Jon Lester,3.34,9.09,2.06,0.7
71 | 2012,R.A. Dickey,2.73,8.86,2.08,0.92
72 | 2012,Gio Gonzalez,2.89,9.35,3.43,0.41
73 | 2012,Zack Greinke,3.48,8.48,2.29,0.76
74 | 2017,Jimmy Nelson,3.49,10.21,2.46,0.82
75 | 2016,Madison Bumgarner,2.74,9.97,2.14,1.03
76 | 2011,Madison Bumgarner,3.21,8.4,2.02,0.53
77 | 2011,C.J. Wilson,2.94,8.3,2.98,0.64
78 | 2014,Adam Wainwright,2.38,7.1,1.98,0.4
79 | 2013,Chris Sale,3.07,9.49,1.93,0.97
80 | 2011,Matt Garza,3.32,8.95,2.86,0.64
81 | 2013,Justin Verlander,3.46,8.95,3.09,0.78
82 | 2011,Cole Hamels,2.79,8.08,1.83,0.79
83 | 2010,Jon Lester,3.25,9.74,3.59,0.61
84 | 2013,Mat Latos,3.16,7.99,2.48,0.6
85 | 2011,Chris Carpenter,3.45,7.24,2.09,0.61
86 | 2015,Carlos Carrasco,3.63,10.58,2.11,0.88
87 | 2011,Ian Kennedy,2.88,8.03,2.23,0.77
88 | 2011,Felix Hernandez,3.47,8.55,2.58,0.73
89 | 2010,Clayton Kershaw,2.91,9.34,3.57,0.57
90 | 2010,Zack Greinke,4.17,7.4,2.25,0.74
91 | 2012,Chris Sale,3.05,9,2.39,0.89
92 | 2012,Johnny Cueto,2.78,7.05,2.03,0.62
93 | 2010,Colby Lewis,3.72,8.78,2.91,0.94
94 | 2016,Jose Quintana,3.2,7.83,2.16,0.95
95 | 2012,CC Sabathia,3.38,8.87,1.98,0.99
96 | 2015,Jose Quintana,3.36,7.72,1.92,0.7
97 | 2011,Daniel Hudson,3.49,6.85,2.03,0.69
98 | 2017,Clayton Kershaw,2.31,10.39,1.54,1.18
99 | 2014,Johnny Cueto,2.25,8.94,2.4,0.81
100 | 2016,Masahiro Tanaka,3.07,7.44,1.62,0.99
101 | 2012,Cole Hamels,3.05,9.03,2.17,1
102 | 2017,Chris Archer,4.07,11.15,2.69,1.21
103 | 2010,Yovani Gallardo,3.84,9.73,3.65,0.58
104 | 2012,Yu Darvish,3.9,10.4,4.19,0.66
105 | 2011,James Shields,2.82,8.12,2.35,0.94
106 | 2013,Cole Hamels,3.6,8.26,2.05,0.86
107 | 2013,Yu Darvish,2.83,11.89,3.43,1.12
108 | 2016,Kyle Hendricks,2.13,8.05,2.08,0.71
109 | 2014,Stephen Strasburg,3.14,10.13,1.8,0.96
110 | 2013,David Price,3.33,7.28,1.3,0.77
111 | 2010,Roy Oswalt,2.76,8.21,2.34,0.81
112 | 2016,David Price,3.99,8.92,1.96,1.17
113 | 2012,Max Scherzer,3.74,11.08,2.88,1.1
114 | 2017,Jacob deGrom,3.53,10.68,2.64,1.25
115 | 2011,Brandon McCarthy,3.32,6.49,1.32,0.58
116 | 2011,David Price,3.49,8.75,2.53,0.88
117 | 2012,Jake Peavy,3.37,7.97,2.01,1.11
118 | 2015,Matt Harvey,2.71,8.94,1.76,0.86
119 | 2016,Jon Lester,2.44,8.75,2.31,0.93
120 | 2010,John Danks,3.72,6.85,2.96,0.76
121 | 2010,Mat Latos,2.92,9.21,2.44,0.78
122 | 2014,Garrett Richards,2.61,8.75,2.72,0.27
123 | 2015,Tyson Ross,3.26,9.73,3.86,0.41
124 | 2014,Zack Greinke,2.71,9.21,1.91,0.85
125 | 2010,Hiroki Kuroda,3.39,7.29,2.2,0.69
126 | 2017,Aaron Nola,3.54,9.86,2.63,0.96
127 | 2014,Cole Hamels,2.46,8.71,2.59,0.62
128 | 2010,Tim Lincecum,3.43,9.79,3.22,0.76
129 | 2013,Derek Holland,3.42,7.99,2.7,0.85
130 | 2011,Justin Masterson,3.21,6.58,2.71,0.46
131 | 2015,Cole Hamels,3.65,9.11,2.63,0.93
132 | 2010,Chad Billingsley,3.57,8.03,3.24,0.38
133 | 2013,A.J. Burnett,3.3,9.85,3.16,0.52
134 | 2013,Doug Fister,3.67,6.86,1.9,0.6
135 | 2012,James Shields,3.52,8.82,2.29,0.99
136 | 2010,David Price,2.72,8.11,3.41,0.65
137 | 2012,Adam Wainwright,3.94,8.34,2.36,0.68
138 | 2012,Wade Miley,3.33,6.66,1.71,0.65
139 | 2013,Homer Bailey,3.49,8.57,2.33,0.86
140 | 2017,Justin Verlander,3.36,9.57,3.15,1.18
141 | 2010,Gavin Floyd,4.08,7.25,2.79,0.67
142 | 2010,Tommy Hanson,3.33,7.68,2.49,0.62
143 | 2014,Jeff Samardzija,2.99,8.28,1.76,0.82
144 | 2010,C.J. Wilson,3.35,7.5,4.1,0.44
145 | 2013,Jose Fernandez,2.19,9.75,3.02,0.52
146 | 2011,Tim Lincecum,2.74,9.12,3.57,0.62
147 | 2014,Madison Bumgarner,2.98,9.07,1.78,0.87
148 | 2013,James Shields,3.15,7.71,2.68,0.79
149 | 2015,Johnny Cueto,3.44,7.47,1.95,0.89
150 | 2010,Matt Cain,3.14,7.13,2.46,0.89
151 | 2010,Brett Myers,3.14,7.24,2.66,0.8
152 | 2017,Jose Quintana,4.15,9.87,2.91,1.1
153 | 2011,Zack Greinke,3.83,10.54,2.36,1
154 | 2010,Anibal Sanchez,3.55,7.25,3.23,0.46
155 | 2013,Jhoulys Chacin,3.47,5.75,2.78,0.5
156 | 2013,Hisashi Iwakuma,2.66,7.58,1.72,1.02
157 | 2010,Dan Haren,3.91,8.27,2.07,1.19
158 | 2016,Aaron Sanchez,3,7.55,2.95,0.7
159 | 2013,Bartolo Colon,2.65,5.53,1.37,0.66
160 | 2010,Mark Buehrle,4.28,4.24,2.1,0.73
161 | 2013,Madison Bumgarner,2.77,8.9,2.77,0.67
162 | 2011,Mat Latos,3.47,8.57,2.87,0.74
163 | 2016,Jake Arrieta,3.1,8.67,3.47,0.73
164 | 2017,Jeff Samardzija,4.42,8.88,1.39,1.3
165 | 2015,Sonny Gray,2.73,7.31,2.55,0.74
166 | 2012,Hiroki Kuroda,3.32,6.84,2.09,1.02
167 | 2012,Matt Cain,2.79,7.92,2.09,0.86
168 | 2010,Ricky Romero,3.73,7.46,3.51,0.64
169 | 2010,Max Scherzer,3.5,8.46,3.22,0.92
170 | 2015,Francisco Liriano,3.38,9.88,3.38,0.72
171 | 2015,Gio Gonzalez,3.79,8.66,3.54,0.41
172 | 2011,Matt Harrison,3.39,6.11,2.76,0.63
173 | 2015,Collin McHugh,3.89,7.56,2.34,0.84
174 | 2013,Jordan Zimmermann,3.25,6.79,1.69,0.8
175 | 2013,Hiroki Kuroda,3.31,6.71,1.92,0.89
176 | 2013,Lance Lynn,3.97,8.84,3.39,0.62
177 | 2013,Hyun-Jin Ryu,3,7.22,2.3,0.7
178 | 2014,Dallas Keuchel,2.92,6.57,2.16,0.49
179 | 2012,Kyle Lohse,2.86,6.1,1.62,0.81
180 | 2016,Jon Gray,4.61,9.91,3.16,0.96
181 | 2015,John Lackey,2.77,7.22,2.19,0.87
182 | 2016,Marcus Stroman,4.37,7.32,2.38,0.93
183 | 2010,Wandy Rodriguez,3.6,8.22,3.14,0.74
184 | 2010,Shaun Marcum,3.64,7.6,1.98,1.11
185 | 2011,Yovani Gallardo,3.52,8.99,2.56,1.17
186 | 2011,Shaun Marcum,3.54,7.09,2.56,0.99
187 | 2012,Jarrod Parker,3.47,6.95,3.13,0.55
188 | 2011,Edwin Jackson,3.79,6.67,2.79,0.72
189 | 2017,Yu Darvish,3.86,10.08,2.8,1.3
190 | 2017,Michael Fulmer,3.83,6.23,2.19,0.71
191 | 2013,Justin Masterson,3.45,9.09,3.54,0.61
192 | 2013,Mike Minor,3.21,7.96,2.02,0.97
193 | 2011,Anibal Sanchez,3.67,9.26,2.93,0.92
194 | 2013,Jose Quintana,3.51,7.38,2.52,1.03
195 | 2013,Patrick Corbin,3.41,7.69,2.33,0.82
196 | 2010,Cole Hamels,3.06,9.1,2.63,1.12
197 | 2013,Jon Lester,3.75,7.47,2.83,0.8
198 | 2010,Johan Santana,2.98,6.51,2.49,0.72
199 | 2014,Ian Kennedy,3.63,9.27,3.13,0.72
200 | 2014,Lance Lynn,2.74,8,3.18,0.57
201 | 2011,Jaime Garcia,3.56,7.21,2.31,0.69
202 | 2015,Shelby Miller,3.02,7.5,3.2,0.57
203 | 2015,J.A. Happ,3.61,7.9,2.35,0.84
204 | 2015,Carlos Martinez,3.01,9.22,3.16,0.65
205 | 2012,Anibal Sanchez,3.86,7.68,2.21,0.92
206 | 2011,Tim Hudson,3.22,6.61,2.34,0.59
207 | 2017,Marcus Stroman,3.09,7.34,2.78,0.94
208 | 2013,Ubaldo Jimenez,3.3,9.56,3.94,0.79
209 | 2014,Hiroki Kuroda,3.71,6.6,1.58,0.9
210 | 2011,Jordan Zimmermann,3.18,6.92,1.73,0.67
211 | 2015,Kyle Hendricks,3.95,8.35,2.15,0.85
212 | 2013,Zack Greinke,2.63,7.5,2.33,0.66
213 | 2010,Dallas Braden,3.5,5.28,2.01,0.79
214 | 2017,Carlos Martinez,3.64,9.53,3.12,1.19
215 | 2010,Chris Carpenter,3.22,6.86,2.41,0.8
216 | 2013,Stephen Strasburg,3,9.39,2.75,0.79
217 | 2016,Carlos Martinez,3.04,8.02,3.23,0.69
218 | 2011,Josh Beckett,2.89,8.16,2.42,0.98
219 | 2011,Alexi Ogando,3.51,6.71,2.29,0.85
220 | 2017,Gio Gonzalez,2.96,8.42,3.54,0.94
221 | 2016,Kenta Maeda,3.48,9.17,2.56,1.02
222 | 2012,Jordan Zimmermann,2.94,7.04,1.98,0.83
223 | 2010,John Lackey,4.35,6.53,3.01,0.75
224 | 2016,Jeremy Hellickson,3.71,7.33,2.14,1.14
225 | 2011,Mark Buehrle,3.59,4.78,1.97,0.92
226 | 2014,James Shields,3.21,7.14,1.74,0.91
227 | 2017,Michael Wacha,4.13,8.58,2.99,0.92
228 | 2011,Gavin Floyd,4.37,7.02,2.09,1.02
229 | 2014,Julio Teheran,2.89,7.57,2.08,0.9
230 | 2012,Matt Harrison,3.29,5.61,2.49,0.93
231 | 2016,Ervin Santana,3.38,7.4,2.63,0.94
232 | 2011,Michael Pineda,3.74,9.11,2.89,0.95
233 | 2017,Trevor Bauer,4.19,10,3.06,1.28
234 | 2017,Robbie Ray,2.89,12.11,3.94,1.28
235 | 2016,Tanner Roark,2.83,7.37,3.13,0.73
236 | 2013,Ricky Nolasco,3.7,7.45,2.08,0.77
237 | 2013,Gio Gonzalez,3.36,8.83,3.5,0.78
238 | 2011,Brandon Morrow,4.72,10.19,3.46,1.05
239 | 2011,Philip Humber,3.75,6.4,2.26,0.77
240 | 2014,Chris Archer,3.33,8,3.33,0.55
241 | 2010,Jason Hammel,4.81,7.14,2.38,0.91
242 | 2010,Edwin Jackson,4.47,7.78,3.35,0.9
243 | 2013,C.J. Wilson,3.39,7.97,3.6,0.64
244 | 2016,J.A. Happ,3.18,7.52,2.77,1.02
245 | 2016,Julio Teheran,3.21,7.99,1.96,1.05
246 | 2014,Tanner Roark,2.85,6.25,1.77,0.72
247 | 2016,Michael Pineda,4.82,10.61,2.72,1.38
248 | 2016,Chris Archer,4.02,10.42,3,1.34
249 | 2014,Tyson Ross,2.81,8.97,3.31,0.6
250 | 2012,Josh Johnson,3.81,7.76,3.06,0.66
251 | 2013,Eric Stults,3.93,5.79,1.77,0.8
252 | 2014,Scott Kazmir,3.55,7.75,2.36,0.76
253 | 2017,Drew Pomeranz,3.32,9.02,3.58,0.98
254 | 2013,Andy Pettitte,3.74,6.22,2.33,0.83
255 | 2014,Hisashi Iwakuma,3.52,7.74,1.06,1.01
256 | 2011,Javier Vazquez,3.69,7.57,2.34,0.98
257 | 2011,Gio Gonzalez,3.12,8.78,4.05,0.76
258 | 2014,Mark Buehrle,3.39,5.3,2.05,0.67
259 | 2010,Gio Gonzalez,3.23,7.67,4.13,0.67
260 | 2016,John Lackey,3.35,8.6,2.53,1.1
261 | 2016,Robbie Ray,4.9,11.25,3.67,1.24
262 | 2014,Sonny Gray,3.08,7.52,3.04,0.62
263 | 2015,Danny Salazar,3.45,9.49,2.58,1.12
264 | 2017,Mike Leake,3.92,6.29,1.79,0.97
265 | 2015,Lance Lynn,3.03,8.57,3.49,0.67
266 | 2012,Mat Latos,3.48,7.95,2.75,1.07
267 | 2012,Madison Bumgarner,3.37,8.25,2.12,0.99
268 | 2017,Gerrit Cole,4.26,8.69,2.44,1.37
269 | 2015,Anthony DeSclafani,4.05,7.36,2.68,0.83
270 | 2016,Collin McHugh,4.34,8.63,2.63,1.22
271 | 2010,Clay Buchholz,2.33,6.22,3.47,0.47
272 | 2010,Jason Vargas,3.78,5.42,2.52,0.84
273 | 2016,Kevin Gausman,3.61,8.72,2.35,1.4
274 | 2011,Ricky Nolasco,4.67,6.47,1.92,0.87
275 | 2016,Cole Hamels,3.32,8.97,3.45,1.08
276 | 2017,Patrick Corbin,4.03,8.45,2.89,1.23
277 | 2012,A.J. Burnett,3.51,8.01,2.76,0.8
278 | 2011,John Danks,4.33,7.13,2.43,1
279 | 2011,Derek Holland,3.95,7.36,3.05,1
280 | 2016,Marco Estrada,3.48,8.44,3.32,1.18
281 | 2015,Jordan Zimmermann,3.66,7.32,1.74,1.07
282 | 2010,Brian Matusz,4.3,7.33,3.23,0.97
283 | 2011,Ubaldo Jimenez,4.68,8.6,3.73,0.81
284 | 2016,Jerad Eickhoff,3.65,7.62,1.92,1.37
285 | 2014,Justin Verlander,4.54,6.95,2.84,0.79
286 | 2010,Livan Hernandez,3.66,4.85,2.72,0.68
287 | 2012,Jered Weaver,2.81,6.77,2.15,0.95
288 | 2016,Adam Wainwright,4.62,7.29,2.67,1
289 | 2014,Brandon McCarthy,4.05,7.88,1.49,1.13
290 | 2016,Drew Pomeranz,3.32,9.81,3.43,1.16
291 | 2015,A.J. Burnett,3.18,7.85,2.69,0.6
292 | 2015,Felix Hernandez,3.53,8.52,2.59,1.03
293 | 2013,Rick Porcello,4.32,7.22,2.14,0.92
294 | 2015,Jake Odorizzi,3.35,7.97,2.44,0.96
295 | 2014,Nathan Eovaldi,4.37,6.4,1.94,0.63
296 | 2010,Doug Fister,4.11,4.89,1.68,0.68
297 | 2014,Bartolo Colon,4.09,6.72,1.33,0.98
298 | 2014,Ervin Santana,3.95,8.22,2.89,0.73
299 | 2017,Ervin Santana,3.28,7.11,2.6,1.32
300 | 2016,Gio Gonzalez,4.57,8.68,2.99,0.96
301 | 2012,Tommy Milone,3.74,6.49,1.71,1.14
302 | 2017,Sonny Gray,3.55,8.48,3.16,1.05
303 | 2012,Ryan Dempster,3.38,7.96,2.71,0.99
304 | 2012,Lance Lynn,3.78,9.2,3.27,0.82
305 | 2017,Zach Davies,3.9,5.83,2.59,0.94
306 | 2016,Bartolo Colon,3.43,6.01,1.5,1.13
307 | 2012,Rick Porcello,4.59,5.46,2.25,0.82
308 | 2010,Carl Pavano,3.75,4.76,1.51,0.98
309 | 2014,Rick Porcello,3.43,5.67,1.8,0.79
310 | 2012,Lucas Harrell,3.76,6.51,3.62,0.6
311 | 2014,Alex Cobb,2.87,8.06,2.54,0.6
312 | 2011,Bartolo Colon,4,7.39,2.19,1.15
313 | 2012,Matt Moore,3.81,8.88,4.11,0.91
314 | 2015,Wei-Yin Chen,3.34,7.2,1.93,1.32
315 | 2014,Matt Garza,3.64,6.94,2.76,0.66
316 | 2015,Garrett Richards,3.65,7.64,3.3,0.87
317 | 2012,Jeff Samardzija,3.81,9.27,2.89,1.03
318 | 2010,Jaime Garcia,2.7,7.27,3.53,0.5
319 | 2017,Masahiro Tanaka,4.74,9.79,2.07,1.77
320 | 2012,Homer Bailey,3.68,7.27,2.25,1.12
321 | 2011,Jon Lester,3.47,8.55,3.52,0.94
322 | 2013,Travis Wood,3.11,6.48,2.97,0.81
323 | 2016,Dallas Keuchel,4.55,7.71,2.57,1.07
324 | 2016,Zach Davies,3.97,7.44,2.09,1.1
325 | 2011,Hiroki Kuroda,3.07,7.17,2.18,1.07
326 | 2013,Jeff Samardzija,4.34,9.01,3.29,1.05
327 | 2016,Danny Duffy,3.51,9.42,2.1,1.35
328 | 2015,Ubaldo Jimenez,4.11,8.22,3.33,0.98
329 | 2017,Jon Lester,4.33,8.97,2.99,1.3
330 | 2016,Trevor Bauer,4.26,7.96,3.32,0.95
331 | 2010,R.A. Dickey,2.84,5.37,2.17,0.67
332 | 2012,Jon Niese,3.4,7.33,2.32,1.04
333 | 2013,Bud Norris,4.18,7.49,3.41,0.87
334 | 2017,Dylan Bundy,4.24,8.06,2.71,1.38
335 | 2012,Chris Capuano,3.72,7.35,2.45,1.13
336 | 2016,Jeff Samardzija,3.81,7.39,2.39,1.06
337 | 2016,CC Sabathia,3.91,7.61,3.26,1.1
338 | 2010,Johnny Cueto,3.64,6.69,2.71,0.92
339 | 2013,Andrew Cashner,3.09,6.58,2.42,0.62
340 | 2010,Phil Hughes,4.19,7.45,2.96,1.28
341 | 2016,Carlos Rodon,4.04,9.16,2.95,1.25
342 | 2015,Yordano Ventura,4.08,8.6,3.2,0.77
343 | 2010,Roberto Hernandez,3.77,5.31,3.08,0.73
344 | 2010,Ryan Dempster,3.85,8.69,3.59,1.04
345 | 2013,Kris Medlen,3.11,7.17,2.15,0.82
346 | 2015,Wade Miley,4.46,6.83,2.97,0.79
347 | 2013,Jorge de la Rosa,3.49,6.01,3.33,0.59
348 | 2015,Kyle Gibson,3.84,6.7,3.01,0.83
349 | 2012,Yovani Gallardo,3.66,9,3.57,1.15
350 | 2017,Marco Estrada,4.98,8.52,3.44,1.5
351 | 2012,Bronson Arroyo,3.74,5.75,1.56,1.16
352 | 2012,Trevor Cahill,3.78,7.02,3.33,0.72
353 | 2014,Alex Wood,2.78,8.91,2.36,0.84
354 | 2016,Ricky Nolasco,4.42,6.56,2,1.18
355 | 2010,Randy Wells,4.26,6.67,2.92,0.88
356 | 2014,Zack Wheeler,3.54,9.08,3.84,0.68
357 | 2013,CC Sabathia,4.78,7.46,2.77,1.19
358 | 2010,Scott Baker,4.49,7.82,2.27,1.22
359 | 2010,Mike Pelfrey,3.66,4.99,3,0.53
360 | 2015,Alex Wood,3.84,6.6,2.8,0.71
361 | 2011,Ervin Santana,3.38,7.01,2.83,1.02
362 | 2012,Ian Kennedy,4.02,8.08,2.38,1.21
363 | 2010,Jeremy Guthrie,3.83,5.12,2.15,1.07
364 | 2016,Mike Leake,4.69,6.37,1.53,1.02
365 | 2015,Edinson Volquez,3.55,6.96,3.23,0.72
366 | 2016,Chad Bettis,4.79,6.68,2.85,1.06
367 | 2014,Aaron Harang,3.57,7.09,3.13,0.66
368 | 2015,Jeff Samardzija,4.96,6.86,2.06,1.22
369 | 2015,Bartolo Colon,4.16,6.29,1.11,1.16
370 | 2012,Ryan Vogelsong,3.37,7.5,2.94,0.81
371 | 2011,Ryan Dempster,4.8,8.5,3.65,1.02
372 | 2017,Kevin Gausman,4.68,8.63,3.42,1.4
373 | 2010,Brett Cecil,4.22,6.1,2.81,0.94
374 | 2011,R.A. Dickey,3.28,5.78,2.33,0.78
375 | 2012,Jon Lester,4.82,7.28,2.98,1.1
376 | 2015,Colby Lewis,4.66,6.24,1.85,1.14
377 | 2012,Wandy Rodriguez,3.76,6.08,2.45,0.92
378 | 2013,Julio Teheran,3.2,8.24,2.18,1.07
379 | 2010,Ted Lilly,3.62,7.71,2.04,1.49
380 | 2013,Ervin Santana,3.24,6.87,2.18,1.11
381 | 2014,John Lackey,3.82,7.45,2.14,1.09
382 | 2015,Yovani Gallardo,3.42,5.91,3.32,0.73
383 | 2011,Kyle Lohse,3.39,5.3,2.01,0.76
384 | 2014,Wei-Yin Chen,3.54,6.59,1.7,1.11
385 | 2012,Joe Blanton,4.71,7.82,1.6,1.37
386 | 2013,Shelby Miller,3.06,8.77,2.96,1.04
387 | 2013,John Lackey,3.52,7.65,1.9,1.24
388 | 2015,Mike Fiers,3.69,8.98,3.19,1.2
389 | 2017,Jake Arrieta,3.53,8.71,2.94,1.23
390 | 2014,Yordano Ventura,3.2,7.82,3.39,0.69
391 | 2016,Hisashi Iwakuma,4.12,6.65,2.08,1.27
392 | 2016,Chris Tillman,3.77,7.33,3.45,0.99
393 | 2017,German Marquez,4.39,8.17,2.72,1.39
394 | 2015,Jason Hammel,3.74,9.07,2.11,1.21
395 | 2017,Tanner Roark,4.67,8.24,3.18,1.14
396 | 2017,Alex Cobb,3.66,6.42,2.21,1.1
397 | 2010,Clayton Richard,3.75,6.83,3.48,0.71
398 | 2012,Phil Hughes,4.19,7.76,2.16,1.65
399 | 2015,Erasmo Ramirez,3.75,6.94,2.2,0.88
400 | 2011,Jason Vargas,4.25,5.87,2.64,0.99
401 | 2014,Jon Niese,3.4,6.62,2.16,0.82
402 | 2013,Kyle Lohse,3.35,5.66,1.63,1.18
403 | 2014,Kyle Lohse,3.54,6.4,2.04,1
404 | 2017,Jhoulys Chacin,3.89,7.64,3.59,0.95
405 | 2014,Chris Tillman,3.34,6.51,2.86,0.91
406 | 2015,Scott Kazmir,3.1,7.62,2.9,0.98
407 | 2014,Kyle Gibson,4.47,5.37,2.86,0.6
408 | 2014,Mike Leake,3.7,6.89,2.1,0.97
409 | 2015,Michael Wacha,3.37,7.59,2.88,0.94
410 | 2013,Mark Buehrle,4.15,6.14,2.25,1.06
411 | 2012,Justin Masterson,4.93,6.94,3.84,0.79
412 | 2014,Drew Hutchison,4.48,8.97,2.92,1.12
413 | 2017,Clayton Richard,4.79,6.89,2.69,1.09
414 | 2010,Justin Masterson,4.7,7,3.65,0.7
415 | 2010,Jonathan Sanchez,3.07,9.54,4.47,0.98
416 | 2016,Matt Moore,4.08,8.08,3.27,1.13
417 | 2012,Wei-Yin Chen,4.02,7.19,2.66,1.35
418 | 2011,Carl Pavano,4.3,4.14,1.62,0.93
419 | 2011,Ivan Nova,3.7,5.33,3.1,0.71
420 | 2011,Chad Billingsley,4.21,7.28,4.02,0.67
421 | 2011,Ricky Romero,2.92,7.12,3.2,1.04
422 | 2011,Max Scherzer,4.43,8.03,2.58,1.34
423 | 2013,Felix Doubront,4.32,7.71,3.94,0.72
424 | 2011,Rick Porcello,4.75,5.14,2.27,0.89
425 | 2010,Derek Lowe,4,6.32,2.83,0.84
426 | 2015,Andrew Cashner,4.34,8.04,3.22,0.93
427 | 2011,Randy Wolf,3.69,5.68,2.8,0.97
428 | 2012,C.J. Wilson,3.83,7.7,4.05,0.85
429 | 2012,Scott Diamond,3.54,4.68,1.61,0.88
430 | 2014,Jason Vargas,3.71,6.16,1.97,0.91
431 | 2012,Ricky Nolasco,4.48,5.89,2.21,0.85
432 | 2013,Yovani Gallardo,4.18,7.17,3.29,0.9
433 | 2012,Jake Westbrook,3.97,5.46,2.68,0.62
434 | 2012,Joe Saunders,4.07,5.77,2.01,1.08
435 | 2012,Edwin Jackson,4.03,7.97,2.75,1.09
436 | 2017,Jason Hammel,5.29,7.24,2.4,1.3
437 | 2010,Tim Hudson,2.83,5.47,2.91,0.79
438 | 2010,Ervin Santana,3.92,6.83,2.95,1.09
439 | 2011,Ryan Vogelsong,2.71,6.96,3.06,0.75
440 | 2011,Derek Lowe,5.05,6.59,3.37,0.67
441 | 2014,Henderson Alvarez,2.65,5.34,1.59,0.67
442 | 2015,Mike Pelfrey,4.26,4.7,2.46,0.6
443 | 2012,Tim Hudson,3.62,5.13,2.41,0.6
444 | 2016,Jake Odorizzi,3.69,7.96,2.59,1.39
445 | 2011,Jhoulys Chacin,3.62,6.96,4.04,0.93
446 | 2014,Jake Odorizzi,4.13,9.32,3.16,1.07
447 | 2015,Jimmy Nelson,4.11,7.51,3.3,0.91
448 | 2014,Tim Hudson,3.57,5.7,1.62,0.71
449 | 2013,Scott Feldman,3.86,6.54,2.77,0.94
450 | 2015,Mark Buehrle,3.81,4.12,1.49,1
451 | 2017,Rick Porcello,4.65,8.01,2.12,1.68
452 | 2011,Bud Norris,3.77,8.52,3.39,1.16
453 | 2012,Aaron Harang,3.61,6.56,4.26,0.7
454 | 2013,Mike Leake,3.37,5.71,2.25,0.98
455 | 2016,Drew Smyly,4.88,8.57,2.52,1.64
456 | 2014,Yovani Gallardo,3.51,6.83,2.53,0.98
457 | 2017,Dan Straily,4.26,8.42,2.97,1.54
458 | 2012,Josh Beckett,4.65,6.97,2.75,1.11
459 | 2015,R.A. Dickey,3.91,5.29,2.56,1.05
460 | 2011,Ted Lilly,3.97,7.38,2.38,1.31
461 | 2013,Kyle Kendrick,4.7,5.44,2.32,0.89
462 | 2011,Colby Lewis,4.4,7.59,2.52,1.57
463 | 2010,James Shields,5.18,8.28,2.26,1.5
464 | 2012,Paul Maholm,3.67,6.67,2.52,0.95
465 | 2015,Taijuan Walker,4.56,8.33,2.12,1.33
466 | 2013,Edwin Jackson,4.98,6.93,3.03,0.82
467 | 2011,Jeremy Guthrie,4.33,5.62,2.86,1.12
468 | 2014,Jarred Cosart,3.69,5.74,3.64,0.45
469 | 2011,Chris Capuano,4.55,8.13,2.56,1.31
470 | 2010,Matt Garza,3.91,6.6,2.77,1.23
471 | 2017,Ivan Nova,4.14,6.3,1.73,1.4
472 | 2010,Ian Kennedy,3.8,7.79,3.25,1.21
473 | 2016,Martin Perez,4.39,4.67,3.44,0.82
474 | 2010,Trevor Cahill,2.97,5.4,2.88,0.87
475 | 2012,Gavin Floyd,4.29,7.71,3.37,1.18
476 | 2014,Josh Collmenter,3.46,5.77,1.96,0.9
477 | 2013,Chris Tillman,3.71,7.81,2.97,1.44
478 | 2013,Dillon Gee,3.62,6.42,2.13,1.09
479 | 2011,Jeff Francis,4.82,4.48,1.92,0.93
480 | 2017,Martin Perez,4.82,5.59,3.06,1.12
481 | 2017,Andrew Cashner,3.4,4.64,3.46,0.81
482 | 2011,Paul Maholm,3.66,5.38,2.77,0.61
483 | 2015,Chris Tillman,4.99,6.24,3.33,1.04
484 | 2011,Trevor Cahill,4.16,6.37,3.55,0.82
485 | 2014,Francisco Liriano,3.38,9.7,4.49,0.72
486 | 2014,Wily Peralta,3.53,6.98,2.76,1.04
487 | 2010,Chris Narveson,4.99,7.35,3.17,1.13
488 | 2015,Trevor Bauer,4.55,8.69,4.04,1.18
489 | 2011,Charlie Morton,3.83,5.77,4.04,0.31
490 | 2012,Dan Haren,4.33,7.23,1.94,1.43
491 | 2010,Jake Westbrook,4.22,5.68,3.02,0.89
492 | 2011,Livan Hernandez,4.47,5.08,2.36,0.82
493 | 2016,Mike Fiers,4.48,7.15,2.24,1.39
494 | 2015,Marco Estrada,3.13,6.51,2.73,1.19
495 | 2010,Barry Zito,4.15,6.77,3.79,0.9
496 | 2013,Wade Miley,3.55,6.53,2.93,0.93
497 | 2011,Wandy Rodriguez,3.49,7.82,3.25,1.18
498 | 2013,Tim Lincecum,4.37,8.79,3.46,0.96
499 | 2010,Jon Niese,4.2,7.67,3.21,1.04
500 | 2010,Bronson Arroyo,3.88,5.05,2.46,1.21
501 | 2011,Luke Hochevar,4.68,5.82,2.82,1.05
502 | 2010,Rick Porcello,4.92,4.65,2.1,1
503 | 2011,Jeremy Hellickson,2.95,5.57,3.43,1
504 | 2016,Kendall Graveman,4.11,5.23,2.27,1.06
505 | 2010,Joe Blanton,4.82,6.87,2.2,1.38
506 | 2015,Jeff Locke,4.49,6.9,3.21,0.8
507 | 2014,R.A. Dickey,3.71,7.22,3.09,1.09
508 | 2014,Jason Hammel,3.47,8.06,2.25,1.17
509 | 2013,R.A. Dickey,4.21,7.09,2.84,1.4
510 | 2012,Bud Norris,4.65,8.82,3.53,1.23
511 | 2012,Bruce Chen,5.07,6.57,2.21,1.55
512 | 2015,Brett Anderson,3.69,5.79,2.3,0.9
513 | 2013,Miguel Gonzalez,3.78,6.3,2.78,1.26
514 | 2015,Mike Leake,3.7,5.58,2.3,1.03
515 | 2017,R.A. Dickey,4.26,6.44,3.17,1.23
516 | 2011,Brett Myers,4.46,6.67,2.37,1.29
517 | 2017,Jason Vargas,4.16,6.71,2.91,1.35
518 | 2014,Tom Koehler,3.81,7.2,3.34,0.75
519 | 2015,John Danks,4.71,6.28,2.84,1.22
520 | 2014,Jake Peavy,3.73,7.02,2.8,1.02
521 | 2016,Ian Kennedy,3.68,8.46,3.04,1.52
522 | 2014,Wade Miley,4.34,8.18,3.35,1.03
523 | 2015,Rick Porcello,4.92,7.8,1.99,1.31
524 | 2017,Luis Perdomo,4.67,6.49,3.57,0.93
525 | 2013,Dan Haren,4.67,8.01,1.64,1.49
526 | 2014,Jorge de la Rosa,4.1,6.79,3.27,1.03
527 | 2014,Clay Buchholz,5.34,6.97,2.85,0.9
528 | 2011,Josh Tomlin,4.25,4.84,1.14,1.31
529 | 2014,A.J. Burnett,4.59,8,4.04,0.84
530 | 2010,Paul Maholm,5.1,4.95,3.01,0.73
531 | 2012,Ross Detwiler,3.4,5.75,2.85,0.82
532 | 2016,Wade Miley,5.37,7.43,2.66,1.36
533 | 2014,Jered Weaver,3.59,7.13,2.74,1.14
534 | 2012,Mark Buehrle,3.74,5.56,1.78,1.16
535 | 2013,Jeremy Hellickson,5.17,6.98,2.59,1.24
536 | 2012,Edinson Volquez,4.14,8.57,5.17,0.69
537 | 2010,Kyle Davies,5.34,6.17,3.92,0.98
538 | 2013,Matt Cain,4,7.71,2.69,1.12
539 | 2011,Mike Leake,3.86,6.33,2.04,1.23
540 | 2016,Jason Hammel,3.83,7.78,2.86,1.35
541 | 2012,Ivan Nova,5.02,8.08,2.96,1.48
542 | 2012,Luis Mendoza,4.23,5.64,3.2,0.81
543 | 2011,Tim Stauffer,3.73,6.2,2.57,0.97
544 | 2014,Doug Fister,2.41,5.38,1.32,0.99
545 | 2013,Wily Peralta,4.37,6.33,3.58,0.93
546 | 2014,Dan Haren,4.02,7.02,1.74,1.31
547 | 2014,Bud Norris,3.65,7.57,2.83,1.09
548 | 2016,Edinson Volquez,5.37,6.61,3.61,1.09
549 | 2014,Scott Feldman,3.74,5.34,2.5,0.8
550 | 2015,Chris Heston,3.95,7.14,3.24,0.81
551 | 2012,Mike Leake,4.58,5.83,2.06,1.31
552 | 2010,A.J. Burnett,5.26,6.99,3.76,1.21
553 | 2014,Ryan Vogelsong,4,7.36,2.83,0.88
554 | 2013,A.J. Griffin,3.82,7.69,2.43,1.62
555 | 2014,Roenis Elias,3.85,7.86,3.52,0.88
556 | 2016,Yordano Ventura,4.45,6.97,3.77,1.11
557 | 2017,Lance Lynn,3.43,7.39,3.77,1.3
558 | 2010,Kevin Millwood,5.1,6.23,3.07,1.42
559 | 2012,James McDonald,4.21,7.95,3.63,1.11
560 | 2014,Alfredo Simon,3.44,5.82,2.57,1.01
561 | 2012,Derek Holland,4.67,7.44,2.67,1.64
562 | 2013,Jeff Locke,3.52,6.76,4.55,0.6
563 | 2010,Jeff Niemann,4.39,6.76,3.15,1.29
564 | 2017,Ty Blach,4.78,4.01,2.36,0.93
565 | 2011,John Lannan,3.7,5.17,3.7,0.73
566 | 2013,Jarrod Parker,3.97,6.12,2.88,1.14
567 | 2010,Joe Saunders,4.47,5.05,2.83,1.11
568 | 2011,Aaron Harang,3.64,6.54,3.06,1.05
569 | 2012,Mike Minor,4.12,7.28,2.81,1.3
570 | 2013,Kevin Correia,4.18,4.9,2.19,1.17
571 | 2013,Bronson Arroyo,3.79,5.52,1.51,1.43
572 | 2015,CC Sabathia,4.73,7.37,2.69,1.51
573 | 2012,Jeremy Hellickson,3.1,6.31,3,1.27
574 | 2016,Jaime Garcia,4.67,7.86,2.99,1.36
575 | 2010,Chris Volstad,4.58,5.25,3.09,0.87
576 | 2012,Jason Vargas,3.85,5.84,2.28,1.45
577 | 2016,Doug Fister,4.64,5.74,3.09,1.2
578 | 2016,Tom Koehler,4.33,7.49,4.23,1.12
579 | 2012,Luke Hochevar,5.73,6.99,2.96,1.31
580 | 2015,Alfredo Simon,5.05,5.63,3.27,1.16
581 | 2011,Wade Davis,4.45,5.14,3.08,1.13
582 | 2017,Julio Teheran,4.49,7.22,3.44,1.48
583 | 2015,Julio Teheran,4.04,7.67,3.27,1.21
584 | 2010,Jon Garland,3.47,6.12,3.92,0.9
585 | 2016,Dan Straily,3.76,7.62,3.43,1.46
586 | 2014,Travis Wood,5.03,7.57,3.94,1.04
587 | 2014,Jeremy Guthrie,4.13,5.51,2.18,1.02
588 | 2014,Colby Lewis,5.18,7.03,2.54,1.32
589 | 2015,James Shields,3.91,9.61,3.6,1.47
590 | 2011,A.J. Burnett,5.15,8.18,3.92,1.47
591 | 2012,Tim Lincecum,5.18,9.19,4.35,1.11
592 | 2017,Matt Moore,5.52,7.64,3.46,1.39
593 | 2016,R.A. Dickey,4.46,6.68,3.34,1.49
594 | 2010,Wade Davis,4.07,6.05,3.32,1.29
595 | 2016,Josh Tomlin,4.4,6.1,1.03,1.86
596 | 2014,Edinson Volquez,3.04,6.54,3.32,0.79
597 | 2011,Jake Westbrook,4.66,5.11,3.58,0.79
598 | 2015,Dan Haren,3.6,6.34,1.83,1.49
599 | 2015,Aaron Harang,4.86,5.64,2.66,1.36
600 | 2011,Roberto Hernandez,5.25,5.2,2.86,1.05
601 | 2011,Mike Pelfrey,4.74,4.88,3.02,0.98
602 | 2012,Barry Zito,4.15,5.57,3.42,0.98
603 | 2011,Jason Hammel,4.76,4.97,3.59,1.11
604 | 2014,Kyle Kendrick,4.61,5.47,2.58,1.13
605 | 2015,Jon Niese,4.13,5.76,2.8,1.02
606 | 2013,Edinson Volquez,5.71,7.5,4.07,1
607 | 2010,Randy Wolf,4.17,5.93,3.63,1.21
608 | 2011,Jeff Karstens,3.38,5.32,1.83,1.22
609 | 2015,Hector Santiago,3.59,8.07,3.54,1.44
610 | 2012,Clay Buchholz,4.56,6.13,3.04,1.19
611 | 2016,Jimmy Nelson,4.62,7.03,4.32,1.25
612 | 2017,Ricky Nolasco,4.92,7.11,2.88,1.74
613 | 2011,Chris Volstad,4.89,6.36,2.66,1.25
614 | 2015,Ian Kennedy,4.28,9.3,2.78,1.66
615 | 2010,Jeremy Bonderman,5.47,5.89,3.16,1.32
616 | 2014,C.J. Wilson,4.51,7.74,4.35,0.87
617 | 2012,Tommy Hanson,4.48,8.3,3.66,1.39
618 | 2015,Tom Koehler,4.08,6.58,3.7,1.06
619 | 2013,Ian Kennedy,4.91,8.09,3.62,1.34
620 | 2010,Brad Bergesen,4.98,4.29,2.7,1.38
621 | 2012,Jeremy Guthrie,4.76,5,2.48,1.49
622 | 2014,Shelby Miller,3.74,6.25,3.59,1.08
623 | 2012,Kevin Correia,4.21,4.68,2.42,1.05
624 | 2011,Joe Saunders,3.69,4.58,2.84,1.23
625 | 2016,Hector Santiago,4.7,7.12,3.91,1.63
626 | 2013,Ryan Dempster,4.57,8.25,4.15,1.37
627 | 2016,Francisco Liriano,4.69,9.28,4.69,1.44
628 | 2013,Jeremy Guthrie,4.04,4.72,2.51,1.28
629 | 2017,John Lackey,4.59,7.86,2.79,1.9
630 | 2014,John Danks,4.74,5.99,3.44,1.16
631 | 2015,Rubby de la Rosa,4.67,7.16,3.01,1.53
632 | 2012,Ubaldo Jimenez,5.4,7.28,4.84,1.27
633 | 2010,Kyle Kendrick,4.73,4.18,2.44,1.3
634 | 2012,Clayton Richard,3.99,4.4,1.73,1.28
635 | 2011,James McDonald,4.21,7.47,4.11,1.26
636 | 2012,Ricky Romero,5.77,6.17,5.22,1.04
637 | 2016,Brandon Finnegan,3.98,7.59,4.4,1.52
638 | 2012,Henderson Alvarez,4.85,3.8,2.59,1.39
639 | 2013,Joe Saunders,5.26,5.26,3,1.23
640 | 2014,Hector Noesi,4.75,6.42,2.92,1.46
641 | 2017,Jose Urena,3.82,5.99,3.39,1.38
642 | 2010,Dave Bush,4.54,5.52,3.36,1.45
643 | 2017,Jeremy Hellickson,5.43,5.27,2.58,1.92
644 | 2011,Brad Penny,5.3,3.67,3.07,1.19
645 | 2013,Jerome Williams,4.57,5.69,2.92,1.22
646 | 2014,Chris Young,3.65,5.89,3.27,1.42
647 | 2010,Rodrigo Lopez,5,5.22,2.52,1.67
648 | 2014,Eric Stults,4.3,5.68,2.3,1.33
649 | 2014,Roberto Hernandez,4.1,5.74,3.99,1.04
650 | 2016,Jered Weaver,5.06,5.21,2.58,1.87
651 | 2012,Ervin Santana,5.16,6.72,3.08,1.97
652 | 2016,James Shields,5.85,6.69,4.06,1.98
653 | 2011,Bronson Arroyo,5.07,4.88,2.04,2.08
654 |
--------------------------------------------------------------------------------
/PitcherData.csv:
--------------------------------------------------------------------------------
1 | Season,Name,ERA,O-Swing%,Z-Swing%,Swing%,O-Contact%,Z-Contact%,Contact%,Zone%,F-Strike%,SwStr%,GB/FB,LD%,Hard%
2 | 2015,Zack Greinke,1.66,0.33,0.69,0.48,0.61,0.85,0.75,0.40,0.64,0.12,1.46,0.19,0.27
3 | 2015,Jake Arrieta,1.77,0.34,0.63,0.47,0.61,0.87,0.76,0.44,0.60,0.11,2.47,0.21,0.22
4 | 2014,Clayton Kershaw,1.77,0.37,0.69,0.53,0.56,0.82,0.73,0.50,0.69,0.14,1.77,0.19,0.24
5 | 2013,Clayton Kershaw,1.83,0.33,0.66,0.48,0.61,0.85,0.76,0.48,0.65,0.11,1.47,0.23,0.29
6 | 2015,Clayton Kershaw,2.13,0.34,0.69,0.51,0.51,0.78,0.69,0.49,0.68,0.16,1.77,0.22,0.25
7 | 2016,Kyle Hendricks,2.13,0.32,0.60,0.43,0.63,0.87,0.77,0.40,0.69,0.10,1.55,0.20,0.26
8 | 2014,Felix Hernandez,2.14,0.35,0.61,0.46,0.57,0.86,0.74,0.43,0.65,0.12,2.14,0.18,0.26
9 | 2014,Chris Sale,2.17,0.34,0.65,0.48,0.61,0.81,0.73,0.46,0.67,0.13,0.99,0.18,0.26
10 | 2013,Jose Fernandez,2.19,0.31,0.63,0.46,0.59,0.87,0.78,0.48,0.62,0.10,1.36,0.22,0.30
11 | 2014,Johnny Cueto,2.25,0.35,0.67,0.48,0.70,0.86,0.79,0.40,0.63,0.10,1.34,0.19,0.22
12 | 2017,Corey Kluber,2.25,0.36,0.64,0.49,0.45,0.82,0.68,0.48,0.64,0.16,1.33,0.22,0.29
13 | 2013,Matt Harvey,2.27,0.36,0.66,0.50,0.59,0.85,0.75,0.47,0.64,0.13,1.47,0.20,0.27
14 | 2017,Clayton Kershaw,2.31,0.32,0.71,0.51,0.51,0.82,0.73,0.50,0.69,0.14,1.45,0.19,0.27
15 | 2014,Adam Wainwright,2.38,0.32,0.63,0.46,0.67,0.89,0.81,0.45,0.61,0.09,1.56,0.24,0.27
16 | 2014,Doug Fister,2.41,0.35,0.59,0.46,0.80,0.91,0.87,0.47,0.65,0.06,1.43,0.17,0.26
17 | 2016,Jon Lester,2.44,0.31,0.68,0.47,0.63,0.87,0.78,0.42,0.63,0.10,1.43,0.20,0.27
18 | 2014,Corey Kluber,2.44,0.35,0.62,0.47,0.55,0.88,0.74,0.45,0.64,0.12,1.57,0.21,0.27
19 | 2015,David Price,2.45,0.34,0.69,0.51,0.67,0.82,0.77,0.49,0.67,0.12,1.11,0.23,0.28
20 | 2014,Jon Lester,2.46,0.32,0.66,0.47,0.66,0.87,0.79,0.43,0.61,0.10,1.14,0.21,0.27
21 | 2014,Cole Hamels,2.46,0.34,0.70,0.50,0.62,0.85,0.76,0.44,0.62,0.12,1.49,0.23,0.27
22 | 2015,Dallas Keuchel,2.48,0.33,0.62,0.44,0.62,0.89,0.77,0.38,0.61,0.10,3.14,0.19,0.21
23 | 2017,Max Scherzer,2.51,0.35,0.69,0.51,0.52,0.80,0.70,0.48,0.65,0.16,0.78,0.17,0.27
24 | 2017,Stephen Strasburg,2.52,0.33,0.65,0.49,0.53,0.84,0.74,0.50,0.64,0.13,1.37,0.19,0.27
25 | 2015,Jacob deGrom,2.54,0.36,0.71,0.52,0.61,0.84,0.75,0.45,0.68,0.13,1.28,0.21,0.26
26 | 2013,Anibal Sanchez,2.57,0.32,0.65,0.47,0.56,0.83,0.73,0.46,0.62,0.13,1.39,0.22,0.27
27 | 2015,Gerrit Cole,2.60,0.31,0.67,0.48,0.60,0.89,0.79,0.46,0.62,0.10,1.62,0.22,0.30
28 | 2016,Noah Syndergaard,2.60,0.37,0.67,0.50,0.54,0.83,0.72,0.45,0.64,0.14,1.88,0.22,0.28
29 | 2014,Garrett Richards,2.61,0.32,0.60,0.44,0.54,0.90,0.76,0.44,0.56,0.11,1.82,0.21,0.20
30 | 2013,Zack Greinke,2.63,0.32,0.69,0.47,0.67,0.85,0.78,0.41,0.58,0.11,1.49,0.24,0.30
31 | 2014,Henderson Alvarez,2.65,0.30,0.65,0.48,0.73,0.91,0.85,0.49,0.62,0.07,2.21,0.22,0.32
32 | 2013,Bartolo Colon,2.65,0.31,0.66,0.49,0.80,0.90,0.87,0.50,0.65,0.06,1.09,0.21,0.28
33 | 2014,Jordan Zimmermann,2.66,0.36,0.69,0.52,0.70,0.86,0.80,0.48,0.71,0.10,1.12,0.24,0.30
34 | 2013,Hisashi Iwakuma,2.66,0.35,0.66,0.49,0.64,0.88,0.79,0.47,0.63,0.10,1.45,0.18,0.30
35 | 2015,Matt Harvey,2.71,0.32,0.65,0.48,0.62,0.83,0.76,0.48,0.68,0.12,1.27,0.18,0.27
36 | 2014,Zack Greinke,2.71,0.36,0.63,0.47,0.63,0.85,0.75,0.41,0.63,0.12,1.70,0.23,0.26
37 | 2015,Sonny Gray,2.73,0.29,0.67,0.47,0.61,0.88,0.79,0.46,0.59,0.10,1.72,0.17,0.25
38 | 2016,Madison Bumgarner,2.74,0.32,0.67,0.48,0.62,0.84,0.76,0.45,0.65,0.12,0.95,0.19,0.32
39 | 2014,Lance Lynn,2.74,0.30,0.66,0.45,0.73,0.86,0.81,0.43,0.60,0.08,1.23,0.20,0.27
40 | 2015,John Lackey,2.77,0.32,0.69,0.50,0.65,0.89,0.81,0.49,0.71,0.09,1.38,0.21,0.30
41 | 2013,Madison Bumgarner,2.77,0.31,0.69,0.47,0.62,0.85,0.76,0.43,0.60,0.11,1.33,0.18,0.26
42 | 2014,Alex Wood,2.78,0.30,0.64,0.45,0.64,0.87,0.79,0.46,0.62,0.10,1.33,0.20,0.30
43 | 2016,Johnny Cueto,2.79,0.32,0.67,0.48,0.69,0.87,0.80,0.45,0.69,0.09,1.73,0.21,0.27
44 | 2015,Max Scherzer,2.79,0.36,0.74,0.55,0.58,0.79,0.72,0.50,0.71,0.15,0.79,0.19,0.28
45 | 2014,Tyson Ross,2.81,0.32,0.62,0.45,0.55,0.84,0.71,0.41,0.58,0.13,2.58,0.21,0.28
46 | 2016,Tanner Roark,2.83,0.29,0.62,0.43,0.67,0.87,0.80,0.43,0.58,0.09,1.56,0.20,0.24
47 | 2013,Yu Darvish,2.83,0.30,0.63,0.44,0.51,0.83,0.70,0.42,0.57,0.13,1.08,0.21,0.31
48 | 2014,Tanner Roark,2.85,0.30,0.63,0.46,0.70,0.88,0.82,0.47,0.65,0.08,1.09,0.21,0.23
49 | 2016,Jose Fernandez,2.86,0.32,0.63,0.46,0.49,0.82,0.69,0.45,0.61,0.14,1.27,0.28,0.32
50 | 2014,Alex Cobb,2.87,0.36,0.62,0.46,0.65,0.89,0.77,0.37,0.59,0.11,2.05,0.16,0.24
51 | 2013,Cliff Lee,2.87,0.34,0.63,0.49,0.69,0.87,0.81,0.53,0.69,0.09,1.33,0.22,0.31
52 | 2017,Robbie Ray,2.89,0.30,0.63,0.44,0.46,0.81,0.68,0.44,0.60,0.14,1.00,0.20,0.40
53 | 2014,Julio Teheran,2.89,0.33,0.70,0.50,0.65,0.85,0.78,0.46,0.60,0.11,0.79,0.21,0.30
54 | 2013,Max Scherzer,2.90,0.30,0.67,0.47,0.62,0.81,0.74,0.46,0.65,0.12,0.81,0.19,0.29
55 | 2017,Chris Sale,2.90,0.36,0.66,0.50,0.56,0.79,0.70,0.47,0.67,0.15,0.94,0.20,0.30
56 | 2014,Dallas Keuchel,2.92,0.32,0.62,0.44,0.65,0.91,0.80,0.40,0.65,0.09,3.30,0.17,0.20
57 | 2015,Madison Bumgarner,2.93,0.35,0.69,0.50,0.56,0.87,0.75,0.45,0.64,0.13,1.17,0.23,0.28
58 | 2013,Adam Wainwright,2.94,0.36,0.63,0.48,0.66,0.90,0.80,0.45,0.65,0.10,1.78,0.23,0.28
59 | 2017,Gio Gonzalez,2.96,0.28,0.61,0.42,0.68,0.86,0.79,0.41,0.55,0.09,1.31,0.19,0.29
60 | 2016,Max Scherzer,2.96,0.35,0.69,0.52,0.54,0.79,0.70,0.48,0.65,0.15,0.69,0.19,0.30
61 | 2017,Luis Severino,2.98,0.31,0.67,0.49,0.55,0.82,0.74,0.49,0.65,0.13,1.65,0.19,0.29
62 | 2014,Madison Bumgarner,2.98,0.35,0.68,0.50,0.63,0.87,0.78,0.46,0.67,0.11,1.24,0.20,0.27
63 | 2014,Jeff Samardzija,2.99,0.33,0.67,0.49,0.63,0.86,0.77,0.46,0.66,0.11,1.64,0.19,0.25
64 | 2013,Stephen Strasburg,3.00,0.30,0.64,0.45,0.59,0.86,0.76,0.44,0.60,0.11,1.66,0.18,0.28
65 | 2016,Aaron Sanchez,3.00,0.26,0.63,0.43,0.68,0.87,0.81,0.47,0.61,0.08,2.16,0.21,0.30
66 | 2013,Hyun-Jin Ryu,3.00,0.32,0.62,0.45,0.74,0.87,0.82,0.43,0.59,0.08,1.66,0.19,0.32
67 | 2015,Carlos Martinez,3.01,0.33,0.65,0.47,0.62,0.87,0.78,0.45,0.63,0.11,2.14,0.20,0.28
68 | 2015,Shelby Miller,3.02,0.31,0.69,0.49,0.68,0.87,0.81,0.48,0.61,0.09,1.40,0.18,0.27
69 | 2015,Lance Lynn,3.03,0.29,0.73,0.47,0.71,0.87,0.81,0.40,0.57,0.09,1.30,0.22,0.28
70 | 2014,Edinson Volquez,3.04,0.27,0.62,0.44,0.63,0.89,0.80,0.46,0.60,0.09,1.53,0.17,0.28
71 | 2013,Felix Hernandez,3.04,0.33,0.63,0.46,0.57,0.89,0.76,0.44,0.62,0.11,1.89,0.21,0.32
72 | 2016,Carlos Martinez,3.04,0.30,0.65,0.47,0.65,0.88,0.80,0.47,0.62,0.09,2.18,0.18,0.30
73 | 2016,Justin Verlander,3.04,0.34,0.70,0.50,0.65,0.83,0.76,0.45,0.64,0.12,0.71,0.19,0.29
74 | 2013,Shelby Miller,3.06,0.29,0.68,0.47,0.69,0.86,0.80,0.47,0.62,0.09,0.93,0.20,0.35
75 | 2016,Masahiro Tanaka,3.07,0.37,0.69,0.50,0.66,0.87,0.78,0.42,0.65,0.11,1.55,0.21,0.33
76 | 2013,Chris Sale,3.07,0.32,0.60,0.45,0.63,0.83,0.76,0.47,0.63,0.11,1.46,0.21,0.28
77 | 2014,Sonny Gray,3.08,0.29,0.62,0.44,0.60,0.91,0.80,0.45,0.59,0.09,2.19,0.19,0.25
78 | 2013,Andrew Cashner,3.09,0.28,0.66,0.46,0.71,0.87,0.82,0.48,0.60,0.08,1.83,0.19,0.29
79 | 2017,Marcus Stroman,3.09,0.29,0.65,0.45,0.57,0.89,0.78,0.44,0.59,0.10,3.15,0.18,0.31
80 | 2015,Scott Kazmir,3.10,0.31,0.69,0.48,0.64,0.87,0.79,0.45,0.61,0.10,1.15,0.20,0.26
81 | 2016,Jake Arrieta,3.10,0.30,0.65,0.45,0.61,0.86,0.77,0.44,0.59,0.11,1.89,0.20,0.25
82 | 2013,Travis Wood,3.11,0.31,0.70,0.48,0.78,0.87,0.84,0.45,0.61,0.08,0.75,0.22,0.26
83 | 2013,Kris Medlen,3.11,0.31,0.69,0.48,0.62,0.85,0.77,0.45,0.65,0.11,1.48,0.24,0.32
84 | 2015,Marco Estrada,3.13,0.30,0.72,0.49,0.74,0.83,0.80,0.46,0.58,0.10,0.62,0.16,0.27
85 | 2014,Stephen Strasburg,3.14,0.36,0.64,0.48,0.62,0.86,0.76,0.44,0.65,0.11,1.46,0.23,0.32
86 | 2016,Corey Kluber,3.14,0.34,0.66,0.48,0.54,0.87,0.74,0.44,0.62,0.13,1.23,0.19,0.28
87 | 2014,Max Scherzer,3.15,0.30,0.67,0.48,0.63,0.82,0.75,0.48,0.63,0.12,0.88,0.22,0.31
88 | 2016,Rick Porcello,3.15,0.32,0.65,0.48,0.72,0.88,0.83,0.49,0.64,0.08,1.13,0.19,0.30
89 | 2013,James Shields,3.15,0.30,0.67,0.46,0.64,0.87,0.78,0.43,0.58,0.10,1.18,0.23,0.31
90 | 2013,Mat Latos,3.16,0.34,0.64,0.48,0.64,0.88,0.78,0.45,0.64,0.10,1.34,0.21,0.31
91 | 2015,A.J. Burnett,3.18,0.28,0.64,0.44,0.59,0.91,0.80,0.45,0.61,0.09,2.21,0.23,0.34
92 | 2016,J.A. Happ,3.18,0.28,0.69,0.47,0.68,0.85,0.80,0.46,0.60,0.10,1.20,0.22,0.32
93 | 2014,Yordano Ventura,3.20,0.28,0.69,0.47,0.67,0.84,0.78,0.47,0.61,0.10,1.53,0.21,0.25
94 | 2013,Julio Teheran,3.20,0.32,0.70,0.50,0.69,0.83,0.78,0.47,0.65,0.11,0.92,0.21,0.31
95 | 2016,Jose Quintana,3.20,0.28,0.67,0.46,0.72,0.89,0.83,0.45,0.65,0.08,1.04,0.21,0.33
96 | 2017,Zack Greinke,3.20,0.34,0.63,0.46,0.58,0.85,0.73,0.41,0.62,0.12,1.33,0.18,0.35
97 | 2016,Julio Teheran,3.21,0.31,0.69,0.48,0.65,0.86,0.79,0.46,0.62,0.10,0.93,0.19,0.33
98 | 2013,Mike Minor,3.21,0.31,0.65,0.46,0.64,0.88,0.79,0.46,0.65,0.10,0.82,0.22,0.29
99 | 2014,James Shields,3.21,0.33,0.65,0.47,0.65,0.89,0.80,0.44,0.63,0.10,1.33,0.21,0.27
100 | 2015,Chris Archer,3.23,0.32,0.64,0.47,0.52,0.84,0.73,0.47,0.64,0.13,1.36,0.20,0.32
101 | 2013,Ervin Santana,3.24,0.30,0.65,0.46,0.58,0.89,0.78,0.46,0.66,0.10,1.41,0.21,0.29
102 | 2013,Jordan Zimmermann,3.25,0.32,0.69,0.50,0.68,0.89,0.82,0.49,0.67,0.09,1.52,0.21,0.28
103 | 2015,Tyson Ross,3.26,0.30,0.61,0.43,0.49,0.86,0.71,0.42,0.58,0.12,3.09,0.19,0.24
104 | 2014,David Price,3.26,0.32,0.67,0.49,0.67,0.84,0.78,0.48,0.70,0.11,1.08,0.21,0.28
105 | 2017,Ervin Santana,3.28,0.32,0.69,0.48,0.65,0.88,0.79,0.43,0.64,0.10,0.97,0.16,0.28
106 | 2017,Carlos Carrasco,3.29,0.31,0.69,0.49,0.48,0.85,0.73,0.47,0.63,0.13,1.37,0.22,0.29
107 | 2013,A.J. Burnett,3.30,0.30,0.63,0.44,0.54,0.89,0.76,0.44,0.62,0.11,2.33,0.19,0.29
108 | 2013,Ubaldo Jimenez,3.30,0.26,0.64,0.42,0.67,0.86,0.79,0.43,0.58,0.09,1.21,0.20,0.24
109 | 2013,Hiroki Kuroda,3.31,0.34,0.67,0.46,0.66,0.89,0.78,0.38,0.62,0.10,1.49,0.22,0.31
110 | 2017,Drew Pomeranz,3.32,0.29,0.65,0.44,0.64,0.85,0.78,0.43,0.60,0.10,1.24,0.22,0.33
111 | 2016,Cole Hamels,3.32,0.35,0.68,0.48,0.61,0.85,0.75,0.41,0.58,0.12,1.61,0.20,0.32
112 | 2016,Drew Pomeranz,3.32,0.31,0.64,0.46,0.61,0.84,0.76,0.44,0.56,0.11,1.24,0.17,0.32
113 | 2014,Jose Quintana,3.32,0.28,0.64,0.45,0.64,0.91,0.81,0.46,0.67,0.08,1.35,0.22,0.29
114 | 2013,David Price,3.33,0.31,0.65,0.47,0.73,0.88,0.83,0.47,0.68,0.08,1.35,0.22,0.29
115 | 2014,Chris Archer,3.33,0.28,0.61,0.43,0.61,0.89,0.78,0.44,0.58,0.09,1.50,0.22,0.32
116 | 2016,Chris Sale,3.34,0.33,0.66,0.49,0.65,0.83,0.77,0.48,0.62,0.11,1.09,0.21,0.32
117 | 2015,Jon Lester,3.34,0.31,0.67,0.45,0.62,0.87,0.77,0.41,0.61,0.10,1.67,0.22,0.29
118 | 2015,Wei-Yin Chen,3.34,0.32,0.70,0.51,0.74,0.87,0.83,0.50,0.68,0.09,1.03,0.20,0.28
119 | 2014,Chris Tillman,3.34,0.26,0.69,0.46,0.75,0.89,0.85,0.46,0.58,0.07,1.03,0.20,0.30
120 | 2016,John Lackey,3.35,0.33,0.68,0.49,0.58,0.87,0.76,0.45,0.68,0.12,1.13,0.23,0.34
121 | 2015,Jake Odorizzi,3.35,0.32,0.69,0.48,0.68,0.85,0.79,0.45,0.60,0.10,0.92,0.22,0.27
122 | 2013,Kyle Lohse,3.35,0.30,0.64,0.45,0.71,0.91,0.84,0.45,0.66,0.07,1.05,0.21,0.37
123 | 2013,Gio Gonzalez,3.36,0.31,0.66,0.45,0.69,0.86,0.79,0.41,0.61,0.10,1.32,0.23,0.27
124 | 2015,Jose Quintana,3.36,0.31,0.66,0.47,0.64,0.89,0.80,0.46,0.69,0.09,1.58,0.23,0.28
125 | 2017,Justin Verlander,3.36,0.32,0.70,0.49,0.65,0.85,0.78,0.45,0.62,0.11,0.78,0.24,0.35
126 | 2013,Mike Leake,3.37,0.30,0.65,0.45,0.73,0.92,0.85,0.44,0.59,0.07,1.63,0.22,0.32
127 | 2015,Michael Wacha,3.37,0.32,0.70,0.51,0.73,0.85,0.81,0.48,0.63,0.10,1.43,0.22,0.30
128 | 2016,Ervin Santana,3.38,0.31,0.69,0.47,0.64,0.88,0.79,0.41,0.59,0.10,1.19,0.22,0.29
129 | 2015,Francisco Liriano,3.38,0.32,0.65,0.44,0.51,0.82,0.68,0.36,0.58,0.14,1.95,0.22,0.24
130 | 2014,Francisco Liriano,3.38,0.33,0.62,0.43,0.53,0.84,0.68,0.35,0.56,0.14,2.03,0.19,0.25
131 | 2014,Mark Buehrle,3.39,0.29,0.66,0.45,0.78,0.91,0.86,0.43,0.59,0.06,1.29,0.23,0.28
132 | 2013,C.J. Wilson,3.39,0.28,0.59,0.41,0.63,0.91,0.80,0.43,0.60,0.08,1.33,0.22,0.34
133 | 2017,Andrew Cashner,3.40,0.26,0.67,0.45,0.75,0.92,0.86,0.46,0.59,0.06,1.51,0.19,0.28
134 | 2014,Jon Niese,3.40,0.28,0.64,0.46,0.70,0.90,0.84,0.49,0.63,0.07,1.60,0.23,0.31
135 | 2015,Chris Sale,3.41,0.35,0.67,0.49,0.58,0.78,0.70,0.45,0.67,0.15,1.21,0.22,0.25
136 | 2013,Patrick Corbin,3.41,0.35,0.65,0.49,0.61,0.89,0.78,0.46,0.70,0.11,1.50,0.22,0.34
137 | 2015,Yovani Gallardo,3.42,0.26,0.65,0.42,0.75,0.90,0.84,0.42,0.59,0.07,1.72,0.22,0.26
138 | 2013,Derek Holland,3.42,0.31,0.69,0.49,0.61,0.89,0.80,0.47,0.63,0.10,1.12,0.23,0.31
139 | 2016,Bartolo Colon,3.43,0.31,0.63,0.47,0.79,0.93,0.88,0.50,0.63,0.06,1.27,0.23,0.35
140 | 2017,Lance Lynn,3.43,0.27,0.70,0.44,0.75,0.82,0.80,0.41,0.55,0.09,1.22,0.20,0.29
141 | 2014,Rick Porcello,3.43,0.34,0.62,0.47,0.74,0.91,0.84,0.46,0.65,0.08,1.69,0.22,0.27
142 | 2014,Alfredo Simon,3.44,0.33,0.66,0.48,0.72,0.89,0.82,0.44,0.62,0.08,1.57,0.21,0.31
143 | 2015,Johnny Cueto,3.44,0.35,0.69,0.49,0.70,0.87,0.80,0.42,0.63,0.10,1.19,0.22,0.29
144 | 2013,Justin Masterson,3.45,0.29,0.61,0.43,0.61,0.88,0.78,0.45,0.59,0.09,2.40,0.18,0.24
145 | 2015,Danny Salazar,3.45,0.32,0.69,0.50,0.64,0.83,0.76,0.48,0.59,0.12,1.17,0.19,0.29
146 | 2013,Justin Verlander,3.46,0.33,0.68,0.48,0.69,0.83,0.78,0.44,0.65,0.11,0.99,0.23,0.29
147 | 2014,Josh Collmenter,3.46,0.31,0.67,0.46,0.75,0.88,0.83,0.42,0.60,0.08,0.97,0.21,0.31
148 | 2013,Jhoulys Chacin,3.47,0.29,0.62,0.44,0.71,0.89,0.83,0.48,0.61,0.08,1.63,0.25,0.31
149 | 2014,Jason Hammel,3.47,0.29,0.65,0.45,0.62,0.88,0.78,0.43,0.58,0.10,1.03,0.22,0.31
150 | 2016,Marco Estrada,3.48,0.29,0.69,0.46,0.65,0.83,0.76,0.42,0.59,0.11,0.69,0.18,0.31
151 | 2016,Kenta Maeda,3.48,0.32,0.65,0.46,0.61,0.84,0.75,0.42,0.62,0.12,1.23,0.21,0.29
152 | 2015,Corey Kluber,3.49,0.36,0.69,0.51,0.56,0.86,0.75,0.46,0.64,0.13,1.18,0.22,0.27
153 | 2013,Homer Bailey,3.49,0.35,0.66,0.48,0.64,0.87,0.78,0.44,0.65,0.11,1.34,0.20,0.31
154 | 2013,Jorge de la Rosa,3.49,0.29,0.67,0.46,0.68,0.86,0.79,0.44,0.60,0.09,1.71,0.25,0.33
155 | 2017,Jimmy Nelson,3.49,0.32,0.66,0.48,0.59,0.85,0.76,0.48,0.61,0.11,1.84,0.22,0.32
156 | 2016,Danny Duffy,3.51,0.32,0.71,0.51,0.61,0.81,0.75,0.50,0.62,0.13,0.85,0.21,0.37
157 | 2014,Yovani Gallardo,3.51,0.27,0.62,0.41,0.68,0.93,0.83,0.41,0.57,0.07,1.75,0.20,0.29
158 | 2013,Jose Quintana,3.51,0.30,0.66,0.46,0.68,0.88,0.81,0.44,0.66,0.09,1.14,0.20,0.29
159 | 2013,Jeff Locke,3.52,0.27,0.65,0.41,0.67,0.89,0.80,0.38,0.59,0.08,2.06,0.21,0.29
160 | 2013,John Lackey,3.52,0.35,0.67,0.49,0.69,0.87,0.80,0.43,0.64,0.10,1.34,0.18,0.33
161 | 2014,Hisashi Iwakuma,3.52,0.35,0.65,0.49,0.70,0.89,0.82,0.47,0.67,0.09,1.75,0.21,0.27
162 | 2014,Phil Hughes,3.52,0.37,0.72,0.57,0.74,0.89,0.84,0.56,0.73,0.09,0.90,0.23,0.27
163 | 2015,Felix Hernandez,3.53,0.33,0.63,0.46,0.60,0.88,0.77,0.44,0.63,0.11,2.09,0.17,0.25
164 | 2017,Jake Arrieta,3.53,0.28,0.61,0.44,0.67,0.87,0.80,0.48,0.58,0.09,1.31,0.21,0.29
165 | 2017,Jacob deGrom,3.53,0.33,0.68,0.49,0.61,0.80,0.73,0.47,0.64,0.13,1.34,0.21,0.32
166 | 2014,Wily Peralta,3.53,0.29,0.69,0.46,0.68,0.89,0.81,0.42,0.58,0.09,1.94,0.19,0.28
167 | 2017,Aaron Nola,3.54,0.29,0.61,0.45,0.59,0.84,0.76,0.48,0.64,0.11,1.60,0.19,0.30
168 | 2014,Wei-Yin Chen,3.54,0.30,0.68,0.49,0.70,0.89,0.83,0.50,0.61,0.08,1.09,0.22,0.30
169 | 2014,Kyle Lohse,3.54,0.33,0.65,0.46,0.72,0.89,0.82,0.42,0.65,0.08,0.99,0.19,0.35
170 | 2014,Zack Wheeler,3.54,0.28,0.66,0.44,0.63,0.85,0.77,0.43,0.54,0.10,1.98,0.19,0.30
171 | 2014,Scott Kazmir,3.55,0.31,0.66,0.47,0.65,0.88,0.80,0.47,0.62,0.09,1.18,0.19,0.25
172 | 2017,Sonny Gray,3.55,0.32,0.67,0.46,0.56,0.87,0.74,0.42,0.62,0.12,1.92,0.20,0.28
173 | 2015,Edinson Volquez,3.55,0.29,0.63,0.45,0.64,0.87,0.79,0.47,0.58,0.10,1.40,0.21,0.30
174 | 2013,Wade Miley,3.55,0.29,0.62,0.44,0.68,0.90,0.82,0.45,0.59,0.08,1.91,0.21,0.33
175 | 2014,Tim Hudson,3.57,0.31,0.67,0.48,0.64,0.91,0.81,0.47,0.63,0.09,2.05,0.21,0.27
176 | 2014,Aaron Harang,3.57,0.30,0.67,0.47,0.71,0.90,0.83,0.45,0.59,0.08,1.04,0.23,0.32
177 | 2014,Jered Weaver,3.59,0.26,0.62,0.42,0.70,0.83,0.79,0.45,0.56,0.09,0.69,0.19,0.27
178 | 2015,Hector Santiago,3.59,0.26,0.65,0.44,0.70,0.86,0.81,0.47,0.58,0.09,0.56,0.17,0.34
179 | 2013,Cole Hamels,3.60,0.37,0.69,0.52,0.65,0.84,0.76,0.45,0.63,0.12,1.17,0.21,0.27
180 | 2015,Dan Haren,3.60,0.30,0.64,0.45,0.77,0.92,0.86,0.43,0.64,0.06,0.62,0.20,0.32
181 | 2016,Kevin Gausman,3.61,0.35,0.67,0.48,0.66,0.87,0.78,0.41,0.57,0.11,1.27,0.21,0.31
182 | 2015,J.A. Happ,3.61,0.28,0.66,0.46,0.72,0.87,0.82,0.46,0.60,0.08,1.22,0.24,0.31
183 | 2013,Dillon Gee,3.62,0.35,0.67,0.49,0.68,0.89,0.81,0.45,0.62,0.10,1.13,0.20,0.28
184 | 2015,Carlos Carrasco,3.63,0.40,0.69,0.52,0.58,0.85,0.73,0.42,0.67,0.14,1.72,0.19,0.28
185 | 2014,Ian Kennedy,3.63,0.30,0.66,0.46,0.67,0.84,0.78,0.44,0.64,0.10,1.05,0.23,0.32
186 | 2014,Matt Garza,3.64,0.34,0.68,0.48,0.68,0.91,0.81,0.42,0.64,0.09,1.20,0.21,0.29
187 | 2017,Carlos Martinez,3.64,0.29,0.65,0.46,0.58,0.86,0.77,0.48,0.59,0.11,1.72,0.19,0.32
188 | 2015,Cole Hamels,3.65,0.35,0.70,0.50,0.56,0.85,0.74,0.44,0.61,0.13,1.52,0.21,0.27
189 | 2015,Garrett Richards,3.65,0.31,0.64,0.46,0.54,0.89,0.76,0.45,0.60,0.11,1.96,0.17,0.24
190 | 2014,Bud Norris,3.65,0.29,0.68,0.46,0.70,0.91,0.84,0.43,0.60,0.08,1.13,0.21,0.31
191 | 2016,Jerad Eickhoff,3.65,0.30,0.65,0.45,0.63,0.89,0.79,0.45,0.61,0.09,1.03,0.20,0.31
192 | 2014,Chris Young,3.65,0.30,0.66,0.46,0.74,0.90,0.84,0.43,0.59,0.07,0.38,0.19,0.30
193 | 2015,Jordan Zimmermann,3.66,0.33,0.68,0.50,0.70,0.90,0.83,0.49,0.68,0.08,1.16,0.22,0.30
194 | 2017,Alex Cobb,3.66,0.29,0.62,0.44,0.73,0.91,0.85,0.46,0.59,0.07,1.58,0.22,0.37
195 | 2013,Doug Fister,3.67,0.32,0.57,0.43,0.71,0.88,0.81,0.44,0.59,0.08,2.23,0.21,0.27
196 | 2016,Ian Kennedy,3.68,0.30,0.69,0.47,0.69,0.85,0.79,0.45,0.62,0.10,0.70,0.20,0.36
197 | 2016,Jake Odorizzi,3.69,0.32,0.71,0.49,0.73,0.85,0.81,0.44,0.59,0.10,0.83,0.19,0.34
198 | 2014,Jarred Cosart,3.69,0.27,0.62,0.42,0.72,0.91,0.84,0.43,0.58,0.07,2.05,0.19,0.26
199 | 2015,Brett Anderson,3.69,0.32,0.62,0.45,0.71,0.93,0.85,0.45,0.59,0.07,3.58,0.15,0.24
200 | 2015,Mike Fiers,3.69,0.30,0.68,0.48,0.68,0.85,0.79,0.47,0.61,0.10,0.89,0.20,0.34
201 | 2014,Mike Leake,3.70,0.31,0.63,0.45,0.72,0.92,0.84,0.44,0.60,0.07,2.02,0.20,0.32
202 | 2013,Ricky Nolasco,3.70,0.32,0.65,0.46,0.61,0.87,0.77,0.43,0.60,0.11,1.32,0.24,0.27
203 | 2015,Mike Leake,3.70,0.29,0.67,0.47,0.71,0.95,0.87,0.45,0.61,0.06,1.94,0.22,0.29
204 | 2014,Jason Vargas,3.71,0.33,0.62,0.45,0.71,0.87,0.80,0.40,0.63,0.09,0.99,0.23,0.29
205 | 2013,Chris Tillman,3.71,0.30,0.66,0.46,0.75,0.87,0.83,0.45,0.57,0.08,0.97,0.22,0.31
206 | 2014,Hiroki Kuroda,3.71,0.33,0.69,0.48,0.63,0.90,0.79,0.40,0.60,0.10,1.46,0.21,0.25
207 | 2014,R.A. Dickey,3.71,0.29,0.66,0.47,0.71,0.81,0.78,0.47,0.63,0.11,1.12,0.20,0.27
208 | 2016,Jeremy Hellickson,3.71,0.33,0.68,0.48,0.65,0.85,0.77,0.42,0.61,0.11,1.19,0.25,0.26
209 | 2014,Jake Peavy,3.73,0.32,0.71,0.48,0.68,0.88,0.81,0.42,0.65,0.09,0.92,0.20,0.32
210 | 2014,Shelby Miller,3.74,0.25,0.66,0.45,0.70,0.90,0.84,0.49,0.61,0.07,0.97,0.19,0.35
211 | 2013,Andy Pettitte,3.74,0.34,0.64,0.47,0.70,0.90,0.82,0.43,0.62,0.09,1.47,0.23,0.30
212 | 2014,Scott Feldman,3.74,0.29,0.65,0.45,0.75,0.92,0.86,0.44,0.61,0.06,1.53,0.22,0.26
213 | 2015,Jason Hammel,3.74,0.33,0.66,0.48,0.63,0.86,0.77,0.44,0.61,0.11,1.03,0.25,0.33
214 | 2015,Erasmo Ramirez,3.75,0.32,0.68,0.49,0.62,0.85,0.77,0.48,0.65,0.11,1.50,0.21,0.29
215 | 2013,Jon Lester,3.75,0.31,0.67,0.47,0.69,0.89,0.82,0.44,0.61,0.09,1.27,0.20,0.30
216 | 2016,Dan Straily,3.76,0.28,0.68,0.47,0.63,0.85,0.78,0.47,0.61,0.10,0.67,0.20,0.32
217 | 2016,Chris Tillman,3.77,0.28,0.68,0.45,0.72,0.85,0.81,0.44,0.57,0.09,1.13,0.23,0.32
218 | 2013,Miguel Gonzalez,3.78,0.34,0.68,0.49,0.75,0.89,0.83,0.44,0.59,0.08,0.97,0.21,0.29
219 | 2013,Bronson Arroyo,3.79,0.28,0.60,0.44,0.73,0.93,0.86,0.50,0.66,0.06,1.26,0.20,0.33
220 | 2015,Gio Gonzalez,3.79,0.30,0.65,0.44,0.65,0.86,0.78,0.41,0.60,0.10,2.02,0.20,0.29
221 | 2015,Mark Buehrle,3.81,0.31,0.68,0.48,0.85,0.91,0.89,0.45,0.62,0.05,1.41,0.21,0.28
222 | 2016,Jeff Samardzija,3.81,0.32,0.68,0.48,0.68,0.88,0.81,0.46,0.64,0.09,1.38,0.20,0.32
223 | 2014,Tom Koehler,3.81,0.27,0.65,0.44,0.65,0.89,0.81,0.46,0.59,0.09,1.11,0.18,0.33
224 | 2014,John Lackey,3.82,0.35,0.68,0.51,0.66,0.89,0.81,0.48,0.68,0.10,1.31,0.22,0.32
225 | 2017,Jose Urena,3.82,0.29,0.69,0.45,0.71,0.89,0.82,0.41,0.59,0.08,1.13,0.19,0.32
226 | 2013,A.J. Griffin,3.82,0.29,0.62,0.44,0.71,0.86,0.81,0.47,0.60,0.09,0.65,0.18,0.32
227 | 2017,Michael Fulmer,3.83,0.32,0.70,0.49,0.67,0.89,0.81,0.45,0.61,0.09,1.70,0.22,0.30
228 | 2016,Jason Hammel,3.83,0.31,0.65,0.46,0.61,0.88,0.78,0.45,0.60,0.10,1.10,0.20,0.33
229 | 2015,Kyle Gibson,3.84,0.35,0.64,0.46,0.67,0.89,0.79,0.39,0.61,0.10,1.99,0.20,0.28
230 | 2015,Alex Wood,3.84,0.29,0.64,0.45,0.69,0.89,0.82,0.45,0.63,0.08,1.80,0.23,0.28
231 | 2014,Roenis Elias,3.85,0.29,0.65,0.44,0.61,0.87,0.78,0.43,0.60,0.10,1.34,0.21,0.30
232 | 2017,Yu Darvish,3.86,0.30,0.65,0.47,0.56,0.83,0.74,0.47,0.59,0.12,1.11,0.22,0.33
233 | 2013,Scott Feldman,3.86,0.28,0.61,0.42,0.70,0.91,0.83,0.43,0.57,0.07,1.58,0.19,0.25
234 | 2015,Collin McHugh,3.89,0.33,0.66,0.48,0.67,0.86,0.78,0.44,0.62,0.10,1.31,0.20,0.25
235 | 2017,Jhoulys Chacin,3.89,0.25,0.61,0.42,0.64,0.90,0.81,0.46,0.59,0.08,1.52,0.19,0.29
236 | 2017,Zach Davies,3.90,0.27,0.64,0.43,0.72,0.90,0.83,0.44,0.57,0.07,1.84,0.23,0.29
237 | 2015,R.A. Dickey,3.91,0.31,0.69,0.49,0.75,0.85,0.82,0.48,0.59,0.09,1.13,0.21,0.24
238 | 2016,CC Sabathia,3.91,0.32,0.64,0.46,0.65,0.87,0.78,0.44,0.61,0.10,1.52,0.17,0.25
239 | 2015,James Shields,3.91,0.32,0.67,0.45,0.56,0.84,0.73,0.40,0.61,0.12,1.30,0.21,0.31
240 | 2017,Mike Leake,3.92,0.31,0.67,0.48,0.68,0.90,0.82,0.47,0.63,0.08,2.19,0.22,0.33
241 | 2013,Eric Stults,3.93,0.34,0.64,0.46,0.76,0.91,0.84,0.40,0.62,0.07,1.03,0.21,0.31
242 | 2014,Ervin Santana,3.95,0.32,0.65,0.46,0.57,0.86,0.75,0.43,0.63,0.12,1.31,0.25,0.29
243 | 2015,Kyle Hendricks,3.95,0.30,0.61,0.43,0.69,0.90,0.81,0.43,0.63,0.08,1.91,0.22,0.26
244 | 2015,Chris Heston,3.95,0.27,0.60,0.41,0.64,0.87,0.78,0.43,0.57,0.09,2.04,0.21,0.26
245 | 2016,Zach Davies,3.97,0.30,0.63,0.44,0.73,0.87,0.81,0.42,0.62,0.08,1.40,0.22,0.34
246 | 2013,Lance Lynn,3.97,0.29,0.70,0.47,0.64,0.88,0.79,0.44,0.63,0.10,1.25,0.23,0.28
247 | 2013,Jarrod Parker,3.97,0.32,0.66,0.46,0.66,0.87,0.79,0.42,0.60,0.10,1.04,0.19,0.29
248 | 2016,Brandon Finnegan,3.98,0.28,0.67,0.45,0.66,0.86,0.79,0.43,0.55,0.10,0.97,0.23,0.36
249 | 2016,David Price,3.99,0.33,0.71,0.51,0.67,0.82,0.77,0.47,0.65,0.12,1.29,0.22,0.35
250 | 2014,Ryan Vogelsong,4.00,0.28,0.65,0.43,0.74,0.88,0.83,0.41,0.62,0.08,1.03,0.24,0.29
251 | 2013,Matt Cain,4.00,0.30,0.68,0.47,0.67,0.90,0.81,0.44,0.63,0.09,0.94,0.22,0.27
252 | 2014,Dan Haren,4.02,0.32,0.63,0.45,0.75,0.91,0.84,0.43,0.62,0.07,1.06,0.20,0.30
253 | 2016,Chris Archer,4.02,0.31,0.65,0.45,0.54,0.85,0.73,0.43,0.59,0.12,1.38,0.18,0.33
254 | 2017,Patrick Corbin,4.03,0.32,0.66,0.47,0.57,0.88,0.76,0.43,0.63,0.11,1.71,0.20,0.32
255 | 2016,Carlos Rodon,4.04,0.29,0.66,0.46,0.61,0.87,0.78,0.46,0.54,0.10,1.26,0.21,0.28
256 | 2015,Julio Teheran,4.04,0.28,0.68,0.46,0.60,0.85,0.76,0.44,0.57,0.11,1.09,0.24,0.31
257 | 2013,Jeremy Guthrie,4.04,0.28,0.64,0.45,0.81,0.92,0.89,0.47,0.62,0.05,1.24,0.22,0.31
258 | 2015,Anthony DeSclafani,4.05,0.30,0.70,0.49,0.67,0.87,0.80,0.47,0.63,0.10,1.34,0.21,0.31
259 | 2014,Brandon McCarthy,4.05,0.37,0.65,0.51,0.71,0.89,0.82,0.48,0.68,0.09,2.13,0.23,0.34
260 | 2017,Chris Archer,4.07,0.31,0.68,0.48,0.55,0.82,0.72,0.45,0.62,0.13,1.17,0.22,0.39
261 | 2015,Yordano Ventura,4.08,0.29,0.65,0.45,0.57,0.88,0.77,0.44,0.60,0.10,1.92,0.21,0.30
262 | 2015,Tom Koehler,4.08,0.28,0.64,0.44,0.70,0.91,0.83,0.45,0.59,0.07,1.29,0.18,0.35
263 | 2016,Matt Moore,4.08,0.29,0.67,0.47,0.65,0.84,0.78,0.47,0.62,0.10,0.91,0.20,0.31
264 | 2014,Bartolo Colon,4.09,0.30,0.62,0.46,0.79,0.92,0.88,0.50,0.66,0.06,1.02,0.22,0.32
265 | 2014,Roberto Hernandez,4.10,0.32,0.63,0.45,0.71,0.90,0.82,0.42,0.56,0.08,1.66,0.20,0.29
266 | 2014,Jorge de la Rosa,4.10,0.30,0.68,0.46,0.64,0.88,0.79,0.42,0.55,0.10,1.69,0.18,0.29
267 | 2015,Ubaldo Jimenez,4.11,0.27,0.60,0.42,0.67,0.89,0.81,0.44,0.61,0.08,1.70,0.22,0.27
268 | 2015,Jimmy Nelson,4.11,0.32,0.64,0.47,0.64,0.87,0.79,0.45,0.61,0.10,1.72,0.20,0.29
269 | 2016,Kendall Graveman,4.11,0.28,0.64,0.45,0.68,0.91,0.83,0.46,0.65,0.07,1.90,0.21,0.29
270 | 2016,Hisashi Iwakuma,4.12,0.33,0.66,0.49,0.71,0.91,0.84,0.48,0.64,0.08,1.08,0.21,0.33
271 | 2014,Jake Odorizzi,4.13,0.32,0.67,0.47,0.71,0.85,0.79,0.41,0.62,0.10,0.61,0.21,0.31
272 | 2015,Jon Niese,4.13,0.26,0.66,0.45,0.75,0.93,0.87,0.47,0.62,0.06,2.21,0.21,0.30
273 | 2017,Michael Wacha,4.13,0.30,0.67,0.48,0.68,0.85,0.80,0.49,0.66,0.10,1.55,0.21,0.28
274 | 2014,Jeremy Guthrie,4.13,0.29,0.66,0.46,0.74,0.90,0.84,0.47,0.63,0.07,1.19,0.20,0.31
275 | 2017,Ivan Nova,4.14,0.33,0.68,0.50,0.68,0.91,0.83,0.48,0.65,0.08,1.48,0.23,0.35
276 | 2017,Jose Quintana,4.15,0.28,0.63,0.44,0.67,0.88,0.81,0.45,0.67,0.09,1.30,0.21,0.33
277 | 2013,Mark Buehrle,4.15,0.31,0.64,0.44,0.77,0.89,0.84,0.39,0.59,0.07,1.33,0.21,0.31
278 | 2017,Jason Vargas,4.16,0.28,0.61,0.43,0.67,0.83,0.77,0.46,0.66,0.10,1.00,0.19,0.33
279 | 2015,Bartolo Colon,4.16,0.32,0.64,0.48,0.81,0.90,0.87,0.51,0.67,0.06,1.15,0.21,0.29
280 | 2013,Kevin Correia,4.18,0.31,0.67,0.46,0.79,0.93,0.87,0.42,0.58,0.06,1.35,0.24,0.34
281 | 2013,Bud Norris,4.18,0.29,0.66,0.46,0.61,0.89,0.79,0.45,0.61,0.10,1.05,0.22,0.33
282 | 2013,Yovani Gallardo,4.18,0.26,0.64,0.41,0.71,0.91,0.83,0.39,0.56,0.07,1.78,0.23,0.34
283 | 2017,Trevor Bauer,4.19,0.25,0.63,0.42,0.58,0.88,0.78,0.44,0.57,0.09,1.45,0.22,0.34
284 | 2013,R.A. Dickey,4.21,0.30,0.65,0.47,0.72,0.84,0.80,0.48,0.61,0.09,1.00,0.19,0.29
285 | 2017,Dylan Bundy,4.24,0.32,0.69,0.49,0.61,0.85,0.77,0.46,0.60,0.11,0.70,0.20,0.37
286 | 2017,Gerrit Cole,4.26,0.28,0.66,0.46,0.67,0.86,0.80,0.48,0.64,0.10,1.36,0.21,0.31
287 | 2017,Dan Straily,4.26,0.32,0.70,0.49,0.59,0.84,0.75,0.46,0.62,0.12,0.74,0.20,0.33
288 | 2015,Mike Pelfrey,4.26,0.26,0.68,0.45,0.76,0.93,0.88,0.46,0.58,0.06,1.93,0.23,0.26
289 | 2017,R.A. Dickey,4.26,0.28,0.67,0.47,0.75,0.84,0.81,0.48,0.65,0.09,1.41,0.20,0.27
290 | 2016,Trevor Bauer,4.26,0.26,0.65,0.44,0.63,0.87,0.80,0.47,0.60,0.09,1.58,0.20,0.32
291 | 2015,Ian Kennedy,4.28,0.31,0.68,0.47,0.65,0.85,0.78,0.43,0.62,0.10,0.99,0.23,0.35
292 | 2014,Eric Stults,4.30,0.31,0.63,0.44,0.75,0.89,0.83,0.42,0.63,0.08,1.22,0.21,0.31
293 | 2013,Rick Porcello,4.32,0.32,0.63,0.45,0.69,0.88,0.81,0.45,0.60,0.09,2.34,0.21,0.27
294 | 2013,Felix Doubront,4.32,0.24,0.66,0.43,0.72,0.87,0.82,0.46,0.53,0.08,1.33,0.20,0.33
295 | 2016,Tom Koehler,4.33,0.29,0.65,0.44,0.61,0.88,0.78,0.42,0.59,0.10,1.23,0.23,0.29
296 | 2017,Jon Lester,4.33,0.32,0.65,0.45,0.64,0.84,0.76,0.40,0.58,0.11,1.42,0.21,0.28
297 | 2014,Wade Miley,4.34,0.30,0.66,0.45,0.61,0.89,0.79,0.43,0.64,0.10,1.82,0.21,0.32
298 | 2015,Andrew Cashner,4.34,0.29,0.66,0.45,0.68,0.90,0.82,0.45,0.62,0.08,1.58,0.23,0.30
299 | 2016,Collin McHugh,4.34,0.33,0.65,0.48,0.62,0.87,0.77,0.45,0.67,0.11,1.09,0.21,0.30
300 | 2013,Jeff Samardzija,4.34,0.31,0.68,0.47,0.61,0.86,0.77,0.44,0.60,0.11,1.53,0.20,0.27
301 | 2016,Marcus Stroman,4.37,0.31,0.67,0.47,0.62,0.90,0.80,0.45,0.61,0.09,2.95,0.20,0.32
302 | 2013,Wily Peralta,4.37,0.29,0.68,0.45,0.67,0.90,0.81,0.41,0.58,0.08,1.84,0.21,0.28
303 | 2013,Tim Lincecum,4.37,0.31,0.63,0.45,0.56,0.87,0.74,0.43,0.57,0.11,1.43,0.23,0.30
304 | 2014,Nathan Eovaldi,4.37,0.29,0.70,0.50,0.69,0.89,0.83,0.51,0.63,0.08,1.36,0.22,0.31
305 | 2017,German Marquez,4.39,0.27,0.67,0.48,0.58,0.89,0.81,0.53,0.60,0.09,1.36,0.22,0.35
306 | 2016,Martin Perez,4.39,0.32,0.67,0.48,0.72,0.90,0.84,0.45,0.65,0.08,2.02,0.20,0.31
307 | 2016,Josh Tomlin,4.40,0.35,0.64,0.48,0.75,0.91,0.85,0.45,0.68,0.07,1.24,0.21,0.34
308 | 2016,Ricky Nolasco,4.42,0.30,0.67,0.46,0.63,0.90,0.80,0.44,0.61,0.09,1.13,0.19,0.34
309 | 2017,Jeff Samardzija,4.42,0.33,0.66,0.49,0.68,0.86,0.79,0.48,0.65,0.10,1.14,0.22,0.30
310 | 2016,Yordano Ventura,4.45,0.28,0.64,0.44,0.59,0.90,0.79,0.45,0.56,0.09,1.63,0.19,0.31
311 | 2016,R.A. Dickey,4.46,0.28,0.69,0.48,0.68,0.82,0.78,0.49,0.62,0.11,1.17,0.22,0.30
312 | 2015,Wade Miley,4.46,0.30,0.62,0.43,0.68,0.90,0.81,0.41,0.61,0.08,1.60,0.21,0.25
313 | 2014,Kyle Gibson,4.47,0.33,0.65,0.46,0.69,0.90,0.81,0.39,0.57,0.09,2.05,0.19,0.26
314 | 2016,Mike Fiers,4.48,0.28,0.66,0.46,0.69,0.86,0.81,0.46,0.63,0.09,1.32,0.26,0.35
315 | 2014,Drew Hutchison,4.48,0.34,0.70,0.49,0.63,0.87,0.78,0.43,0.59,0.11,0.80,0.19,0.32
316 | 2015,Jeff Locke,4.49,0.29,0.66,0.45,0.69,0.86,0.80,0.43,0.63,0.09,2.05,0.24,0.27
317 | 2017,Julio Teheran,4.49,0.31,0.67,0.47,0.69,0.86,0.80,0.44,0.64,0.09,1.00,0.20,0.30
318 | 2014,C.J. Wilson,4.51,0.23,0.58,0.37,0.65,0.89,0.80,0.41,0.59,0.07,1.62,0.23,0.26
319 | 2014,Justin Verlander,4.54,0.30,0.69,0.47,0.72,0.87,0.81,0.44,0.62,0.09,0.98,0.20,0.28
320 | 2015,Trevor Bauer,4.55,0.27,0.69,0.45,0.58,0.89,0.79,0.43,0.59,0.10,0.96,0.20,0.31
321 | 2016,Dallas Keuchel,4.55,0.30,0.63,0.44,0.63,0.89,0.78,0.42,0.63,0.10,2.33,0.19,0.30
322 | 2015,Taijuan Walker,4.56,0.30,0.67,0.47,0.65,0.86,0.79,0.47,0.63,0.10,0.99,0.22,0.30
323 | 2016,Gio Gonzalez,4.57,0.30,0.63,0.44,0.68,0.86,0.78,0.41,0.58,0.09,1.61,0.23,0.33
324 | 2013,Ryan Dempster,4.57,0.30,0.66,0.44,0.67,0.85,0.77,0.39,0.60,0.10,1.08,0.22,0.33
325 | 2013,Jerome Williams,4.57,0.33,0.68,0.48,0.69,0.89,0.81,0.41,0.58,0.09,1.49,0.21,0.32
326 | 2017,John Lackey,4.59,0.32,0.66,0.47,0.64,0.86,0.78,0.45,0.65,0.10,1.06,0.20,0.35
327 | 2014,A.J. Burnett,4.59,0.25,0.63,0.42,0.56,0.91,0.79,0.45,0.57,0.09,1.78,0.21,0.31
328 | 2016,Jon Gray,4.61,0.30,0.69,0.49,0.52,0.87,0.75,0.48,0.62,0.12,1.36,0.25,0.31
329 | 2014,Kyle Kendrick,4.61,0.30,0.64,0.45,0.73,0.90,0.84,0.44,0.63,0.07,1.29,0.21,0.32
330 | 2016,Jimmy Nelson,4.62,0.26,0.64,0.45,0.71,0.89,0.83,0.48,0.58,0.07,1.58,0.19,0.33
331 | 2016,Adam Wainwright,4.62,0.29,0.62,0.44,0.64,0.92,0.81,0.44,0.62,0.08,1.42,0.26,0.31
332 | 2016,Doug Fister,4.64,0.29,0.56,0.40,0.75,0.93,0.85,0.41,0.60,0.06,1.32,0.20,0.32
333 | 2017,Rick Porcello,4.65,0.31,0.69,0.49,0.70,0.86,0.81,0.49,0.67,0.09,0.98,0.21,0.38
334 | 2015,Colby Lewis,4.66,0.31,0.65,0.47,0.68,0.90,0.82,0.47,0.63,0.08,0.76,0.22,0.33
335 | 2017,Tanner Roark,4.67,0.30,0.66,0.46,0.65,0.85,0.78,0.44,0.59,0.10,1.51,0.20,0.28
336 | 2016,Jaime Garcia,4.67,0.29,0.64,0.45,0.61,0.89,0.80,0.47,0.60,0.09,2.26,0.18,0.31
337 | 2013,Dan Haren,4.67,0.33,0.67,0.48,0.68,0.89,0.81,0.44,0.65,0.09,0.86,0.22,0.34
338 | 2017,Luis Perdomo,4.67,0.29,0.64,0.45,0.62,0.91,0.80,0.44,0.61,0.09,2.94,0.17,0.32
339 | 2015,Rubby de la Rosa,4.67,0.32,0.69,0.49,0.67,0.83,0.77,0.45,0.58,0.11,1.49,0.18,0.28
340 | 2017,Kevin Gausman,4.68,0.30,0.67,0.46,0.63,0.84,0.76,0.44,0.60,0.11,1.21,0.22,0.32
341 | 2016,Mike Leake,4.69,0.31,0.68,0.47,0.71,0.93,0.85,0.45,0.62,0.07,2.12,0.21,0.31
342 | 2016,Francisco Liriano,4.69,0.30,0.62,0.43,0.53,0.89,0.73,0.39,0.56,0.11,1.72,0.18,0.35
343 | 2013,Kyle Kendrick,4.70,0.32,0.66,0.47,0.80,0.89,0.86,0.43,0.63,0.07,1.60,0.20,0.29
344 | 2016,Hector Santiago,4.70,0.25,0.68,0.46,0.71,0.86,0.82,0.48,0.55,0.08,0.68,0.16,0.37
345 | 2015,John Danks,4.71,0.30,0.68,0.48,0.71,0.86,0.81,0.46,0.63,0.09,0.94,0.21,0.29
346 | 2015,CC Sabathia,4.73,0.33,0.64,0.46,0.67,0.89,0.80,0.42,0.63,0.09,1.41,0.22,0.29
347 | 2014,John Danks,4.74,0.28,0.64,0.45,0.70,0.88,0.82,0.46,0.61,0.08,1.10,0.19,0.29
348 | 2017,Masahiro Tanaka,4.74,0.38,0.69,0.51,0.53,0.84,0.70,0.42,0.65,0.15,1.51,0.18,0.31
349 | 2014,Hector Noesi,4.75,0.31,0.68,0.48,0.69,0.87,0.80,0.45,0.62,0.09,0.94,0.21,0.29
350 | 2013,CC Sabathia,4.78,0.30,0.65,0.46,0.67,0.86,0.79,0.47,0.65,0.10,1.35,0.22,0.33
351 | 2017,Ty Blach,4.78,0.25,0.67,0.45,0.77,0.90,0.86,0.49,0.62,0.06,1.47,0.22,0.31
352 | 2017,Clayton Richard,4.79,0.32,0.68,0.47,0.69,0.90,0.82,0.44,0.63,0.09,3.00,0.21,0.35
353 | 2016,Chad Bettis,4.79,0.29,0.66,0.45,0.67,0.89,0.80,0.42,0.63,0.09,1.91,0.22,0.31
354 | 2016,Michael Pineda,4.82,0.35,0.67,0.49,0.50,0.86,0.71,0.42,0.67,0.14,1.40,0.22,0.33
355 | 2017,Martin Perez,4.82,0.32,0.64,0.45,0.75,0.91,0.84,0.40,0.59,0.07,1.69,0.25,0.33
356 | 2015,Aaron Harang,4.86,0.30,0.71,0.48,0.74,0.91,0.85,0.44,0.62,0.07,0.83,0.20,0.29
357 | 2016,Drew Smyly,4.88,0.30,0.67,0.47,0.63,0.85,0.78,0.46,0.58,0.11,0.63,0.19,0.30
358 | 2016,Robbie Ray,4.90,0.29,0.66,0.47,0.59,0.83,0.75,0.47,0.56,0.12,1.40,0.22,0.37
359 | 2013,Ian Kennedy,4.91,0.30,0.70,0.47,0.71,0.84,0.79,0.42,0.62,0.10,0.99,0.23,0.36
360 | 2015,Rick Porcello,4.92,0.30,0.64,0.47,0.72,0.87,0.82,0.48,0.61,0.09,1.40,0.22,0.33
361 | 2017,Ricky Nolasco,4.92,0.30,0.71,0.46,0.62,0.85,0.76,0.39,0.60,0.11,1.03,0.21,0.38
362 | 2015,Jeff Samardzija,4.96,0.34,0.69,0.51,0.68,0.88,0.81,0.48,0.62,0.10,0.98,0.21,0.27
363 | 2013,Edwin Jackson,4.98,0.29,0.68,0.47,0.62,0.90,0.80,0.44,0.56,0.09,1.81,0.20,0.32
364 | 2017,Marco Estrada,4.98,0.31,0.71,0.49,0.71,0.81,0.78,0.45,0.59,0.11,0.60,0.19,0.27
365 | 2015,Chris Tillman,4.99,0.26,0.67,0.45,0.75,0.89,0.84,0.46,0.58,0.07,1.23,0.21,0.27
366 | 2014,Travis Wood,5.03,0.28,0.65,0.45,0.77,0.90,0.86,0.47,0.58,0.07,0.81,0.23,0.31
367 | 2015,Alfredo Simon,5.05,0.29,0.68,0.47,0.68,0.90,0.83,0.46,0.56,0.08,1.26,0.22,0.32
368 | 2016,Jered Weaver,5.06,0.29,0.63,0.45,0.78,0.84,0.82,0.48,0.64,0.08,0.60,0.23,0.35
369 | 2013,Jeremy Hellickson,5.17,0.30,0.68,0.46,0.69,0.85,0.79,0.43,0.60,0.10,0.98,0.20,0.35
370 | 2014,Colby Lewis,5.18,0.31,0.63,0.46,0.74,0.91,0.84,0.46,0.66,0.07,0.75,0.23,0.37
371 | 2013,Joe Saunders,5.26,0.28,0.63,0.42,0.73,0.94,0.85,0.41,0.61,0.06,1.89,0.22,0.34
372 | 2017,Jason Hammel,5.29,0.31,0.67,0.48,0.62,0.89,0.80,0.48,0.63,0.10,0.92,0.21,0.32
373 | 2014,Clay Buchholz,5.34,0.30,0.66,0.45,0.70,0.88,0.81,0.43,0.61,0.09,1.36,0.19,0.32
374 | 2016,Wade Miley,5.37,0.33,0.64,0.46,0.69,0.89,0.81,0.44,0.60,0.09,1.56,0.23,0.33
375 | 2016,Edinson Volquez,5.37,0.29,0.65,0.46,0.66,0.90,0.81,0.46,0.56,0.09,1.77,0.20,0.32
376 | 2017,Jeremy Hellickson,5.43,0.30,0.70,0.48,0.74,0.87,0.83,0.45,0.59,0.08,0.80,0.21,0.32
377 | 2017,Matt Moore,5.52,0.28,0.68,0.47,0.67,0.88,0.82,0.47,0.61,0.09,0.90,0.20,0.35
378 | 2013,Edinson Volquez,5.71,0.27,0.63,0.43,0.63,0.88,0.80,0.45,0.57,0.09,1.61,0.23,0.31
379 | 2016,James Shields,5.85,0.29,0.68,0.44,0.64,0.89,0.79,0.38,0.55,0.09,1.06,0.21,0.34
380 |
--------------------------------------------------------------------------------