Age: 29
Bats/Throws: R/R
6' 3" / 215
P
Birthdate: 9/14/1990 (29 y, 1 m, 1 d)
Drafted: 2011 June Amateur Draft - Round: 9, Pick: 26, Overall: 297, Team: San Francisco Giants
Contract: 1 yr $TBD (2019)
Service Time: 1.148
Reported as the pre-2019 value.
1 year and 148 days days of service time.
   Free Agent: 2024    Arb Eligible: 2021   
MiLB Options: 0
Reported as the pre-2019 season number of waiver options remaining.

RotoWire News: Law allowed one earned run on two hits and two walks in the ninth inning to earn the save Wednesday against the Orioles. (9/18/2019)

We hope you find the FanGraphs Player Stat Pages useful!

Please support FanGraphs by becoming a member. We publish over one thousand articles and podcasts each year, host numerous projection systems, and carry an ever growing database of baseball stats that assist you in your baseball research.

Support FanGraphs



SeasonTeamWLSVGGSIPK/9BB/9HR/9BABIPLOB%GB%HR/FBERAFIPxFIPWAR
2011Giants (R)00415018.09.501.000.00.31466.7 %54.0 %0.0 %2.502.602.98 
2012Giants (A)52232055.210.833.720.97.28581.2 %45.3 %11.5 %2.913.923.38 
2013Giants (R)100505.214.291.590.00.36460.0 %72.7 %0.0 %3.181.361.56 
2013Giants (A)03319035.012.342.570.26.31071.0 %39.5 %3.1 %2.312.052.47 
2013Giants (A+)401122025.215.780.350.35.38072.8 %50.0 %6.7 %2.101.011.19 
2014Giants (AA)201327028.09.324.500.32.26579.8 %50.7 %3.8 %2.573.353.77 
2015Giants (AA)011328025.211.222.810.35.40061.2 %44.0 %3.7 %4.562.222.53 
2016Giants (AAA)000303.06.003.000.00.125100.0 %37.5 %0.0 %0.003.395.39 
2016Giants42161055.08.181.470.49.27082.0 %50.3 %7.0 %2.132.533.121.0
2016Giants000302.111.573.860.00.14350.0 %57.1 %0.0 %3.861.862.57 
2017Giants (AAA)111025032.27.163.310.28.31682.2 %50.0 %3.2 %2.483.634.53 
2017Giants41441037.18.443.381.21.35774.1 %38.3 %11.1 %5.064.314.710.0
2018Giants (AAA)13833040.29.521.990.44.30553.4 %47.6 %6.3 %4.203.013.40 
2018Giants1007013.18.105.401.35.32654.1 %40.0 %11.1 %7.435.345.62-0.1
2019ATC000507.08.073.290.84.32067.3 %  4.424.00  
2019Steamer000101.08.403.240.96.29273.1 %45.4 % 3.783.864.130.0
2019ZiPS33049056.37.833.200.64.31371.6 %  3.673.52 0.5
2019Blue Jays (AAA)2128010.214.342.530.84.28681.4 %47.6 %11.1 %1.692.502.82 
2019Blue Jays12558460.29.945.931.19.31773.3 %50.0 %15.7 %4.904.854.800.0
2019Steamer (R)33765065.09.204.031.31.29672.7 %  4.424.52 0.2
2019Depth Charts (R)33365065.08.994.201.13.31271.7 %  4.394.37 0.5
Total- - -105101674166.18.873.840.97.31273.5 %46.4 %11.5 %4.224.004.290.9
Postseason- - -000302.111.573.860.00.14350.0 %57.1 %0.0 %3.861.862.57 

