Previous articles in this series:

  1. XGBoost
  2. New Data, Model, Code
  3. Ensembling
  4. Results

1. XGBoost

We use the XGBoost library directly instead of the Scikit-learn wrapper primarily for GPU computing but also for ease of accessing early stopping for the number of boosting rounds. To install the program, we used the Anaconda package. Note that the GPU version can also be used with CPUs so if you intend to use GPUs at any time, this is the preferred version.

2. New Data, Model, Code

We added a new variable, pitches per plate appearance. The new data set can be obtained here.

We use the same method to randomly sample hyperparameters as we used in Plate Discipline for Hitters – Ensemble of Neural Networks. XGBoost parameters can be found here.

import numpy as np
from sklearn.model_selection import ParameterGrid
from sklearn.model_selection import ParameterSampler

def parameters(grid_type, num_samples):          
    eta = np.linspace(0.1, 0.9, num=17, endpoint=True) # learning rate
    max_depth = np.linspace(3,12,num=10,endpoint=True,dtype='int')
    colsample_bytree = np.linspace(0.5, 1.0, num=11, endpoint=True)
    reg_lambda = [1, 2, 3, 4, 5]
    reg_alpha = [0, 1, 2]
        
    grid = {'eta':eta, 'max_depth':max_depth,
            'colsample_bytree':colsample_bytree, 'reg_lambda':reg_lambda, 
            'reg_alpha':reg_alpha}
        
    # parameter_grid is a list of dictionaries
    if grid_type == 'deterministic':
        parameter_grid = list(ParameterGrid(grid))
    elif grid_type == 'stochastic':
        num_samples = min(num_samples, len(list(ParameterGrid(grid))))
        parameter_grid = list(ParameterSampler(grid, n_iter=num_samples))
    else:
        print('\ninvalid grid_type in parameters():',grid_type)
        raise NameError
    
    return parameter_grid

Below is the XGBoost code. First, we construct a single parameter dictionary from the one above, plus some fixed parameters from the next section of code. Then we implement cross validation, splitting the data into train and validation sets. XGBoost has its own data structure, DMatrix, so that Numpy arrays must be converted to it. If you have a large data set you may want to use the multithreading option for this conversion. In constructing the model, we limit the number of boosting rounds and set a value for early stopping.

The threshold is used to determine if we want to save the model for later use in ensembling. If so, we save the model and model parameters.

import numpy as np
import joblib
import xgboost as xgb

# uses rme for validation metrics, this is converted to mse which is
# the error of the threshold_error   
def xgb_cv_early_stop(xcalib, ycalib, max_boosting_rounds, early_stop,
                      cv_folds, threshold_error, model_name, results_directory,
                      dict_single_params, dict_multiple_params):        
    dict_params = dict_single_params
    dict_params.update(dict_multiple_params)
        
    cv_num = int(xcalib.shape[0]/cv_folds)
    list_cv_metrics = []
    list_cv_rounds = []
    for fold in range(cv_folds):
        # get train/valid
        x_train = np.vstack((xcalib[:cv_num*fold], xcalib[cv_num*(fold+1):]))        
        y_train = np.hstack((ycalib[:cv_num*fold], ycalib[cv_num*(fold+1):]))
        
        x_valid = xcalib[cv_num*fold:cv_num*(fold+1)]
        y_valid = ycalib[cv_num*fold:cv_num*(fold+1)]
        
        # transform numpy arrays into dmatrix format
        dtrain = xgb.DMatrix(x_train, label=y_train)
        dvalid = xgb.DMatrix(x_valid, label=y_valid)
                
        watchlist = [(dvalid, 'eval')]  
        xgb_model_cv = xgb.train(params=dict_params, dtrain=dtrain, evals=watchlist,
                                 num_boost_round=max_boosting_rounds,
                                 early_stopping_rounds=early_stop,
                                 verbose_eval=False)
    
        rootmeansquarederror = xgb_model_cv.best_score
        list_cv_metrics.append(rootmeansquarederror*rootmeansquarederror)
        list_cv_rounds.append(xgb_model_cv.best_ntree_limit)
                
    dict_return = {}  # function returns an empty dictionary if below is not enacted
    # apply threshold_error to determine if model should be saved and evaluated with production data
    if np.mean(list_cv_metrics) < threshold_error:
        # refit on all calib data
        dcalib = xgb.DMatrix(xcalib, label=ycalib)
        boosting_rounds = int(np.mean(list_cv_rounds))
        xgb_model_final = xgb.train(params=dict_params, dtrain=dcalib,
                                    num_boost_round=boosting_rounds,
                                    verbose_eval=False)        
        # save model
        joblib.dump(xgb_model_final, results_directory + model_name + '.joblib')
        
        dict_return['Model Name'] = model_name
        dict_return['Mean CV Error'] = np.mean(list_cv_metrics)
        dict_return['Mean CV Rounds'] = boosting_rounds    
    
    return dict_return

Now that we have our model, the following code sets some parameters, obtains data, and then implements it. Note the setting of maximum computing time which allows us to establish a computing budget when using AWS EC2 machines.

import pandas as pd
import numpy as np
import os
import time
from pathlib import Path

def create_models(base_direct, data_direct, processor_type = 'cpu'):       
    # xgb single params
    dict_single_parameters = {'booster':'gbtree', 'verbosity':0, 
                              'objective': 'reg:squarederror'}
    if processor_type == 'cpu':
        tree_method  = 'hist' # auto
        predictor = 'cpu_predictor'
    else:
        tree_method  = 'gpu_hist'
        predictor = 'gpu_predictor'
        
    dict_single_parameters['tree_method'] = tree_method
    dict_single_parameters['predictor'] = predictor
       
    maximum_boosting_rounds = 1000
    early_stop_rounds = 20
    size_of_parameter_list = 1000
    
    cvfolds = 5
    max_time_minutes = 180
    dict_error_threshold = {'bb':2.9, 'k':8.5}
       
    # read in x values   
    x_train1 = np.load(data_direct + 'x_train1.npy')
    x_train2 = np.load(data_direct + 'x_train2.npy')
    x_test = np.load(data_direct + 'x_test.npy')
    x_calibration = np.vstack(([x_train1, x_train2, x_test]))
       
    for target_type in ['BB','K']:       
        start_time = time.time()
        print('\n*** starting',target_type,' at',pd.Timestamp.now())
                
        tt = target_type.lower()
        
        results_direct = base_direct + 'xgb_cv_early_stop_results_' + tt + '/'
        if not Path(results_direct).is_dir():
            os.mkdir(results_direct)
           
        y_train1 = np.load(data_direct + 'y_train1_' + tt + '.npy')        
        y_train2 = np.load(data_direct + 'y_train2_' + tt + '.npy')        
        y_test = np.load(data_direct + 'y_test_' + tt + '.npy')        
        y_calibration = np.hstack(([y_train1, y_train2, y_test]))
               
        list_parameter_dictionary = parameters('stochastic', size_of_parameter_list)
        
        list_dict_results = []
        for iparam in range(size_of_parameter_list):        
            modelname = 'xgb_' + tt + '_' + str(iparam)
        
            dict_xgb_results = xgb_cv_early_stop(x_calibration, y_calibration, 
                               maximum_boosting_rounds, early_stop_rounds,
                               cvfolds, dict_error_threshold[tt], modelname, 
                               results_direct, dict_single_parameters, 
                               list_parameter_dictionary[iparam])
            
            if len(dict_xgb_results) > 0:
                list_parameter_dictionary[iparam].update(dict_xgb_results)
                list_dict_results.append(list_parameter_dictionary[iparam])
                
            # check elapsed time for early stopping
            elapsed_time_minutes = (time.time() - start_time)/60
            if elapsed_time_minutes > max_time_minutes:
                break
      
        # collect results in a df, then save
        df_param_results = pd.DataFrame(data=list_dict_results)
        df_param_results.to_pickle(results_direct + 'df_parameter_results_' + tt + '.pkl')
        df_param_results.to_csv(results_direct + 'df_parameter_results_' + tt + '.csv')
        list_dict_results.clear()

3. Ensembling

The error threshold allows us to save only good models. We then choose the top N, here N=5, for ensembling. Then we apply our production data, data from the 2019 season, to each of the N models, and take the median of the results for the final prediction.

import pandas as pd
import joblib
import xgboost as xgb
from sklearn.metrics import mean_squared_error
from sklearn.metrics import median_absolute_error

def production(base_direct, data_direct, num_models):    
    df_prod = pd.read_pickle(data_direct + 'df_plate_discipline_hitters_2019.pkl')
    header_features = ['O-Swing%', 'Z-Swing%', 'Swing%', 'O-Contact%',
                       'Z-Contact%', 'Contact%', 'Zone%', 'F-Strike%', 
                       'SwStr%', 'Pitches/PA']
    x = df_prod[header_features].values
    
    for target_type in ['BB','K']:
        tt = target_type.lower()
        header_target = target_type + '%'
        
        y = df_prod[header_target].values        
        dxgb = xgb.DMatrix(x, label=y)
        
        model_direct = base_direct + 'xgb_cv_early_stop_results_' + tt + '/' 
        fn = 'df_parameter_results_' + tt + '.pkl'           
        df_params = pd.read_pickle(model_direct + fn)    
        df_params.sort_values(by='Mean CV Error', ascending=True, inplace=True)
        df_params = df_params[:num_models]
                    
        dfresults = pd.DataFrame(data=df_prod['Name'], index=df_prod.index)
        dfresults['Team'] = df_prod['Team']
        dfresults[header_target] = df_prod[header_target]
        
        df_cv_errors = pd.DataFrame(index=['Mean Squared Error'])
        df_prod_errors = pd.DataFrame(index=['Mean Squared Error','Median Absolute Error'])
                    
        list_y_predicted = []
        for i in range(df_params.shape[0]):
            model_name = df_params.loc[df_params.index[i], 'Model Name']
            
            cv_error = df_params.loc[df_params.index[i], 'Mean CV Error']
            df_cv_errors[model_name] = [cv_error]
            
            xgb_model = joblib.load(model_direct + model_name + '.joblib')
            y_predicted = xgb_model.predict(dxgb)
            dfresults[model_name] = y_predicted
            list_y_predicted.append(y_predicted)
            mse = mean_squared_error(y, y_predicted)
            mae = median_absolute_error(y, y_predicted)
            df_prod_errors[model_name] = [mse, mae]
                        
        # ensemble
        y_predicted_ensemble = np.median(list_y_predicted, axis=0)
        dfresults['Median'] = y_predicted_ensemble
        dfresults['Median - Actual'] = (y_predicted_ensemble - y)
        
        mse = mean_squared_error(y, y_predicted)
        mae = median_absolute_error(y, y_predicted)
        df_prod_errors['Ensemble'] = [mse, mae]
               
        # save results
        df_cv_errors.to_csv(model_direct + 'df_cv_errors_' + tt + '.csv')
        df_prod_errors.to_csv(model_direct + 'df_prod_errors_' + tt + '.csv')
        dfresults.to_csv(model_direct + 'df_prod_results_' + tt + '.csv')

4. Results

XBG Hyperparameters BB%

reg_lambdareg_alphamax_depthetacolsample_bytreeModel NameMean CV ErrorMean CV Rounds
1040.10.9xgb_bb_5002.6161975
2030.250.8xgb_bb_6002.6355343
4230.10.55xgb_bb_6962.64016139
4030.20.95xgb_bb_2192.6415447
2040.10.95xgb_bb_4882.6426656

XGB Hyperparameters K%

reg_lambdareg_alphamax_depthetacolsample_bytreeModel NameMean CV ErrorMean CV Rounds
3230.10.65xgb_k_8535.75827119
4130.10.55xgb_k_5695.81609118
4030.10.75xgb_k_6585.82075113
3130.10.95xgb_k_5945.83073122
4130.150.55xgb_k_75.8398483