SeasonTeamWLERAGGSCGShOSVHLDBSIPTBFHRERHRBBIBBHBPWPBKSO
2011Giants (R)002.501500043018.072166502002019
2012Giants (A)522.913200026455.2235452018623028067
2013Giants (R)103.1850000105.2214220100209
2013Giants (A)032.311900039135.014427129110314048
2013Giants (A+)402.1022000110025.298207611015045
2014Giants (AA)202.5727000131128.01131988114011029
2015Giants (AA)014.5628000131025.211631161318006032
2016Giants (AAA)000.0030000103.0111000100002
2016Giants422.1361000114155.021444131339001050
2016Giants003.8630000002.1111110100003
2017Giants (AAA)112.4825000100332.21373299112103026
2017Giants415.064100045237.1168452121514225035
2018Giants (AAA)134.203300081140.216034221929110043
2018Giants107.43700000013.16616131128011012
2019ATC004.4250  00 7.0 7441301  6
2019Steamer003.78100000 1.0410000 0  1
2019ZiPS333.67490  0  56.3 542523420123149
2019Blue Jays (AAA)211.69800021110.24273213001017
2019Blue Jays124.905840058160.2285613633840337067
2019Steamer (R)334.4265000712 65.0283613432929 2  66
2019Depth Charts (R)334.39650  315 65.0 623432830 3  65
Total- - -1054.2216740010274166.17331668378187156140164
Postseason- - -003.8630000002.1111110100003

SeasonTeamK/9BB/9K/BBHR/9K%BB%K-BB%AVGWHIPBABIPLOB%ERA-FIP-FIP
2011Giants (R)9.501.009.500.0026.4 %2.8 %23.6 %.2291.00.31466.7 %  2.60
2012Giants (A)10.833.722.910.9728.5 %9.8 %18.7 %.2141.22.28581.2 %  3.92
2013Giants (R)14.291.599.000.0042.9 %4.8 %38.1 %.2000.88.36460.0 %  1.36
2013Giants (A)12.342.574.800.2633.3 %6.9 %26.4 %.2031.06.31071.0 %  2.05
2013Giants (A+)15.780.3545.000.3545.9 %1.0 %44.9 %.2080.82.38072.8 %  1.01
2014Giants (AA)9.324.502.070.3225.7 %12.4 %13.3 %.1941.18.26579.8 %  3.35
2015Giants (AA)11.222.814.000.3527.6 %6.9 %20.7 %.2871.52.40061.2 %  2.22
2016Giants (AAA)6.003.002.000.0018.2 %9.1 %9.1 %.1000.67.125100.0 %  3.39
2016Giants8.181.475.560.4923.4 %4.2 %19.2 %.2150.96.27082.0 %53652.53
2016Giants11.573.863.000.0027.3 %9.1 %18.2 %.1000.86.14350.0 %96481.86
2016Average8.103.142.581.1721.1 %8.2 %12.9 %.2521.32.29872.9 %  4.24
2017Giants (AAA)7.163.312.170.2819.0 %8.8 %10.2 %.2561.35.31682.2 %  3.63
2017Giants8.443.382.501.2120.8 %8.3 %12.5 %.2961.58.35774.1 %1221064.31
2017Average8.343.292.531.2721.6 %8.5 %13.1 %.2521.34.29772.6 %  4.40
2018Giants (AAA)9.521.994.780.4426.9 %5.6 %21.2 %.2271.06.30553.4 %  3.01
2018Giants8.105.401.501.3518.2 %12.1 %6.1 %.2811.80.32654.1 %1931395.34
2018Average8.533.252.631.1622.3 %8.5 %13.8 %.2451.30.29372.8 %  4.19
2019ATC8.073.292.450.84   .2611.36.32067.3 %  4.00
2019Steamer8.403.242.590.9621.9 %8.4 %13.4 %.2411.30.29273.1 %  3.86
2019ZiPS7.833.202.450.64   .2541.31.31371.6 %  3.52
2019Blue Jays (AAA)14.342.535.670.8440.5 %7.1 %33.3 %.1800.94.28681.4 %  2.50
2019Blue Jays9.945.931.681.1923.5 %14.0 %9.5 %.2521.66.31773.3 %1061044.85
2019Average8.883.292.691.4023.0 %8.5 %14.4 %.2491.33.29672.3 %  4.49
2019Steamer (R)9.204.032.281.31   .2441.39.29672.7 %  4.52
2019Depth Charts (R)8.994.202.141.13   .2521.42.31271.7 %  4.37
Total- - -8.873.842.310.9722.4 %9.7 %12.7 %.2531.42.31273.5 %99954.00
Postseason- - -11.573.863.000.0027.3 %9.1 %18.2 %.1000.86.14350.0 %96481.86

SeasonAgeWLGGSIPHRERHRBBSOK/9BB/9K/BBHR/9AVGWHIPBABIPLOB%ERAFIPWAR
2019283349056.3542523420497.833.202.450.64.2541.31.31371.6 %3.673.520.5
2020293248055.3522322420497.973.252.450.65.2501.30.31073.8 %3.583.520.4
2021303247054.0512322419488.003.172.530.67.2511.30.31173.0 %3.673.510.4

SeasonTeamGB/FBLD%GB%FB%IFFB%HR/FBIFH%BUH%Pull%Cent%Oppo%Soft%Med%Hard%SIERAxFIP-xFIP
2011Giants (R)2.7026.0 %54.0 %20.0 %20.0 %0.0 %  52.9 %21.6 %25.5 %     2.98
2012Giants (A)1.1916.8 %45.3 %38.0 %25.0 %11.5 %  47.2 %19.4 %33.3 %     3.38
2013Giants (R)4.009.1 %72.7 %18.2 %100.0 %0.0 %  36.4 %18.2 %45.5 %     1.56
2013Giants (A)1.0021.0 %39.5 %39.5 %31.3 %3.1 %  31.8 %29.4 %38.8 %     2.47
2013Giants (A+)1.6720.0 %50.0 %30.0 %26.7 %6.7 %  49.0 %25.5 %25.5 %     1.19
2014Giants (AA)1.3511.6 %50.7 %37.7 %19.2 %3.8 %  40.6 %21.7 %37.7 %     3.77
2015Giants (AA)1.2220.0 %44.0 %36.0 %25.9 %3.7 %  34.2 %19.7 %46.1 %     2.53
2016Giants (AAA)0.600.0 %37.5 %62.5 %20.0 %0.0 %  37.5 %12.5 %50.0 %     5.39
2016Giants1.7921.6 %50.3 %28.1 %11.6 %7.0 %2.6 %0.0 %33.5 %37.4 %29.0 %21.3 %47.1 %31.6 %3.00763.12
2016Giants4.0028.6 %57.1 %14.3 %0.0 %0.0 %25.0 %0.0 %      2.87632.57
2017Giants (AAA)1.5217.0 %50.0 %33.0 %19.4 %3.2 %  42.3 %27.8 %29.9 %     4.53
2017Giants0.9822.6 %38.3 %39.1 %8.9 %11.1 %9.1 %0.0 %41.0 %33.3 %25.6 %21.4 %42.7 %35.9 %4.191094.71
2018Giants (AAA)1.5621.9 %47.6 %30.5 %21.9 %6.3 %  54.7 %25.5 %19.8 %     3.40
2018Giants1.0020.0 %40.0 %40.0 %11.1 %11.1 %11.1 %0.0 %37.8 %31.1 %31.1 %11.1 %55.6 %33.3 %4.871385.62
2019Blue Jays (AAA)1.119.5 %47.6 %42.9 %44.4 %11.1 %  31.8 %13.6 %54.6 %     2.82
2019Blue Jays1.6920.3 %50.0 %29.7 %9.8 %15.7 %9.3 %100.0 %43.4 %33.7 %22.9 %22.3 %38.9 %38.9 %4.821054.80
Total- - -1.4321.2 %46.4 %32.4 %10.2 %11.5 %7.1 %42.9 %39.2 %34.6 %26.2 %20.7 %43.9 %35.4 %4.12994.29
Postseason- - -4.0028.6 %57.1 %14.3 %0.0 %0.0 %25.0 %0.0 %      2.87632.57