XGB CV and Production Errors BB%

 xgb_bb_500xgb_bb_600xgb_bb_696xgb_bb_219xgb_bb_488
Mean Squared Error (CV)2.616192.635532.640162.641542.64266
Mean Squared Error (Production)2.912512.862382.852312.873732.89083
Median Absolute Error (Production)1.089321.152331.101741.107721.09942

XGB CV and Production Errors K%

 xgb_k_853xgb_k_569xgb_k_658xgb_k_594xgb_k_7
Mean Squared Error (CV)5.758275.816095.820755.830735.83984
Mean Squared Error (Production)6.500956.284566.284666.29566.44777
Median Absolute Error (Production)1.765211.75631.733181.642411.76122

2019 XGB Results BB%

NameTeamBB%xgb_bb_500xgb_bb_600xgb_bb_696xgb_bb_219xgb_bb_488MedianMedian - Actual
Christian YelichBrewers13.811.6928111.2608511.3739410.4730011.0713011.26085-2.53915
Mike TroutAngels18.315.6603915.6246114.9936714.7429415.6905915.62461-2.67539
Yordan AlvarezAstros14.110.6102410.2225811.2145310.5760710.4934310.57607-3.52393
Alex BregmanAstros17.215.8125416.0703616.3156615.2056315.0140715.81254-1.38746
Nelson CruzTwins10.712.1942011.7952911.6186411.6086811.6576311.657630.95763
David FreeseDodgers12.49.658029.329639.591759.442329.567829.56782-2.83218
Cody BellingerDodgers14.413.3798512.2945512.8754412.8374513.1735612.87544-1.52456
Anthony RendonNationals12.411.8954511.9332412.2247712.0759911.7761011.93324-0.46676
Ketel MarteDiamondbacks8.49.229869.337159.239809.481928.961229.239800.83980
Mitch GarverTwins11.414.4959113.3918815.1834914.9590914.1896114.495913.09591
Joey GalloRangers17.515.5607414.8698715.1007914.5575215.3684015.10079-2.39921
George SpringerAstros12.112.3807313.0122012.4349812.5687311.9339212.434980.33498
Howie KendrickNationals7.37.198466.810617.087177.096806.990287.08717-0.21283
Fernando Tatis Jr.Padres8.18.8997810.156158.718179.713809.385499.385491.28549
Juan SotoNationals16.416.5050915.9480016.5254616.4609116.2252916.460910.06091
Nolan ArenadoRockies9.46.784666.337706.553287.018696.535496.55328-2.84672
Anthony RizzoCubs11.68.941259.358079.085338.333589.063259.06325-2.53675
Xander BogaertsRed Sox10.910.7725210.8778110.8298310.7594610.6378010.77252-0.12748
Keston HiuraBrewers7.27.163856.792917.182577.295346.935907.16385-0.03615
Charlie BlackmonRockies6.36.792476.903506.443846.603326.738826.738820.43882
Freddie FreemanBraves12.612.6126911.2662011.8052911.7642911.4335711.76429-0.83571
J.D. MartinezRed Sox118.279049.067688.540358.838468.439498.54035-2.45965
Mark CanhaAthletics13.512.6515311.3088911.3778911.7461012.5968511.74610-1.75390
Jeff McNeilMets6.24.543644.866744.761704.536264.590884.59088-1.60912
Bo BichetteBlue Jays6.66.968347.061676.773587.143757.098967.061670.46167
Peter AlonsoMets10.48.691498.520708.727738.697078.655288.69149-1.70851
Jordan LuplowIndians12.614.6859514.4854714.4379114.3002814.4911814.485471.88547
Aaron JudgeYankees14.314.8874514.3586414.2269013.4765414.1024114.22690-0.07310
Eugenio SuarezReds10.610.8698510.9383910.3876910.9967810.8726410.872640.27264
Carlos CorreaAstros10.99.042879.501489.754969.806259.202059.50148-1.39852
Mookie BettsRed Sox13.713.5214513.8193313.7695413.4836513.4619113.52145-0.17855
Trevor StoryRockies8.89.747379.526249.732219.811899.722059.732210.93221
Carlos SantanaIndians15.714.4610414.7923214.9467714.3789713.9225214.46104-1.23896
Austin MeadowsRays9.110.3328910.2693110.1506110.1562610.4312710.269311.16931
Kris BryantCubs11.710.5832110.5391310.8994510.5927310.0153610.58321-1.11679
Yoan MoncadaWhite Sox7.27.989907.572208.059707.988297.794917.988290.78829
Miguel SanoTwins12.513.7275913.5836714.5386414.2578514.1969114.196911.69691
Josh BellPirates12.114.5013513.0849512.5720112.6184812.8775012.877500.77750
Jorge SolerRoyals10.813.8007613.7714913.2739212.9459912.2706513.273922.47392
Josh DonaldsonBraves15.214.4265314.9482115.3612615.0658014.4127014.94821-0.25179
Hunter PenceRangers8.27.495127.301127.038507.657987.195687.30112-0.89888
Rafael DeversRed Sox6.85.972605.647675.712166.102466.232215.97260-0.82740
DJ LeMahieuYankees78.793908.660738.568288.852098.565758.660731.66073
Jose AltuveAstros7.58.559498.295738.225318.459318.188808.295730.79573
J.D. DavisMets8.49.687418.985789.162149.139139.274209.162140.76214
Trey ManciniOrioles9.38.066898.567238.108208.623088.211668.21166-1.08834
Marcus SemienAthletics11.610.6871812.7124311.2193411.8574010.7918611.21934-0.38066
Max MuncyDodgers15.315.9215214.8708815.2713114.5418815.3878215.27131-0.02869
Mike FordYankees10.411.5993112.2981712.1202612.1915111.9742712.120261.72026
Matt JoyceBraves1614.2118713.6101413.5164613.6345313.6572713.63453-2.36547
Bryan ReynoldsPirates8.49.6855710.196169.559839.8436010.195269.843601.44360
Justin TurnerDodgers9.39.138429.113349.112409.156959.131729.13172-0.16829
Giovanny UrshelaYankees5.34.933415.129404.893804.970565.092394.97056-0.32944
Ronald Acuna Jr.Braves10.611.6969610.7713311.0470011.2137011.9893411.213700.61370
Will SmithDodgers9.210.5951311.1761810.7511410.8653410.7928610.792861.59286
Dominic SmithMets9.68.807548.544738.701308.965228.698758.70130-0.89870
Willson ContrerasCubs9.36.940077.416437.128287.222366.652627.12828-2.17172
Matt OlsonAthletics9.310.8814611.0063711.2215310.8508211.3209411.006371.70637
Ian HappCubs9.67.409277.387117.499197.478127.200877.40927-2.19073
Brad Miller- - -8.811.2270511.2839611.3714611.4636610.8808511.283962.48396
Michael BrantleyAstros87.005927.152387.413117.228747.421217.22874-0.77126
Corey Dickerson- - -5.75.927306.360476.443266.215466.645766.360470.66047
Bryce HarperPhillies14.510.9565711.1524810.5827211.2398910.7751510.95657-3.54343
Yuli GurrielAstros65.410325.978575.558575.547285.579645.55857-0.44143
David DahlRockies6.86.455416.272106.514496.613096.651316.51449-0.28551
Mike TauchmanYankees11.513.0711913.0599912.6223612.9611112.8565712.961111.46111
Tim AndersonWhite Sox2.94.284174.326444.313344.542274.299394.313341.41334
Cameron MaybinYankees11.211.4314211.5717511.7925112.0037811.9338911.792510.59251
Edwin Encarnacion- - -11.911.9508912.4630012.6843412.2434811.8796212.243480.34348
Joc PedersonDodgers9.711.3766211.1988811.4269711.0346811.3710711.371071.67107
Yasmani GrandalBrewers17.215.4280814.7446015.3052614.8881214.8893314.88933-2.31067
Luis ArraezTwins9.810.427059.8797910.1996210.3752010.4359610.375200.57520
Aristides AquinoReds7.17.775177.606847.157007.976037.699417.699410.59941
Hunter DozierRoyals9.49.465159.997869.457949.706109.811219.706100.30610
Luke VoitYankees13.911.1227012.7229211.5699712.5527812.1618712.16187-1.73813
Gleyber TorresYankees7.97.706747.451367.685627.918057.483277.68562-0.21438
Wilmer FloresDiamondbacks5.37.323246.900316.721387.139237.232247.139231.83923
Andrew McCutchenPhillies16.416.9156715.4846416.2630916.5286816.2322316.26309-0.13691
Michael ConfortoMets1311.6783311.4662711.4421012.0055311.9334011.67833-1.32167
Lourdes Gurriel Jr.Blue Jays5.86.482496.797415.796565.978786.344936.344930.54493
Nicholas Castellanos- - -6.26.169465.915266.186306.072486.313376.16946-0.03054
Kyle SchwarberCubs11.513.3233612.3526913.0022513.2431213.5974413.243121.74312
Tommy EdmanCardinals4.67.584257.361157.961317.786017.378677.584252.98425
Ramon LaureanoAthletics5.67.089007.598087.257117.054926.740627.089001.48900
Trea TurnerNationals7.68.689328.571688.491198.746908.605028.605021.00502
Max KeplerTwins10.18.607558.897938.599498.398038.664048.60755-1.49246
Tom MurphyMariners6.89.714899.463739.872607.829219.699139.699132.89913
Matt ChapmanAthletics10.912.9517712.7548612.6759112.4558112.4793912.675911.77591
Brandon LoweRays7.67.749907.309208.129608.435917.756107.756100.15610
Ryan BraunBrewers6.76.324696.129676.309156.384646.590426.32469-0.37531
Ozzie AlbiesBraves7.76.687356.463416.613746.684496.798066.68449-1.01551
Eric ThamesBrewers11.110.5050710.7486510.5106210.3913810.7277910.51062-0.58938
Shin-Soo ChooRangers11.811.4548411.1751111.2842311.1944311.8829311.28423-0.51577
Starling MartePirates4.36.869226.908407.005446.678066.876476.876472.57647
Mike YastrzemskiGiants7.89.140618.810299.366319.099519.038419.099511.29951
Jorge PolancoTwins8.59.834439.6757410.2835611.0692010.0390910.039091.53909
Shohei OhtaniAngels7.810.0260310.2605210.410639.816249.6062210.026032.22602
Danny SantanaRangers4.94.855105.106945.386195.131644.895045.106940.20694
Tommy La StellaAngels6.27.133196.972657.301747.278447.262577.262571.06257
Jesse WinkerReds9.910.9467411.5124110.8552211.0857610.5668910.946741.04674
Willie CalhounRangers6.87.230227.644447.597527.606887.477037.597520.79752
Francisco LindorIndians77.288806.971197.308806.882767.175937.175930.17593
Tommy PhamRays12.412.2784013.9689213.3728013.0240513.1559413.155940.75594
Mike MoustakasBrewers9.18.830978.858489.063458.453338.784428.83097-0.26903
Ji-Man ChoiRays13.112.2692912.7192712.4464612.7618211.6295512.44646-0.65354
Mitch MorelandRed Sox10.111.5537811.2421211.5682711.5989811.2748311.553781.45378
Javier BaezCubs55.384635.054184.828995.308155.417455.308150.30815
Rhys HoskinsPhillies16.515.7920215.0410915.4916814.7565614.6960515.04109-1.45891
Gary SanchezYankees98.926969.7065310.077588.853318.618048.92696-0.07304
Paul GoldschmidtCardinals11.49.232359.461538.893499.443989.603789.44398-1.95602
Donovan SolanoGiants4.46.343686.284286.189845.891116.066486.189841.78984
Christian WalkerDiamondbacks11.111.3101211.0455511.1749211.2245411.2991511.224540.12454
Aledmys DiazAstros10.58.949128.897538.710149.021788.830618.89753-1.60247
Omar NarvaezMariners9.89.793379.046669.6944510.044519.623639.69445-0.10555
Brett GardnerYankees9.511.5092211.3999711.4901211.1877611.5969611.490121.99012
Jose AbreuWhite Sox5.26.725737.533636.958697.025566.521916.958691.75869
Jake CaveTwins9.210.9529711.0231510.9503311.0290110.3628110.952971.75297
Eloy JimenezWhite Sox66.881756.727705.846916.286986.718716.718710.71871
Cavan BiggioBlue Jays16.516.9729016.1365116.2818715.9879915.5676616.13651-0.36349
Brian AndersonMarlins8.56.589856.951466.664646.544037.034926.66464-1.83536
Eric Sogard- - -8.67.916569.059908.907739.238809.004719.004710.40471
Adam EatonNationals9.99.804769.855659.784099.960659.840689.84068-0.05932
Alex VerdugoDodgers6.97.671407.232097.474597.235277.655217.474590.57459
Yandy DiazRays10.19.885249.9835010.2280210.6332410.2206010.220600.12060
Eduardo EscobarDiamondbacks7.26.278175.948326.049176.310136.452976.27817-0.92183
Alex Dickerson- - -6.86.261456.339206.371336.511016.456236.37133-0.42867
Corey SeagerDodgers8.18.980368.172428.575408.950528.166948.575400.47540
Byron BuxtonTwins6.45.435255.250115.261574.953935.204905.25011-1.14989
Whit MerrifieldRoyals6.16.460466.546306.420416.705206.418896.460460.36046
J.T. RealmutoPhillies6.97.875358.558078.412257.748568.070648.070641.17064
Brandon NimmoMets18.114.2704314.7330014.3710014.9628714.5142014.51420-3.58580
Kevin NewmanPirates5.35.497346.257005.719795.658185.342595.658180.35818
Carson KellyDiamondbacks13.211.7942011.0964411.5636511.7750811.8350211.77508-1.42492
Franmil Reyes- - -8.67.727757.749807.640677.891707.739087.73908-0.86092
Victor CaratiniCubs10.49.371909.677429.586449.876809.724139.67742-0.72258
David PeraltaDiamondbacks8.36.281586.590745.837366.452986.429956.42995-1.87005
Marcell OzunaCardinals11.312.1665911.2151111.9633811.3582612.2222211.963380.66338
Kurt SuzukiNationals6.55.555285.716065.913155.466795.733615.71606-0.78394
Austin NolaMariners8.69.287879.192539.258548.497549.417569.258540.65854
Garrett CooperMarlins7.86.991477.794846.905607.406517.167467.16746-0.63254
Robinson ChirinosAstros11.78.177358.493827.865438.290208.291548.29020-3.40980
Pablo SandovalGiants6.16.847656.744896.681976.747736.760816.747730.64773
David BoteCubs12.410.6697110.7946010.2835310.5658610.4440810.56586-1.83414
Jonathan VillarOrioles8.59.822319.808999.887099.645729.699739.808991.30899
Manny MachadoPadres9.88.787848.619038.529178.580568.481098.58056-1.21944
Jose RamirezIndians9.610.3537610.9507410.4860010.6589310.3462310.486000.88600
Avisail GarciaRays5.86.974026.660136.581246.548026.956666.660130.86012
Phillip ErvinReds6.911.2113110.0178210.4906510.6029611.0400010.602963.70296
Derek DietrichReds9.29.857919.737229.8349310.195389.847859.847850.64785
Kolten WongCardinals8.68.786528.880198.541298.741918.653728.741910.14191
Shed LongMariners9.510.1553510.0029010.320049.863099.8866410.002900.50290
Clint FrazierYankees6.511.5799511.8501811.2786511.7913311.5386911.579955.07995
Brock HoltRed Sox9.59.777929.472469.727459.777809.920799.777800.27779
Daniel VogelbachMariners16.515.6844014.3078715.3046414.5423514.0420314.54235-1.95765
A.J. PollockDodgers6.77.963927.979867.922948.212578.266437.979861.27986
James McCannWhite Sox6.36.630546.423666.932316.708356.465736.630540.33054
Brian GoodwinAngels8.310.161569.696049.954419.985739.475529.954411.65441
Nick MarkakisBraves1010.3660410.4905010.3445210.5164410.2908010.366040.36604
Joey VottoReds12.513.2576713.0398112.1629312.6366413.0787713.039810.53981
Kyle SeagerMariners9.910.6104510.1158210.5227810.6579110.9804810.610450.71045
Christian VazquezRed Sox6.36.184156.067526.387775.934886.005736.06752-0.23248
Stephen VogtGiants7.17.637878.104888.106357.723657.500637.723650.62365
Asdrubal Cabrera- - -11.110.348649.7573210.396939.8232810.0914710.09147-1.00853
Chris TaylorDodgers8.99.437269.120539.627809.659559.390039.437260.53726
Yasiel Puig- - -7.27.585727.152727.207217.228467.289087.228460.02846
Tyler NaquinIndians4.85.535555.705895.264815.692525.396895.535550.73555
Kole CalhounAngels11.19.5505710.220629.246229.953259.667619.66761-1.43239
Ryan McMahonRockies10.410.245189.872509.900179.8032210.231739.90017-0.49983
Andrew BenintendiRed Sox9.69.412689.339049.1874110.074369.167439.33904-0.26096
Brian DozierNationals12.714.7199713.9827213.9545914.2565914.2721114.256591.55659
Vladimir Guerrero Jr.Blue Jays8.99.965029.403149.064368.888989.506079.403140.50314
Scott KingeryPhillies6.87.784417.758537.659877.814877.518017.758530.95853
Eddie RosarioTwins3.74.262324.195754.776564.970594.403564.403560.70356
Nathaniel LoweRays7.711.4504611.8255812.2912311.2784911.8644611.825584.12558
Todd FrazierMets811.3293211.1996711.0764911.3669111.1921211.199673.19967
Jason CastroTwins1211.2905711.6523311.8763911.9353611.6048711.65233-0.34767
Daniel MurphyRockies6.77.352287.710807.390787.737507.332897.390780.69078
Ian DesmondRockies7.19.230299.522169.001149.080999.099829.099821.99982
Jason HeywardCubs11.59.858509.523809.833889.984509.215879.83388-1.66612
Mike FreemanIndians10.37.547267.824857.747268.366907.684867.74726-2.55274
Wilson RamosMets8.45.226514.779205.060994.982755.134935.06099-3.33901
Nomar MazaraRangers66.558248.007037.054547.571706.826307.054541.05454
Jon BertiMarlins8.410.4610610.2634510.4526510.5809910.4538110.453812.05380
Domingo SantanaMariners9.99.767629.784469.498259.775819.891219.77581-0.12419
Ehire AdrianzaTwins8.57.700998.078347.613307.833927.898557.83392-0.66608
Dexter FowlerCardinals12.913.3363313.2208912.8949113.2104812.8820413.210480.31048
Roberto PerezIndians1015.2819514.8294715.1161014.2137715.0575515.057555.05755
Mitch HanigerMariners10.610.1301410.4996610.5891510.7505610.8933410.58915-0.01085
Aaron HicksYankees12.217.0112415.5849616.5502516.2273516.3228416.322844.12284
C.J. CronTwins5.86.586046.357376.378656.826416.573086.573080.77308
Teoscar HernandezBlue Jays9.710.1935410.179659.758359.868799.806249.868790.16879
Victor ReyesTigers4.86.180405.945315.943556.190405.588805.945311.14531
Jonathan SchoopTwins4.36.054715.754675.860045.560446.152625.860041.56004
Matt BeatyDodgers6.38.015347.604657.625377.912577.628797.628791.32879
Justin SmoakBlue Jays15.814.1921114.2328814.0375813.6088913.8455714.03758-1.76242
Alex AvilaDiamondbacks17.916.7069616.9178416.3126115.6640215.6796116.31261-1.58739
Michael ChavisRed Sox8.17.024106.815847.008146.873876.837806.87387-1.22613
Renato NunezOrioles7.36.504257.380096.939277.223786.414616.93927-0.36073
Jose MartinezCardinals9.49.7656710.3626610.2711910.091659.9439810.091650.69165
Evan LongoriaGiants8.59.103798.677768.880658.719039.115318.880650.38065
Paul DeJongCardinals9.37.683347.261477.747607.548227.822377.68334-1.61666
Anthony SantanderOrioles4.76.689036.712277.584927.290406.986706.986702.28670
Oscar MercadoIndians5.87.932707.961287.742508.139588.257917.961282.16128
Austin SlaterGiants11.513.9050814.0183613.7442314.1650613.8312413.905082.40508
Adam FrazierPirates6.68.056518.577887.867237.942138.121868.056511.45651
Hunter RenfroePadres9.39.266779.310699.155829.293269.327139.29326-0.00674
Jose OsunaPirates6.37.390957.150366.681677.402847.337627.337621.03762
Neil WalkerMarlins119.787759.361418.999359.322499.853349.36141-1.63859
Brandon BeltGiants13.512.4404911.7101912.3405712.2097212.3267112.32671-1.17329
Alex GordonRoyals8.19.021219.035098.544829.108488.775039.021210.92121
Chance SiscoOrioles11.114.1283713.0405513.6434213.8817514.4383513.881752.78175
Greg GarciaPadres14.213.7306613.8148013.9164513.4532813.8739613.81480-0.38520
Miguel CabreraTigers8.76.492146.590746.457696.452986.567736.49214-2.20786
Hanser AlbertoOrioles2.93.518063.562533.953193.902463.779433.779430.87943
Amed RosarioMets4.76.464815.962496.291086.284286.566146.291081.59108
Ender InciarteBraves11.37.476807.626927.824907.713766.922577.62692-3.67308
Jay Bruce- - -5.77.052886.770056.556746.485766.849656.770051.07004
David FletcherAngels8.47.992938.476768.124608.298748.185148.18514-0.21486
Dansby SwansonBraves9.411.1554011.1635611.0683311.1464311.3057211.155401.75540
Francisco MejiaPadres5.34.792284.653284.949544.552655.124704.79228-0.50772
Victor RoblesNationals5.77.158076.902617.093027.100447.300017.100441.40044
Wil MyersPadres10.410.341649.9027210.2759710.1438010.2017510.20175-0.19825
Josh VanMeterReds11.212.0528611.9003411.9013411.1342711.1028911.900340.70034
Pedro SeverinoOrioles8.513.2289114.0448514.1081314.5250413.9977114.044855.54485
Trent GrishamBrewers10.912.2218812.4984312.5126412.3242012.2818712.324201.42420
Curt CasaliReds10.612.5661312.5762612.4642912.2885511.8914512.464291.86429
Niko GoodrumTigers9.79.274419.364589.258889.619259.431709.36458-0.33542
Cesar HernandezPhillies6.78.649708.480958.399948.650638.590458.590451.89045
Colin MoranPirates66.214786.465506.104845.968886.580096.214780.21478
Jean SeguraPhillies4.95.894436.398285.957295.993755.835845.957291.05729
Austin RomineYankees4.25.041885.343715.062925.014694.751805.041880.84188
Nick SenzelReds7.28.893488.827638.860468.960728.990628.893481.69347
Tim BeckhamMariners6.48.115518.334058.267847.816798.499308.267841.86784
Matt CarpenterCardinals12.813.0492913.8018413.5747814.1306813.4425613.574780.77478
Nick AhmedDiamondbacks8.37.841307.836257.672487.549057.928197.83625-0.46375
Jordy MercerTigers4.89.313768.873459.172639.516729.229879.229874.42987
Travis d'Arnaud- - -8.26.259836.226326.600826.064146.250936.25093-1.94907
Tim LocastroDiamondbacks5.65.871905.314595.738225.611206.051455.738220.13822
Jackie Bradley Jr.Red Sox9.99.232668.605228.923708.956039.112198.95603-0.94397
Ryan ZimmermanNationals8.910.6370510.0430210.2685110.4828110.4176810.417681.51768
Marwin GonzalezTwins6.76.465776.420406.474076.568776.389316.46577-0.23423
Willy AdamesRays7.99.236189.326869.082579.126079.232149.232141.33214
Jorge AlfaroMarlins4.75.780455.804435.593865.630776.296055.780451.08045
Adeiny Hechavarria- - -6.35.212645.214344.830605.090225.117605.11760-1.18240
JaCoby JonesTigers8.17.957208.071317.764958.245988.372458.07131-0.02869
Brian McCannBraves9.811.8893311.5428912.3121311.8936511.3577011.889332.08933
Tyler FlowersBraves108.960159.208599.101298.883919.388249.10129-0.89871
Eric HosmerPadres68.515297.856638.335907.975557.984177.984171.98417
Adam HaseleyPhillies5.87.695128.570537.721378.384228.011388.011382.21138
Albert PujolsAngels7.98.993448.442689.022668.931358.963098.963091.06309
Harold RamirezMarlins45.109525.247774.835484.951595.178975.109521.10952
Adam JonesDiamondbacks5.95.934855.242045.857095.615615.995185.85709-0.04291
Ben GamelBrewers11.210.8306911.7870910.8715810.5112911.0891010.87158-0.32842
Rowdy TellezBlue Jays7.16.470747.042975.993986.604396.789996.60439-0.49561
Robinson CanoMets5.95.463415.519965.627775.357265.140175.46341-0.43659
Tyler O'NeillCardinals6.67.616697.949927.820117.871487.213427.820111.22011
Manny PinaBrewers8.910.8433810.9732511.0038110.8237211.2956910.973252.07325
Josh ReddickAstros6.57.088707.601637.049307.171417.097857.097850.59785
Ryon HealyMariners76.935017.297577.188787.060047.047447.060040.06004
Freddy Galvis- - -4.86.281765.745696.167096.177276.586826.177271.37727
Jesus Aguilar- - -11.710.7884911.1275610.8046710.8345110.6161110.80467-0.89533
Justin UptonAngels12.510.7321410.4821310.9976810.5884910.9310010.73214-1.76786
Austin RileyBraves5.47.167437.300266.849826.878567.386187.167431.76743
Raimel TapiaRockies4.74.856285.114264.839654.948485.384364.948480.24848
Randal GrichukBlue Jays5.66.870197.045577.047236.864786.806936.870191.27019
Starlin CastroMarlins4.16.901046.923086.616717.182246.771916.901042.80103
Matt AdamsNationals67.487427.920167.102627.662697.447397.487421.48742
Stephen PiscottyAthletics7.46.540736.229916.342126.628896.359456.35945-1.04055
Josh NaylorPadres98.224608.505389.281218.782528.724888.72488-0.27512
Jose IglesiasReds3.84.725944.842265.186174.598354.735164.735160.93516
Ronald GuzmanRangers10.87.863898.269308.067578.190358.015758.06757-2.73243
Kevan SmithAngels7.67.055397.540606.981857.368007.482227.36800-0.23200
Gregory PolancoPirates7.29.978419.8554810.6749610.415699.727689.978412.77841
Miguel RojasMarlins6.17.239616.340706.540466.691336.859466.691330.59133
Brandon DixonTigers56.282076.315916.311356.482396.387256.315911.31591
Chris IannettaRockies1114.9291114.8747813.7921415.2091614.1740514.874783.87477
Matt ThaissAngels10.412.7287513.8060412.3145810.9663712.9006712.728752.32875
Ben ZobristCubs13.113.5321514.3757313.6433413.8137613.0859613.643340.54334
Yadier MolinaCardinals5.15.547674.884305.196385.106175.169535.169530.06953
Lorenzo CainBrewers89.867119.6739610.033379.471549.957589.867111.86711
Rougned OdorRangers99.335429.616199.917339.477839.175239.477830.47783
Enrique HernandezDodgers7.88.669809.481469.001199.404139.068699.068691.26869
Jurickson ProfarAthletics9.310.1339310.6115010.4898110.1830810.1944010.194400.89440
Jason KipnisIndians7.88.909268.888598.669388.907728.835738.888591.08859
Melky CabreraPirates4.34.962724.953675.323555.006825.118675.006820.70682
Tucker BarnhartReds12.19.459069.552349.106439.104319.521369.45906-2.64094
Ildemaro VargasDiamondbacks4.37.258457.470507.543857.370497.275627.370493.07049
Elvis AndrusRangers5.26.372056.411906.315996.255916.336316.336311.13631
Dwight Smith Jr.Orioles6.69.305579.228439.178588.895319.236429.228432.62843
Matt DuffyRays11.210.7051912.8267911.9294211.6936711.1538711.693670.49366
Robbie GrossmanAthletics12.212.3771112.2607812.264869.2567011.9598912.260780.06078
Dylan MooreMariners8.911.1109511.3995710.7939411.1892011.4763811.189202.28920
Tyler Austin- - -13.414.1701814.4221114.6899513.8168513.7592114.170180.77018
Luis RengifoAngels9.99.3944810.3932810.2681210.405509.3508110.268120.36812
Logan ForsytheRangers1214.9395714.5880614.8323614.9457114.4239514.832362.83236
Yan GomesNationals10.67.056857.844867.472417.304587.242427.30458-3.29542
Adalberto MondesiRoyals4.36.185156.076466.124236.017415.952336.076461.77646
Chad PinderAthletics5.47.415597.433417.376647.521327.509517.433412.03341
Ryan GoinsWhite Sox10.413.8650313.6584513.6741512.5283913.6186413.658453.25845
Buster PoseyGiants7.68.869829.046128.912518.592108.931478.912511.31251
Kevin Pillar- - -2.83.881764.347164.616544.590994.303434.347161.54716
Didi GregoriusYankees4.97.110357.046107.098497.885567.315427.110352.21035
Jacob StallingsPirates7.65.615086.047755.514226.173635.601525.61508-1.98492
Jake LambDiamondbacks14.212.3709511.8832912.5357512.1478512.7236812.37095-1.82905
Addison RussellCubs8.37.158297.218886.822587.140537.268947.15829-1.14171
Jake MarisnickAstros5.37.008466.476567.179817.187626.718717.008461.70846
Ty FrancePadres4.59.378759.057588.809399.534259.235609.235604.73560
Jake BauersIndians10.612.7752012.3462012.6631012.6080612.6388212.638822.03882
J.P. CrawfordMariners10.911.8950111.5969911.4488111.6529012.0903211.652900.75290
Manuel MargotPadres8.610.369989.690979.915369.875289.897919.897911.29791
Adam EngelWhite Sox5.66.602466.504076.563596.318386.504426.504420.90442
Russell MartinDodgers1211.5475611.7101811.4313710.7962411.0257611.43137-0.56863
Delino DeShieldsRangers9.310.4241510.2058310.5757810.3143810.7885110.424151.12415
Leury GarciaWhite Sox3.44.610974.704384.982034.473684.684164.684161.28416
Luis UriasPadres1010.4290110.2569610.0198310.5857910.1905810.256960.25696
Rio RuizOrioles9.79.573359.107008.967779.001229.216509.10700-0.59300
Christin StewartTigers8.27.091727.238557.163797.232587.154807.16379-1.03621
Harrison BaderCardinals11.310.165059.034159.354339.564329.669329.56432-1.73568
Harold CastroTigers2.44.351704.115244.710364.336664.178764.336661.93666
Matt WietersCardinals6.611.2966211.0795610.5406010.7805110.9215010.921504.32150
Garrett HampsonRockies7.312.1848512.3019811.7514811.9067512.1050512.105054.80505
Billy McKinneyBlue Jays6.98.438168.575447.641758.585868.383658.438161.53816
Josh PhegleyAthletics4.46.322206.025466.187776.042556.326596.187771.78777
Guillermo HerediaRays7.810.3742710.367529.8743710.4106310.1356210.367522.56752
Joey Rickard- - -9.59.9898110.665699.432759.580699.914679.914670.41467
Andrelton SimmonsAngels5.76.530306.735996.100596.615816.067136.530300.83030
Tony WoltersRockies8.88.665308.686258.646248.685948.489358.66530-0.13470
Khris DavisAthletics8.810.654529.8271110.3402910.4875710.3578210.357821.55782
Kyle FarmerReds5.15.894675.562085.897386.799195.905075.897380.79738
Willians AstudilloTwins2.53.343293.977183.798823.969864.204313.969861.46986
Martin Maldonado- - -8.67.218757.137846.884917.147027.392227.14702-1.45298
Gerardo Parra- - -6.37.513427.206567.279037.320377.482537.320371.02037
Cheslor CuthbertRoyals5.88.444448.483388.133318.542168.823238.483382.68338
Welington CastilloWhite Sox6.49.503509.086409.212379.913149.289219.289212.88921
Steve WilkersonOrioles6.17.816878.486608.377398.640728.387488.387482.28748
Jonathan Lucroy- - -8.27.867408.592008.324278.426458.782208.426450.22645
Tony Kemp- - -8.28.563808.252317.996178.520878.318048.318040.11804
Francisco Cervelli- - -8.19.649479.708599.545359.6695710.287599.669571.56957
Derek Fisher- - -12.614.5626614.4913014.9768814.1197213.8805114.491301.89130
Kevin KiermaierRays5.45.401745.309284.992885.292065.352755.30928-0.09072
Joe Panik- - -8.89.8566311.2512510.2644411.103029.4190410.264441.46444
Jeimer CandelarioTigers11.18.674579.707859.466059.670789.242019.46605-1.63395
Ronny RodriguezTigers4.44.660404.088714.400734.149214.879784.400730.00073
Dee GordonMariners4.33.641094.117544.098023.897863.699613.89786-0.40214
Andrew KnappPhillies11.38.249928.082608.293458.272427.989388.24992-3.05008
Maikel FrancoPhillies8.46.131955.389875.739125.793495.617665.73912-2.66088
Yolmer SanchezWhite Sox7.97.523357.827367.699907.764067.225887.69990-0.20010
Brandon CrawfordGiants9.58.949778.485458.834668.789428.734188.78942-0.71058
Yairo MunozCardinals3.94.701624.844154.309584.479124.287414.479120.57912
Jarrod DysonDiamondbacks10.410.4217311.2697810.3700710.2813210.4054210.405420.00541
Ryan CordellWhite Sox7.78.098708.006678.343828.043078.089318.089310.38931
Josh RojasDiamondbacks11.512.4955912.1925612.0782312.6915212.5877312.495590.99559
Johan CamargoBraves65.995655.649656.065605.821566.170585.99565-0.00435
Ryan O'HearnRoyals10.510.4130810.0769210.751549.9199810.2177310.21773-0.28227
Mallex SmithMariners7.48.244498.128378.551518.277398.343868.277390.87739
Yonder Alonso- - -11.611.2196510.4347310.9610310.5296311.0960110.96103-0.63897
Ian KinslerPadres6.88.655287.915128.461318.153488.322248.322241.52224
Austin DeanMarlins4.86.044106.565616.393876.660006.176976.393871.59387
Jon JayWhite Sox4.45.577335.798635.693215.948615.856435.798631.39863
Curtis GrandersonMarlins11.313.2420513.0131713.3430212.5958412.6307713.013171.71317
Joey WendleRays5.36.405356.823916.206266.634026.199546.405351.10535
Danny JansenBlue Jays8.18.719738.885828.920409.324209.008928.920400.82040
Daniel RobertsonRays10.19.666149.473449.120749.5785510.073049.57855-0.52146
Gordon BeckhamTigers5.46.444156.779806.816477.050886.622196.779801.37980
Greg AllenIndians4.36.958867.160417.028397.359197.120147.120142.82014
Tyler White- - -12.911.6381511.5403811.9551611.2244311.1276011.54038-1.35962
Kevin PlaweckiIndians6.98.621028.169978.191478.446478.608788.446471.54647
Sam TravisRed Sox76.357745.932086.097156.705016.108886.10888-0.89112
Travis DemeritteTigers7.57.950178.351767.606578.145788.474408.145780.64578
Jose PerazaReds4.24.663034.521993.971874.742144.950894.663030.46303
Isiah Kiner-FalefaRangers6.37.862867.799547.922747.346367.713227.799541.49953
Dawel LugoTigers2.83.987663.618764.216123.899703.673783.899701.09970
Austin BarnesDodgers9.59.865919.243689.640699.355529.611219.611210.11121
Brandon DruryBlue Jays5.67.129857.492066.698487.451217.194877.194871.59487
Albert Almora Jr.Cubs4.46.069665.612615.751515.826646.193455.826641.42664
Hernan PerezBrewers4.55.396435.470435.363965.298025.390305.390300.89030
Leonys MartinIndians86.637186.901486.979196.596186.365946.63718-1.36282
Orlando ArciaBrewers7.97.732377.057687.842427.734217.635587.73237-0.16763
Mark ReynoldsRockies13.611.6232711.5395210.9859911.7681511.3506711.53952-2.06048
Justin BourAngels1010.7404710.7681410.704699.8719910.1378110.704690.70469
Marco HernandezRed Sox1.95.770285.983005.666355.602276.117895.770283.87028
Steven DuggarGiants5.78.587908.988798.384318.484488.750708.587902.88790
Elias DiazPirates6.99.862119.763029.9291710.1978610.459839.929173.02917
Cole TuckerPirates6.310.3678510.5161910.4346210.3649910.2551810.367854.06785
Kendrys Morales- - -12.913.8365914.1407713.6069813.2083213.1674513.606980.70698
Chris DavisOrioles11.114.2852013.1001814.7094913.5947514.0755114.075512.97551
Erik GonzalezPirates5.85.701775.621865.701696.137155.704805.70177-0.09823
Pablo ReyesPirates8.310.6841710.2847910.4506710.0946410.5420110.450672.15067
Nicky LopezRoyals4.56.143276.373136.349886.114216.149716.149711.64971
John HicksTigers3.94.626374.799264.643294.909614.722944.722940.82294
Juan LagaresMets7.76.769407.026356.876336.479546.868736.86873-0.83127
Jung Ho KangPirates5.96.744846.424166.324196.555156.631386.555150.65514
Charlie TilsonWhite Sox6.45.284535.412935.113945.315595.338835.31559-1.08441
Carlos Gonzalez- - -10.86.641477.658976.713887.644376.438576.71388-4.08612
Richie Martin Jr.Orioles4.55.976745.956136.141386.007056.065766.007051.50705
Billy Hamilton- - -9.18.024018.117707.849168.025298.005658.02401-1.07599
Isan DiazMarlins9.515.8397214.6133114.6069014.5893315.1255614.613315.11331
Travis ShawBrewers13.312.7185311.8766612.9889712.8062112.7274612.72746-0.57254
Bubba StarlingRoyals4.67.062506.491736.719636.388276.705706.705702.10570
Martin PradoMarlins4.66.631057.246306.584876.513316.914936.631052.03105
Austin HedgesPadres7.86.467137.526796.391697.376556.725216.72521-1.07479
Grayson GreinerTigers5.87.509797.904817.465457.633437.613467.613461.81346
Jose Rondon- - -79.449249.562669.989379.538969.635589.562662.56266
Sandy LeonRed Sox6.88.338298.808368.200347.956978.401848.338291.53829
Daniel DescalsoCubs11.913.0304313.8485613.8244612.8087212.9994213.030431.13043
Mike ZuninoRays6.97.613477.578347.974117.715437.226287.613470.71347
Eduardo NunezRed Sox2.34.872974.611534.915814.881175.017274.881172.58117
Keon Broxton- - -8.89.9963310.064239.8632010.363229.827349.996331.19633
Lewis BrinsonMarlins5.26.695637.103526.695476.778086.686236.695631.49563
Chris Owings- - -7.16.808137.394257.156526.867296.943336.94333-0.15667
Jeff MathisRangers6.15.357885.300995.090325.309545.398515.30954-0.79046