SeasonTeamGBFBLDIFFBIFHBUBUHRSBallsStrikesPitches
2011Giants (R)2710132    9109118
2012Giants (A)62522313    125372497
2013Giants (R)8212    63844
2013Giants (A)32321710    75268343
2013Giants (A+)2515104    59222281
2014Giants (AA)352685    172280452
2015Giants (AA)3327157    153279432
2016Giants (AAA)3501    153045
2016Giants774333522029276520796
2016Giants41201000233053
2017Giants (AAA)4731166    198309507
2017Giants444526442017248390638
2018Giants (AAA)5032237    219397616
2018Giants1818922007107149256
2019Blue Jays (AAA)10924    68114182
2019Blue Jays8651355833184787161194
Total- - -22515710316167371110917752884
Postseason- - -41201000233053

SeasonTeamWPA-WPA+WPARE24REWpLIinLIgmLIexLIPullsWPA/LIClutchSDMD
2016Giants0.98-2.863.8313.151.390.960.891.061.39491.14-0.13178
2016Giants0.05-0.090.140.410.050.78 0.560.7930.000.0710
2017Giants0.65-3.133.78-6.42-0.591.201.001.061.2429-0.461.01116
2018Giants0.20-0.180.38-10.11-1.100.300.390.450.003-0.751.4111
2019Blue Jays-1.00-6.505.50-11.65-1.161.200.891.061.1240-1.270.441411
Total- - -0.83-12.6713.50-15.03-1.461.050.881.031.23121-1.332.124326
Postseason- - -0.05-0.090.140.410.050.78 0.560.7930.000.0710

SeasonTeamFB%SL%CT%CB%CH%SF%KN%XX%
2016Giants52.3% (92.9)23.5% (83.8) 19.3% (76.8)4.9% (83.0)   
2017Giants54.2% (93.7)20.8% (80.6) 17.7% (75.3)7.2% (83.1)  1.1%
2018Giants51.6% (93.7)29.7% (84.7) 13.3% (76.6)5.5% (83.9)   
2019Blue Jays36.7% (94.1)30.6% (84.8) 19.8% (76.8)12.9% (85.9)  1.0%
Total- - -46.2% (93.6)26.4% (83.8) 18.7% (76.5)8.8% (84.8)  0.7%

SeasonTeamFA%FT%FC%FS%FO%SI%SL%CU%KC%EP%CH%SC%KN%UN%
2016Giants52.0 % 0.4 %   19.4 %23.5 %  4.8 %   
2017Giants53.9 %     17.9 %20.7 %  7.5 %   
2018Giants51.0 %     29.8 %13.3 %  5.9 %   
2019Blue Jays36.7 %     31.3 %19.1 %  12.9 %   
Total- - -46.0 % 0.1 %   24.9 %20.2 %  8.9 %   

SeasonTeamvFAvFTvFCvFSvFOvSIvSLvCUvKCvEPvCHvSCvKN
2016Giants92.8 92.3   84.577.4  82.8  
2017Giants93.7     80.876.0  83.3  
2018Giants93.7     84.676.6  84.3  
2019Blue Jays94.0     84.676.6  85.8  
Total- - -93.5 92.3   84.076.7  84.8  

SeasonTeamFA%FC%FS%SI%CH%SL%CU%CS%KN%SB%XX%
2016Giants52.3 %   4.9 %23.9 %18.9 %    
2017Giants54.0 %   7.3 %20.6 %18.2 %    
2018Giants51.6 %   5.5 %29.7 %13.3 %    
2019Blue Jays36.7 %   13.0 %30.8 %19.4 %    
Total- - -46.2 %   8.8 %26.6 %18.5 %    

SeasonTeamvFAvFCvFSvSIvCHvSLvCUvCSvKNvSB
2016Giants93.6   83.484.477.4   
2017Giants94.1   83.481.076.0   
2018Giants94.6   84.785.477.5   
2019Blue Jays94.4   86.184.977.0   
Total- - -94.1   85.284.276.9   

SeasonTeamwFBwSLwCTwCBwCHwSFwKNwFB/CwSL/CwCT/CwCB/CwCH/CwSF/CwKN/C
2016Giants10.24.8 -2.80.3  2.462.55 -1.840.75  
2017Giants-0.30.2 -2.4-0.5  -0.080.17 -2.15-1.11  
2018Giants-3.9-1.5 0.60.5  -2.93-1.96 1.893.67  
2019Blue Jays-9.7-1.2 4.5-1.8  -2.22-0.32 1.90-1.18  
Total- - --3.62.4 -0.1-1.5  -0.270.31 -0.02-0.60  