2019 XGB Results K%

NameTeamK%xgb_k_853xgb_k_569xgb_k_658xgb_k_594xgb_k_7MedianMedian - Actual
Christian YelichBrewers20.321.8655321.8902721.6366821.5432221.7810721.781071.48106
Mike TroutAngels2018.4898218.6582918.6337418.7580418.6159318.63374-1.36626
Yordan AlvarezAstros25.522.5263322.3150622.3434422.1344622.3665122.34344-3.15656
Alex BregmanAstros1214.9232814.8686114.7466114.7121714.2004514.746612.74661
Nelson CruzTwins25.127.9046628.2308227.0498927.0055228.1433327.904662.80466
David FreeseDodgers23.728.2745827.9130328.4179127.9376628.3719528.274584.57458
Cody BellingerDodgers16.420.3748420.7271320.3361219.6988319.9823220.336123.93612
Anthony RendonNationals13.312.2217512.3563612.8095312.2137612.2493712.24937-1.05063
Ketel MarteDiamondbacks13.714.8298414.5602714.6663614.3140214.6145714.614570.91457
Mitch GarverTwins24.223.3417922.7441223.0090223.0884222.0318523.00902-1.19098
Joey GalloRangers38.434.2103734.2934733.4676433.7114834.0001734.00017-4.39983
George SpringerAstros20.324.2566524.5607423.8719524.8560624.7807924.560744.26074
Howie KendrickNationals13.216.5535216.2261916.5857116.3241616.0880316.324163.12416
Fernando Tatis Jr.Padres29.629.3972329.5407429.9113729.3862028.8243629.39723-0.20277
Juan SotoNationals2019.4883620.0995919.3330919.6710119.7243919.67101-0.32899
Nolan ArenadoRockies1415.6897715.3524716.0097415.6314715.9828415.689771.68977
Anthony RizzoCubs1417.4767117.6338617.9618217.1295517.6203517.620353.62035
Xander BogaertsRed Sox17.520.8858020.8027820.7248420.3899920.4196120.724843.22484
Keston HiuraBrewers30.731.9745431.8195832.0918131.7924231.8235231.823521.12352
Charlie BlackmonRockies16.416.8252516.7935116.8394416.9712417.4379316.839440.43944
Freddie FreemanBraves18.420.5240019.9398520.2465320.6250120.2556620.255661.85566
J.D. MartinezRed Sox2122.1530322.0576521.5435521.6177122.4193322.057651.05765
Mark CanhaAthletics21.521.3212521.5836321.6371121.2526121.6944721.583630.08363
Jeff McNeilMets13.215.9048916.0761915.9739315.7343616.8141715.973932.77393
Bo BichetteBlue Jays23.623.9501523.8259923.9326523.8235423.5953823.825990.22599
Peter AlonsoMets26.423.6063023.9528724.0555424.1176523.8964923.95287-2.44713
Jordan LuplowIndians23.421.8027021.9768521.8485722.0599222.5721921.97685-1.42315
Aaron JudgeYankees31.532.0979432.1855231.3520831.5120231.9468631.946860.44686
Eugenio SuarezReds28.526.6028326.1206326.2438026.6942426.9619526.60283-1.89717
Carlos CorreaAstros23.423.0517122.7877322.9016722.7042822.8371822.83718-0.56282
Mookie BettsRed Sox14.315.5207215.2257915.2967816.0850315.4894815.489481.18948
Trevor StoryRockies26.524.4151024.4609024.3746824.7234424.2315924.41510-2.08490
Carlos SantanaIndians15.718.2534318.0109318.5687718.2370117.9341418.237012.53701
Austin MeadowsRays22.223.5227723.5556123.3871823.6127723.5750023.555611.35561
Kris BryantCubs22.922.5290922.2901222.5892822.5174922.1455122.51749-0.38252
Yoan MoncadaWhite Sox27.528.1505627.9743927.5703227.8336327.6947627.833630.33363
Miguel SanoTwins36.233.6531033.2477033.6014133.6741833.4626733.60141-2.59859
Josh BellPirates19.220.3383120.6027220.1829720.2785620.2961920.296191.09619
Jorge SolerRoyals26.227.8829627.5972627.0095827.0841128.0054227.597261.39726
Josh DonaldsonBraves23.525.4437525.9312125.7102324.9445725.8828025.710232.21023
Hunter PenceRangers21.826.7878227.3784526.4678626.8570427.0516226.857045.05704
Rafael DeversRed Sox1719.1443219.9625119.8407319.3838920.2371319.840732.84073
DJ LeMahieuYankees13.713.3688913.6772913.4892513.4414813.5267013.48925-0.21075
Jose AltuveAstros1516.0075316.7128516.7041316.3048116.3474516.347451.34745
J.D. DavisMets21.423.9707623.9437923.7032524.3796623.1067923.943792.54379
Trey ManciniOrioles21.123.7419923.7692923.4883424.0178723.6652723.741992.64199
Marcus SemienAthletics13.716.3577116.5660416.8219616.6724716.3406116.566042.86604
Max MuncyDodgers25.325.9804725.9014425.9538826.5248925.5457625.953880.65388
Mike FordYankees17.220.6210020.3540020.2269019.9125120.4274420.354003.15400
Matt JoyceBraves18.921.2575021.3267121.4691721.5335621.0553921.326712.42671
Bryan ReynoldsPirates22.221.4394421.7216121.6151722.2049821.7465021.72161-0.47839
Justin TurnerDodgers1615.8464915.9442916.1680015.7077215.8052515.84649-0.15351
Giovanny UrshelaYankees18.320.1704820.5896320.6919620.2531621.2529820.589632.28963
Ronald Acuna Jr.Braves26.326.8606426.9210927.0709526.3351227.2754826.921090.62109
Will SmithDodgers26.524.1411124.3882623.8074824.0369424.1734124.14111-2.35889
Dominic SmithMets22.321.7497121.9019821.6363821.5077921.8455421.74971-0.55029
Willson ContrerasCubs24.927.0456627.6818427.2357926.9092327.4592327.235792.33579
Matt OlsonAthletics25.225.4983325.3723525.3949225.7436625.5662125.498330.29833
Ian HappCubs2526.9755326.5219927.0131727.4979726.1530326.975531.97553
Brad Miller- - -26.524.7571024.6577124.6778623.9182524.3199124.65771-1.84229
Michael BrantleyAstros10.49.659419.368229.422259.847349.365569.42225-0.97775
Corey Dickerson- - -20.124.6962124.2947424.9543124.3765525.4169324.696214.59621
Bryce HarperPhillies26.128.0994228.5736128.5491728.5019928.7491328.549172.44917
Yuli GurrielAstros10.611.2157011.7244211.1656911.2743311.3467811.274330.67433
David DahlRockies26.625.5883925.4928525.7474024.9575926.3736625.58839-1.01161
Mike TauchmanYankees2420.5861620.7159220.9086721.0921720.6997420.71592-3.28408
Tim AndersonWhite Sox2119.5627319.1625619.7328619.7528719.1160319.56273-1.43727
Cameron MaybinYankees26.826.8400626.4645726.6899026.9353726.6641026.68990-0.11010
Edwin Encarnacion- - -21.225.0091224.6320824.8120324.6169124.1154724.632083.43208
Joc PedersonDodgers21.620.0665920.3088320.2949120.0123619.8489220.06659-1.53341
Yasmani GrandalBrewers2224.7062423.8485724.5303523.7293123.8400623.848571.84857
Luis ArraezTwins7.912.1034811.4687611.4426412.3925212.1739812.103484.20348
Aristides AquinoReds26.729.2074028.6346529.6122230.1205930.0927529.612222.91222
Hunter DozierRoyals25.323.7730523.1414123.5737223.0235324.1091623.57372-1.72628
Luke VoitYankees27.830.1750430.5811830.0993830.0360930.2653330.175042.37504
Gleyber TorresYankees21.423.1313323.2624322.9980923.0189722.5868823.018971.61897
Wilmer FloresDiamondbacks10.912.1194112.5050412.2569912.5227411.9991912.256991.35699
Andrew McCutchenPhillies2125.8944725.8043425.6261225.3183024.7645825.626124.62612
Michael ConfortoMets2323.3332323.3511223.1448723.2571423.1057823.257140.25714
Lourdes Gurriel Jr.Blue Jays25.127.7709728.4986027.9523728.0334728.4982928.033472.93347
Nicholas Castellanos- - -21.521.8805921.7155122.0203622.6404822.4687222.020360.52036
Kyle SchwarberCubs25.625.1632825.5602425.3420526.0121025.0458225.34205-0.25795
Tommy EdmanCardinals17.517.4307317.9416517.9528917.3246517.3019017.43073-0.06927
Ramon LaureanoAthletics25.627.4940727.4889827.2990927.1011926.9814227.299091.69909
Trea TurnerNationals19.920.3248420.1635419.9313520.2680220.0590120.163540.26354
Max KeplerTwins16.615.7685116.1210015.9548215.5696416.1498315.95482-0.64518
Tom MurphyMariners3128.9033628.8525328.6188429.1573228.8472428.85253-2.14747
Matt ChapmanAthletics21.921.7754321.9869621.8944821.3951221.8004121.80041-0.09959
Brandon LoweRays34.632.7444131.9701733.4107333.2147332.9421732.94217-1.65783
Ryan BraunBrewers20.720.6933220.4132220.9389920.5676820.4257920.56768-0.13232
Ozzie AlbiesBraves1616.8299016.2126116.3286816.7621616.7411016.741100.74109
Eric ThamesBrewers30.529.2213729.5722329.2055929.2029529.6708029.22137-1.27863
Shin-Soo ChooRangers2527.9344528.2770527.9287228.0666027.5098427.934452.93445
Starling MartePirates1619.8707619.5442119.9424820.0388519.1220419.870763.87076
Mike YastrzemskiGiants2623.9886324.3720723.8963724.7277723.6306723.98863-2.01137
Jorge PolancoTwins16.515.5833715.8227915.8864915.3876515.6254515.62545-0.87455
Shohei OhtaniAngels25.921.9700221.8374122.3493622.1113221.6843721.97002-3.92998
Danny SantanaRangers29.524.5907324.6941424.5018325.3274024.4141924.59073-4.90927
Tommy La StellaAngels8.710.9306710.9569011.0535211.3757511.1366011.053522.35352
Jesse WinkerReds15.615.8733515.9499316.6713115.1448315.7790915.873350.27335
Willie CalhounRangers15.713.5414713.1832413.1673612.8945913.3098313.18324-2.51676
Francisco LindorIndians1513.0088913.1269913.2271713.2224013.5084513.22240-1.77760
Tommy PhamRays18.819.1914918.9428619.3946319.2308219.3611719.230820.43082
Mike MoustakasBrewers16.818.4362218.9903818.5461418.4269318.4659518.465951.66595
Ji-Man ChoiRays22.222.6300422.9950623.2088523.3404623.6431223.208851.00885
Mitch MorelandRed Sox22.123.7647923.5821023.3817924.3171323.4079623.582101.48210
Javier BaezCubs27.829.2744828.5843929.4605129.1511929.4645429.274481.47448
Rhys HoskinsPhillies24.522.6041622.8307223.0766122.3642322.1643922.60416-1.89584
Gary SanchezYankees2828.0781728.2624927.9524829.2656628.0613428.078170.07817
Paul GoldschmidtCardinals24.325.2721825.0906324.6448725.1206324.3920025.090630.79063
Donovan SolanoGiants21.518.1798118.2388318.4716118.2492218.3922718.24922-3.25078
Christian WalkerDiamondbacks25.723.5282423.5101923.1129123.0938822.4586523.11291-2.58709
Aledmys DiazAstros11.316.4464517.0119016.4779716.0527816.9157416.477975.17797
Omar NarvaezMariners19.120.4907320.2947920.3110620.3169020.5418120.316901.21690
Brett GardnerYankees19.620.3921220.0716420.3632920.4373819.6609020.363290.76329
Jose AbreuWhite Sox21.921.9752321.5203421.7018621.8590222.2220021.85902-0.04098
Jake CaveTwins31.127.3322727.8415727.0559026.5083327.8476827.33227-3.76773
Eloy JimenezWhite Sox26.627.9473028.4963128.1855128.0758828.4097228.185511.58551
Cavan BiggioBlue Jays28.625.8776926.1895626.3671825.3978526.0182326.01823-2.58177
Brian AndersonMarlins21.922.3613522.3865322.5141622.0140722.4255322.386530.48653
Eric Sogard- - -14.311.5308511.5891311.5575011.7186211.5432311.55750-2.74250
Adam EatonNationals16.216.2231716.2533516.3943116.7255116.1521416.253350.05335
Alex VerdugoDodgers1315.0091415.1836315.3589315.4195914.9785815.183632.18363
Yandy DiazRays17.618.1242118.6857518.4811518.5484917.7841918.481150.88115
Eduardo EscobarDiamondbacks18.621.3778121.0229821.4696521.7477921.3241921.377812.77781
Alex Dickerson- - -22.118.9017418.8581119.1019619.4592518.7403418.90174-3.19826
Corey SeagerDodgers18.118.4951318.3833618.7250619.2073918.6375218.637520.53752
Byron BuxtonTwins23.121.9453722.0945022.3620022.1361021.9138722.09450-1.00550
Whit MerrifieldRoyals17.117.2568917.3614217.4101517.2265417.2810717.281070.18107
J.T. RealmutoPhillies20.719.8763120.0540919.9469720.0478320.0970520.04783-0.65217
Brandon NimmoMets2826.0020625.7443825.1861226.9231125.6517325.74438-2.25562
Kevin NewmanPirates11.711.7890411.7267211.8108211.8431111.9111611.810820.11082
Carson KellyDiamondbacks21.621.6646622.0259721.9358522.6464521.8717621.935850.33585
Franmil Reyes- - -28.530.9447430.5886831.3676230.9743730.7590630.944742.44474
Victor CaratiniCubs21.119.7378620.3094820.7064420.7103419.4922520.30948-0.79052
David PeraltaDiamondbacks20.620.9346420.8254620.5987621.4338520.8716920.871690.27169
Marcell OzunaCardinals20.824.6106224.0437024.4460224.9101624.3407024.446023.64602
Kurt SuzukiNationals11.715.4901115.1852315.1060814.8765214.8113715.106083.40608
Austin NolaMariners23.620.8159520.9796621.0710620.8784221.0750320.97966-2.62034
Garrett CooperMarlins26.121.5590021.3183821.5095820.8126521.5711821.50958-4.59043
Robinson ChirinosAstros28.627.5266027.7331127.7905727.9027527.1868527.73311-0.86690
Pablo SandovalGiants22.622.7079622.7236222.5341322.8545822.9669922.723620.12362
David BoteCubs26.127.2182027.0969827.0880227.2973027.5913727.218201.11820
Jonathan VillarOrioles24.623.4477223.3500822.9132123.5062922.6362123.35008-1.24992
Manny MachadoPadres19.419.4661919.3650319.8420519.7463618.7292019.466190.06619
Jose RamirezIndians13.714.2523514.2567314.1235014.3076014.8069114.256730.55673
Avisail GarciaRays23.625.4333325.9211625.5399626.7134926.1248025.921162.32116
Phillip ErvinReds24.226.2790026.1095426.1497626.6634626.1450026.149761.94976
Derek DietrichReds24.225.4142125.3187525.4894525.4152825.4312325.415281.21528
Kolten WongCardinals15.113.4213413.9072413.5017013.4255612.8280013.42556-1.67444
Shed LongMariners23.822.5719222.7300322.5181922.5286923.0096622.57192-1.22808
Clint FrazierYankees28.527.0821526.6877726.5508827.2304726.6906926.69069-1.80931
Brock HoltRed Sox19.318.9369518.5646418.8551818.5868318.2681118.58683-0.71317
Daniel VogelbachMariners26.726.6013625.5379326.4946427.6488125.3732126.49464-0.20536
A.J. PollockDodgers21.622.4176222.4060122.8506622.5331322.2530522.417620.81762
James McCannWhite Sox28.826.5913026.5817226.8662226.8864326.8015226.80152-1.99848
Brian GoodwinAngels28.228.0661128.2093128.4025928.3530328.4278928.353030.15303
Nick MarkakisBraves12.612.4935612.4816612.5153412.1624512.0604412.48166-0.11834
Joey VottoReds20.217.2551717.3608817.8753417.2166217.5152817.36088-2.83912
Kyle SeagerMariners19.419.7422919.9239219.8607219.8519719.7621919.851970.45197
Christian VazquezRed Sox19.417.8732618.2677618.1631718.1494918.2054818.16317-1.23683
Stephen VogtGiants23.622.5972222.7848822.7246522.7682722.5377922.72465-0.87535
Asdrubal Cabrera- - -2018.7900719.1052518.8577819.2074619.3080219.10525-0.89475
Chris TaylorDodgers27.829.8555630.3600930.3490429.6704830.1039930.103992.30399
Yasiel Puig- - -21.822.3359622.3725722.2655522.2934222.0020022.293420.49342
Tyler NaquinIndians22.421.8595921.9928822.3210421.7422522.2212321.99288-0.40712
Kole CalhounAngels25.627.8869328.0565527.3061627.0493628.4242527.886932.28693
Ryan McMahonRockies29.728.7985528.8830128.8133428.8962530.2114228.88301-0.81699
Andrew BenintendiRed Sox22.820.9449220.9391120.8353720.9579820.9116120.93911-1.86089
Brian DozierNationals21.822.3514422.2589422.4686522.4715822.2880922.351440.55144
Vladimir Guerrero Jr.Blue Jays17.721.1367320.8629521.0394520.6945820.7257620.862953.16295
Scott KingeryPhillies29.428.7090229.1754328.6397128.6462729.5264228.70902-0.69098
Eddie RosarioTwins14.616.3773815.4856915.6749415.8213716.7580115.821371.22137
Nathaniel LoweRays29.621.5421521.8478421.8626421.8147121.2373121.81471-7.78529
Todd FrazierMets21.222.5064022.4512922.5317622.3636422.6848922.506401.30640
Jason CastroTwins3234.4483933.9276533.3462833.3408433.1895833.346281.34628
Daniel MurphyRockies15.511.8810311.3527011.7486011.9411611.4159811.74860-3.75140
Ian DesmondRockies24.721.7110821.8741121.6849021.7140121.8209021.71401-2.98599
Jason HeywardCubs18.717.5203617.7697317.7906717.8124417.5015317.76973-0.93027
Mike FreemanIndians28.622.4056622.7577922.6823122.6239922.7037422.68231-5.91769
Wilson RamosMets13.214.2897114.0447514.5480214.5853214.9612214.548021.34802
Nomar MazaraRangers2323.7704524.1671124.3820924.3931123.8738824.167111.16711
Jon BertiMarlins25.423.1523323.4304923.1107123.0507923.3421323.15233-2.24767
Domingo SantanaMariners32.331.5143231.7914831.5569731.2725631.7631031.55697-0.74303
Ehire AdrianzaTwins16.915.1034714.9852514.5697514.7432015.5132614.98525-1.91476
Dexter FowlerCardinals24.723.5998423.7994523.7767423.9670423.9351423.79945-0.90055
Roberto PerezIndians28.328.8097028.8545728.5208528.7290728.1203128.729070.42907
Mitch HanigerMariners28.628.1332128.2367228.2187827.8243228.4713828.21878-0.38122
Aaron HicksYankees28.227.2295827.5556126.6796527.3491127.1647627.22958-0.97042
C.J. CronTwins21.421.7506421.6043221.7429822.0400321.8230721.750640.35064
Teoscar HernandezBlue Jays3330.1120529.8332229.7844030.1177329.9334929.93349-3.06651
Victor ReyesTigers21.919.6175319.8722920.1383120.6862120.3574020.13831-1.76169
Jonathan SchoopTwins2524.6596925.0821325.1642425.4371624.7805525.082130.08212
Matt BeatyDodgers12.313.7820313.4838413.6617113.5401613.1702913.540161.24016
Justin SmoakBlue Jays21.222.0519321.4781721.2074221.4224921.1010921.422490.22249
Alex AvilaDiamondbacks33.832.4863133.2103432.7034333.0158432.7268932.72689-1.07311
Michael ChavisRed Sox33.231.4617931.5218132.1235532.3261031.5325231.53252-1.66748
Renato NunezOrioles23.925.3530725.5693925.8123326.0074925.9933325.812331.91233
Jose MartinezCardinals2222.3838422.4384922.2205422.2641922.6629922.383840.38384
Evan LongoriaGiants2222.6558922.7332722.6284922.3249222.6768922.655890.65589
Paul DeJongCardinals22.422.1487421.8624121.7064821.9729022.0617921.97290-0.42710
Anthony SantanderOrioles21.218.8729719.0916919.3829819.7794418.9963419.09169-2.10831
Oscar MercadoIndians17.418.2399618.7052419.1351618.9910618.7462318.746231.34623
Austin SlaterGiants30.728.9622728.7774228.3516028.6573629.0216228.77742-1.92258
Adam FrazierPirates12.313.3839513.0093713.2533912.8878913.0283813.028380.72838
Hunter RenfroePadres31.226.9959527.4344627.2285527.6329926.4937027.22855-3.97145
Jose OsunaPirates16.818.7767418.6515019.2940518.0154418.8827118.776741.97674
Neil WalkerMarlins20.222.7169922.6822622.9021322.8201522.6483222.716992.51699
Brandon BeltGiants20.618.6594019.2137218.6542418.9727018.8992018.89920-1.70080
Alex GordonRoyals15.817.1339017.3649716.8817517.0423916.9224417.042391.24239
Chance SiscoOrioles30.827.1605726.8540327.0790326.6627426.8870726.88707-3.91293
Greg GarciaPadres22.317.1551616.8536717.2035917.5654916.8515617.15516-5.14484
Miguel CabreraTigers19.719.0343518.9556818.9684619.3097718.9791918.97919-0.72081
Hanser AlbertoOrioles9.110.5055511.2918210.8030711.1177511.5702111.117752.01775
Amed RosarioMets18.919.6234619.2554019.2913719.6393519.6135619.613560.71356
Ender InciarteBraves17.817.5326717.2739817.5804217.2860417.3627317.36273-0.43727
Jay Bruce- - -24.623.8423624.4980823.9128323.5178423.9201423.91283-0.68717
David FletcherAngels9.811.9753311.8817911.6113111.5498411.4819911.611311.81131
Dansby SwansonBraves22.824.1662224.3800224.3295624.5770124.1564624.329561.52956
Francisco MejiaPadres2321.6472021.2403921.3289921.5718621.5445321.54453-1.45547
Victor RoblesNationals22.719.2879019.1064619.0905119.5977319.0154419.10646-3.59354
Wil MyersPadres34.331.5301531.0480431.3782331.2058131.5511231.37823-2.92177
Josh VanMeterReds21.521.0244521.1752321.1638020.7618620.8812721.02445-0.47555
Pedro SeverinoOrioles21.420.8550820.4862520.7445720.7657520.4225920.74457-0.65543
Trent GrishamBrewers26.221.6257821.6992721.5631721.4102721.2038521.56317-4.63683
Curt CasaliReds2520.0274020.2814520.2033020.0090919.4357420.02740-4.97260
Niko GoodrumTigers29.230.4703930.6298629.8799029.6927931.0370430.470391.27039
Cesar HernandezPhillies1515.6400715.8073415.6110815.8731615.8126415.807340.80734
Colin MoranPirates23.320.0597619.9917720.1370520.8125819.8068520.05976-3.24024
Jean SeguraPhillies11.812.0180512.4532312.1508812.3281112.2250412.225040.42504
Austin RomineYankees20.818.1010318.4281318.1103717.9947518.1733418.11037-2.68964
Nick SenzelReds24.420.8729821.1020820.6189420.6967320.7713320.77133-3.62867
Tim BeckhamMariners31.129.3787829.1884329.3229529.1509028.9937929.18843-1.91157
Matt CarpenterCardinals26.224.1729424.4437024.2978223.9965324.0431824.17294-2.02706
Nick AhmedDiamondbacks18.118.6741618.7041018.6849918.8228818.6668518.684990.58499
Jordy MercerTigers2120.5209320.8178820.8766720.5364820.5421920.54219-0.45781
Travis d'Arnaud- - -21.723.1077823.2877623.5281623.5955223.3416923.341691.64169
Tim LocastroDiamondbacks17.619.4086819.5913219.6043319.3441019.3906519.408681.80868
Jackie Bradley Jr.Red Sox27.328.1044228.4547028.1954928.5106428.2595628.259560.95956
Ryan ZimmermanNationals20.522.4464222.4775122.1472722.5522822.3328922.446421.94642
Marwin GonzalezTwins21.220.3216020.6412020.4166420.8110820.5137320.51373-0.68627
Willy AdamesRays26.224.1413624.6939024.1490624.2652724.1952324.19523-2.00477
Jorge AlfaroMarlins33.128.5662328.3833829.5759430.5207029.8651029.57594-3.52406
Adeiny Hechavarria- - -21.721.8600921.5876122.1028822.2719421.9615321.961530.26153
JaCoby JonesTigers28.224.4613224.4341724.3843624.1220224.3804824.38436-3.81564
Brian McCannBraves16.814.9136015.8221515.7778515.1068115.6610215.66102-1.13898
Tyler FlowersBraves33.933.8873034.0320034.1007433.9013534.0091534.009150.10915
Eric HosmerPadres24.422.2726422.1683022.5269821.7734022.1903122.19031-2.20969
Adam HaseleyPhillies24.825.7381225.6083925.7979625.4898225.0959025.608390.80839
Albert PujolsAngels12.516.2384816.0299816.3400816.2014416.0825016.201443.70144
Harold RamirezMarlins20.421.8410222.1449522.3692822.2717922.4569822.271791.87179
Adam JonesDiamondbacks19.121.9805521.5627722.5104222.3865421.6703921.980552.88055
Ben GamelBrewers29.222.0753522.2006122.3107622.5762622.8668322.31076-6.88925
Rowdy TellezBlue Jays28.426.1512626.9624826.7468627.8775426.4964626.74686-1.65315
Robinson CanoMets16.313.9351513.9973914.0148414.4523514.3740014.01484-2.28516
Tyler O'NeillCardinals35.134.3553235.1476133.9758633.8694435.3438034.35532-0.74468
Manny PinaBrewers27.924.9600225.1255625.0769525.9069425.3878925.12556-2.77444
Josh ReddickAstros1212.5753212.3084111.8550612.1670712.4526812.308410.30841
Ryon HealyMariners21.422.4851322.2338122.2069722.4720222.7387022.472021.07202
Freddy Galvis- - -24.623.5145223.4593624.0246923.4656024.2539423.51452-1.08549
Jesus Aguilar- - -2224.5700324.3962624.4536024.5624124.8732124.562412.56241
Justin UptonAngels30.533.4445533.2189033.3992432.6032432.8000633.218902.71890
Austin RileyBraves36.432.1566733.0211132.5617033.1008332.3641032.56170-3.83830
Raimel TapiaRockies22.422.3976422.7147622.4078022.6825022.8050022.682500.28250
Randal GrichukBlue Jays2623.1120922.9833323.1239122.8224023.0567623.05676-2.94324
Starlin CastroMarlins16.415.4331515.3164215.3149215.5270915.6489015.43315-0.96685
Matt AdamsNationals34.528.4766528.3389828.6244028.9994528.1656828.47665-6.02335
Stephen PiscottyAthletics21.423.9175223.8959923.9222624.0382823.8923523.917522.51751
Josh NaylorPadres22.921.3492220.9115821.4042021.1715520.8767421.17155-1.72845
Jose IglesiasReds13.212.7010012.7672612.8362012.9136712.6941312.76726-0.43274
Ronald GuzmanRangers29.528.3146528.4621327.9347528.1460728.6496428.31465-1.18535
Kevan SmithAngels17.518.9836119.0188619.0951618.9417118.4830018.983611.48361
Gregory PolancoPirates29.324.9995725.8529225.0847024.9435025.7355825.08470-4.21530
Miguel RojasMarlins11.813.5612213.7207113.6254113.4703713.4567713.561221.76122
Brandon DixonTigers32.432.2025631.1468232.6131532.2121731.1114732.20256-0.19744
Chris IannettaRockies32.930.6833331.3293131.4711331.0663430.7060831.06634-1.83366
Matt ThaissAngels31.726.3953526.2944526.7316625.7146327.0836226.39535-5.30465
Ben ZobristCubs13.615.1710814.9684815.3595415.4205414.7446315.171081.57108
Yadier MolinaCardinals12.815.0035915.7633615.6585215.2928315.4568215.456822.65682
Lorenzo CainBrewers1718.2470518.3151418.1308118.2063617.9864418.206361.20636
Rougned OdorRangers30.625.2478524.9220024.9135125.4903025.2751125.24785-5.35215
Enrique HernandezDodgers21.122.1211421.9242722.1406322.1843221.8044322.121141.02114
Jurickson ProfarAthletics14.517.6710217.6932318.2119418.0803717.9828317.982833.48283
Jason KipnisIndians17.218.8477418.7415418.4303818.3301319.1758918.741541.54154
Melky CabreraPirates10.312.4934912.2757211.9059512.2269612.7038012.275721.97572
Tucker BarnhartReds22.820.2667220.4919520.4411620.6676920.4077420.44116-2.35884
Ildemaro VargasDiamondbacks11.410.6200210.4107010.4595010.5918310.7790910.59183-0.80817
Elvis AndrusRangers14.818.5551618.2221218.1692518.8934718.1593418.222123.42212
Dwight Smith Jr.Orioles20.924.4458524.3613424.3159523.8325624.4001924.361343.46134
Matt DuffyRays17.217.2080816.9998917.3041217.7317917.0263417.208080.00807
Robbie GrossmanAthletics17.815.1023014.8845914.9950014.1269415.7009514.99500-2.80500
Dylan MooreMariners3326.4117325.9742526.4636826.5772126.2688226.41173-6.58827
Tyler Austin- - -37.434.3721234.3825034.9749834.6093134.7013434.60931-2.79069
Luis RengifoAngels22.923.8731423.6891023.6061023.8764123.6698123.689100.78910
Logan ForsytheRangers27.223.8561123.6820924.1248923.9581423.7134323.85611-3.34389
Yan GomesNationals23.521.7347921.8169721.5776222.2305521.9475521.81697-1.68303
Adalberto MondesiRoyals29.832.9712932.6230533.0346032.4471033.6577232.971293.17129
Chad PinderAthletics23.819.9365819.6550519.9828619.7142719.7678919.76789-4.03211
Ryan GoinsWhite Sox2724.9030924.8388925.1376524.8314324.9615724.90309-2.09691
Buster PoseyGiants1617.1042417.2653317.1147817.4110016.9228117.114781.11478
Kevin Pillar- - -13.812.5275112.8524912.7807113.2143112.7278712.78071-1.01929
Didi GregoriusYankees15.419.8850919.4270520.0165320.9789820.5404620.016534.61653
Jacob StallingsPirates1920.2225819.9388219.9950020.1197019.9747419.995000.99500
Jake LambDiamondbacks24.325.4622325.1073124.9567925.5077025.0120325.107310.80731
Addison RussellCubs24.126.6874126.5675526.5276826.6029226.6150726.602922.50292
Jake MarisnickAstros29.923.2419523.3230423.2284923.2864323.1462323.24195-6.65805
Ty FrancePadres24.420.7335220.7915221.0474921.1180120.8943120.89431-3.50569
Jake BauersIndians27.221.2351421.1274121.4361320.9099821.1386521.13865-6.06135
J.P. CrawfordMariners2121.9195021.9705021.8832721.8624321.8789921.883270.88327
Manuel MargotPadres2019.6327019.7626419.9603219.4426919.7248719.72487-0.27513
Adam EngelWhite Sox31.530.6484031.0603630.5457130.9328131.0272130.93281-0.56719
Russell MartinDodgers24.128.1671228.1242227.8305827.4775127.9627127.962713.86271
Delino DeShieldsRangers24.521.7794821.9053121.5314921.7779921.9457521.77948-2.72052
Leury GarciaWhite Sox22.520.2037420.1707820.2905420.1191919.8970420.17078-2.32922
Luis UriasPadres22.523.5633823.4904323.7037923.3197223.1333723.490430.99043
Rio RuizOrioles21.321.6868221.4917121.3966221.2347221.4929121.491710.19170
Christin StewartTigers24.823.1733423.1581923.2375323.3214323.7638523.23753-1.56247
Harrison BaderCardinals28.826.0440726.1378126.1741226.2803326.7743426.17412-2.62588
Harold CastroTigers23.320.2619020.1375820.3670220.1915520.1234320.19155-3.10845
Matt WietersCardinals25.722.0058221.9924422.0155321.6607922.1503422.00582-3.69418
Garrett HampsonRockies26.921.2181721.3296421.4976721.2888421.5629721.32964-5.57036
Billy McKinneyBlue Jays26.422.8198023.3527423.0493022.6319923.0476623.04766-3.35234
Josh PhegleyAthletics18.420.1712120.4385420.1644220.1871020.4194920.187101.78710
Guillermo HerediaRays2624.1329224.0826523.6324424.3501523.3982824.08265-1.91735
Joey Rickard- - -26.522.2344522.5829622.2174622.4703722.0561422.23445-4.26555
Andrelton SimmonsAngels8.711.1045310.9188211.2643611.3402810.7906811.104532.40452
Tony WoltersRockies16.517.0293117.1656216.6781417.2479717.0027517.029310.52931
Khris DavisAthletics27.429.7939229.3856330.1945429.6320429.0289629.632042.23204
Kyle FarmerReds29.929.7601730.3078129.3423629.2535430.0111129.76017-0.13983
Willians AstudilloTwins3.98.320957.912897.875958.512038.294248.294244.39424
Martin Maldonado- - -2320.9265221.3848821.7855521.5695921.4123521.41235-1.58765
Gerardo Parra- - -19.617.2814717.4784217.7881418.0119217.0132217.47842-2.12159
Cheslor CuthbertRoyals20.321.2021021.6818121.5346921.7303921.9215421.681811.38181
Welington CastilloWhite Sox29.525.2092425.2798725.2809025.8093625.5561325.28090-4.21910
Steve WilkersonOrioles29.925.1552125.1403625.6419925.3664324.9870725.15521-4.74479
Jonathan Lucroy- - -15.517.6010917.4572417.7244317.9773117.5974017.601092.10109
Tony Kemp- - -16.814.3787314.9413814.3956814.5538114.5989714.55381-2.24619
Francisco Cervelli- - -25.624.5443024.4538324.6849624.8953924.5516124.55161-1.04839
Derek Fisher- - -34.131.5991331.6375831.7333832.4031931.9018031.73338-2.36662
Kevin KiermaierRays21.722.2972922.3940722.3732722.2297722.2383022.297290.59729
Joe Panik- - -9.610.3248810.2834210.0901010.7210310.0994810.283420.68342
Jeimer CandelarioTigers25.626.2049126.0234625.5660026.3879826.5353626.204910.60491
Ronny RodriguezTigers27.929.4035928.8619430.0618428.9435529.3238729.323871.42387
Dee GordonMariners14.513.4506613.0507313.4922713.3599013.1678513.35990-1.14010
Andrew KnappPhillies31.927.3816327.5319027.7608027.3430627.0461727.38163-4.51837
Maikel FrancoPhillies14.315.7359615.6494515.9167515.7948515.8013315.794851.49485
Yolmer SanchezWhite Sox21.120.7088420.6224820.7454220.6118821.2338120.70884-0.39116
Brandon CrawfordGiants20.922.9109223.1143022.7463522.5798022.4801722.746351.84635
Yairo MunozCardinals20.423.2271023.0257323.1223223.9952623.4798723.227102.82709
Jarrod DysonDiamondbacks1918.0230118.3242118.2111218.2760618.1078218.21112-0.78889
Ryan CordellWhite Sox27.927.8899628.1137527.7513827.5740928.0517427.88996-0.01004
Josh RojasDiamondbacks26.124.6863924.7580124.8510024.9435024.4579124.75801-1.34199
Johan CamargoBraves17.319.6079119.3473719.6743820.3467218.9168019.607912.30791
Ryan O'HearnRoyals26.823.2537323.4950023.0527622.6985123.4931723.25373-3.54627
Mallex SmithMariners24.925.2996025.1783525.3749524.6932425.3423725.299600.39960
Yonder Alonso- - -20.922.2450522.5803022.2593422.5400821.7711522.259341.35934
Ian KinslerPadres19.217.4637117.7827917.6890217.8406117.4772017.68902-1.51098
Austin DeanMarlins24.918.1679218.1007018.6142018.2947018.6253218.29470-6.60530
Jon JayWhite Sox16.515.3346015.0586615.0244314.8360215.2124515.05866-1.44134
Curtis GrandersonMarlins2724.9367424.8410425.3086225.4629824.6727324.93674-2.06326
Joey WendleRays17.917.9512917.9941218.0051218.5272618.1016718.005120.10512
Danny JansenBlue Jays20.618.1606718.4444518.5439718.2850718.2203518.28507-2.31493
Daniel RobertsonRays24.922.2331022.5509722.0302922.5506822.6789822.55068-2.34932
Gordon BeckhamTigers28.325.4929825.8265926.2392125.5247525.2867925.52475-2.77525
Greg AllenIndians20.721.0070121.1802720.9900421.3260721.2432721.180270.48027
Tyler White- - -2823.4303723.4643023.8236423.6880123.0665523.46430-4.53570
Kevin PlaweckiIndians17.816.4377016.6048716.3196816.5563116.4405716.44057-1.35943
Sam TravisRed Sox22.919.6683119.8453020.1277119.7756019.5916519.77560-3.12440
Travis DemeritteTigers33.932.0293331.6466231.9331531.6576031.7141431.71414-2.18586
Jose PerazaReds14.412.9380213.2175012.5221912.7559513.7754112.93802-1.46198
Isiah Kiner-FalefaRangers22.117.3400917.6683917.3614917.8238616.9214117.36149-4.73851
Dawel LugoTigers20.517.0875317.5347017.4991016.9397018.0673717.49910-3.00090
Austin BarnesDodgers23.121.0309720.9078821.0186520.6028221.1621321.01865-2.08135
Brandon DruryBlue Jays25.325.2499825.0279125.3231825.3384625.4151325.323180.02318
Albert Almora Jr.Cubs17.120.1001720.0344720.6472920.8579419.5838220.100173.00017
Hernan PerezBrewers26.821.9448321.9673822.4162821.8340121.6917521.94483-4.85517
Leonys MartinIndians29.528.2719927.9620428.4523128.1653528.1414528.16535-1.33465
Orlando ArciaBrewers2021.8991921.8954822.0348421.7162422.2553121.899191.89919
Mark ReynoldsRockies35.233.1563533.6643232.9925233.8188633.4281033.42810-1.77190
Justin BourAngels30.627.5792327.9420027.5198228.3468227.2941327.57923-3.02077
Marco HernandezRed Sox27.129.0797528.9653229.2312829.3926729.2786929.231282.13128
Steven DuggarGiants27.826.1833726.2079226.0668226.3660925.7153426.18337-1.61663
Elias DiazPirates16.921.3573721.6278221.8190721.9187221.6252121.627824.72782
Cole TuckerPirates25.222.3746722.4530722.0365622.1918722.1574122.19187-3.00813
Kendrys Morales- - -12.916.1740716.2340616.1384816.6293615.7898816.174073.27406
Chris DavisOrioles39.535.4942335.1052335.6063635.4451336.0850135.49423-4.00578
Erik GonzalezPirates23.723.6507323.0162523.4728423.4805522.7057423.47284-0.22716
Pablo ReyesPirates22.919.0687219.2331619.9449819.3305119.2929019.29290-3.60710
Nicky LopezRoyals12.713.1702912.7947912.7725713.0385112.4647112.794790.09479
John HicksTigers32.730.8777030.2434031.0111530.6501631.2171330.87770-1.82230
Juan LagaresMets26.320.6778621.1533421.4589921.2839921.2229521.22295-5.07705
Jung Ho KangPirates32.431.2297931.3687331.4875531.7446331.5444931.48755-0.91245
Charlie TilsonWhite Sox24.222.1332522.2049722.5507322.0584121.9349622.13325-2.06675
Carlos Gonzalez- - -31.329.9542830.4548730.2910629.9700930.1228330.12283-1.17717
Richie Martin Jr.Orioles26.925.8093525.4039825.7686026.3297725.9209325.80935-1.09065
Billy Hamilton- - -24.622.3687322.5439722.5143122.3087322.2523222.36873-2.23127
Isan DiazMarlins29.423.9765724.0468023.6620524.2055823.4530023.97657-5.42343
Travis ShawBrewers3327.9900128.4863228.1304827.9473927.7142627.99001-5.00999
Bubba StarlingRoyals28.425.0784225.5051025.1905425.8973225.3476425.34764-3.05236
Martin PradoMarlins15.814.6057214.9210614.8980014.6549613.9939014.65496-1.14504
Austin HedgesPadres31.429.5754229.5504428.9230029.4723329.8381229.55044-1.84956
Grayson GreinerTigers31.326.9537627.5911527.2444126.9805427.5479927.24441-4.05559
Jose Rondon- - -24.224.7938924.7676224.6888425.1349124.7869224.786920.58692
Sandy LeonRed Sox24.618.4751718.6340918.5170818.5976018.5563518.55635-6.04365
Daniel DescalsoCubs29.426.2910426.3175725.8423226.7470926.5696226.31757-3.08243
Mike ZuninoRays33.933.5754233.4416934.1690234.0906934.3269834.090690.19069
Eduardo NunezRed Sox15.513.5950113.0399413.4788513.5950413.3011713.47885-2.02115
Keon Broxton- - -45.637.6462838.2863737.4514437.9126938.4679037.91269-7.68731
Lewis BrinsonMarlins29.826.2375426.6903926.9768526.4696426.5338526.53385-3.26615
Chris Owings- - -39.833.6970633.8085833.8681034.4764233.7657133.80858-5.99142
Jeff MathisRangers35.730.5528630.8054130.7079430.7484030.4663530.70794-4.99206

Pin It on Pinterest