SeasonTeamwFAwFTwFCwFSwFOwSIwSLwCUwKCwEPwCHwSCwKN
2016Giants10.5 0.2   3.4-1.2  0.2  
2017Giants0.3     0.3-2.5  -0.6  
2018Giants-3.7     -1.50.6  0.6  
2019Blue Jays-6.0     -0.94.3  -1.7  
Total- - -1.1 0.2   1.31.1  -1.5  

SeasonTeamwFA/CwFT/CwFC/CwFS/CwFO/CwSI/CwSL/CwCU/CwKC/CwEP/CwCH/CwSC/CwKN/C
2016Giants2.53 5.83   2.23-0.63  0.59  
2017Giants0.09     0.27-1.93  -1.30  
2018Giants-2.84     -1.981.80  3.90  
2019Blue Jays-1.37     -0.251.88  -1.09  
Total- - -0.08 5.83   0.180.20  -0.59  

SeasonTeamwFAwFCwFSwSIwCHwSLwCUwCSwKNwSB
2016Giants10.8   0.35.1-3.1   
2017Giants-0.4   -0.50.9-3.1   
2018Giants-3.6   0.5-1.60.5   
2019Blue Jays-6.0   -1.7-0.84.2   
Total- - -0.8   -1.43.6-1.5   

SeasonTeamwFA/CwFC/CwFS/CwSI/CwCH/CwSL/CwCU/CwCS/CwKN/CwSB/C
2016Giants2.59   0.712.68-2.04   
2017Giants-0.12   -1.010.71-2.73   
2018Giants-2.72   3.72-2.081.59   
2019Blue Jays-1.37   -1.11-0.221.82   
Total- - -0.06   -0.550.48-0.27   

SeasonTeamO-Swing%Z-Swing%Swing%O-Contact%Z-Contact%Contact%Zone%F-Strike%SwStr%
2016Giants27.8 %63.8 %44.9 %50.0 %90.0 %77.0 %47.5 %62.6 %10.3 %
2016Average30.3 %66.7 %46.5 %63.9 %86.3 %78.2 %44.6 %60.3 %10.1 %
2017Giants24.7 %64.9 %42.6 %62.1 %83.2 %76.5 %44.7 %56.0 %9.9 %
2017Average29.9 %66.7 %46.5 %62.9 %85.5 %77.5 %45.0 %60.3 %10.4 %
2018Giants22.4 %59.3 %38.7 %43.8 %85.1 %71.7 %44.1 %59.1 %10.9 %
2018Average30.9 %67.3 %46.6 %62.8 %85.5 %76.9 %43.0 %60.6 %10.7 %
2019Blue Jays27.6 %63.8 %41.9 %55.5 %84.3 %72.8 %39.4 %59.3 %11.3 %
2019Average31.6 %68.5 %47.0 %62.7 %84.9 %76.2 %41.8 %60.9 %11.1 %
Total- - -26.6 %63.6 %42.6 %54.5 %85.9 %74.8 %43.2 %59.5 %10.7 %

SeasonTeamO-Swing%Z-Swing%Swing%O-Contact%Z-Contact%Contact%Zone%Pace
2016Giants27.3 %60.5 %44.8 %51.5 %87.0 %76.7 %52.6 %22.4
2016Average30.6 %63.9 %46.5 %62.1 %86.5 %78.1 %47.8 %22.7
2017Giants26.1 %60.9 %42.7 %66.7 %82.2 %77.2 %47.7 %22.6
2017Average30.3 %64.1 %46.5 %61.2 %85.8 %77.4 %47.9 %23.8
2018Giants20.6 %59.7 %38.8 %42.9 %83.1 %71.7 %46.7 %21.1
2018Average30.4 %64.4 %46.6 %60.1 %85.6 %76.9 %47.7 %23.5
2019Blue Jays28.6 %60.3 %41.8 %53.3 %85.6 %72.7 %41.7 %24.1
2019Average30.6 %65.2 %47.0 %59.4 %84.9 %76.2 %47.4 %24.4
Total- - -27.1 %60.4 %42.6 %54.9 %85.0 %74.8 %46.5 %23.0

SeasonTeamO-Swing%Z-Swing%Swing%O-Contact%Z-Contact%Contact%Zone%Pace
2016Giants31.0 %58.9 %44.8 %55.2 %88.3 %76.7 %49.3 %22.9
2017Giants28.1 %59.3 %42.7 %63.8 %84.1 %77.0 %47.0 %22.7
2018Giants22.5 %57.6 %38.7 %45.2 %83.8 %71.7 %46.1 %21.1
2019Blue Jays29.6 %58.8 %41.8 %53.7 %86.0 %72.6 %41.8 %24.4
Total- - -29.0 %58.8 %42.5 %55.6 %86.1 %74.7 %45.4 %23.3

SeasonTeamPosGGSInnPOAEFETEDPDPSDPTDPFScpSBCSPBWPFPTZ
2011Giants (R)P15018.0210  1          
2012Giants (A)P32055.2561  0          
2013Giants (R)P505.2210  0          
2013Giants (A)P19035.0030  0          
2013Giants (A+)P22025.2020  0          
2014Giants (AA)P27028.0310  0          
2015Giants (AA)P28025.2020  0          
2016Giants (AAA)P303.0000  0          
2016GiantsP61055.0390001100 0   1.000 
2017Giants (AAA)P25032.2260  0          
2017GiantsP41037.1230000000 2   1.000 
2018Giants (AAA)P33040.2120  0          
2018GiantsP7013.1110000000 1   1.000 
2019Blue Jays (AAA)P8010.2120  0          
2019Blue JaysP58460.23122110000 4   .882 
Total- - -P1674166.19252111100 7   .944 

SeasonTeamPosInnrSZrCERArSBrGDPrARMrGFPrPMDRSBIZPlaysRZROOZFSRFRMARMDPRRngRErrRUZRUZR/150
2016GiantsP55.00 0  012     0.9      
2017GiantsP37.10 0  0-1-1     -0.1      
2018GiantsP13.10 0  000     -0.1      
2019Blue JaysP60.20 1  022     0.6      
Total- - -P166.10 1  023     1.4      

SeasonTeamPosInnImpossible (0%)Remote (1-10%)Unlikely (10-40%)Even (40-60%)Likely (60-90%)Routine (90-100%)
2016GiantsP55.00.0%      (0)0.0%      (0)0.0%      (0)0.0%     (0)100.0%      (3)100.0%      (6)
2017GiantsP37.10.0%      (0)0.0%      (0)0.0%      (0)0.0%     (0)0.0%      (0)100.0%      (3)
2018GiantsP13.10.0%      (0)0.0%      (1)0.0%      (0)0.0%     (0)100.0%      (1)100.0%      (1)
2019Blue JaysP60.20.0%      (0)0.0%      (0)0.0%      (1)100.0%     (1)0.0%      (0)81.8%    (11)
Total- - -P166.10.0%      (0)0.0%      (1)0.0%      (1)100.0%     (1)100.0%      (4)90.5%    (21)

SeasonTeamRA9-WARBIP-WinsLOB-WinsFDP-WinsRARWARDollarsSalary
2016Giants1.50.30.20.59.61.0$8.0 
2017Giants-0.2-0.60.4-0.20.10.0$0.1 
2018Giants-0.5-0.1-0.2-0.3-1.3-0.1($1.0) 
2019Blue Jays-0.1-0.30.1-0.10.10.0$0.1 
Total- - -0.7-0.60.5-0.28.60.9$7.2 

  • 2011 June Amateur Draft - Round: 9, Pick: 26, Overall: 297
    • Team: San Francisco Giants
    • School: Miami Dade CC South
  • 2009 June Amateur Draft - Round: 28, Pick: 13, Overall: 844
    • Team: Texas Rangers
    • School: Seton LaSalle Catholic HS