Age: 28
Bats/Throws: R/R
6' 3" / 215
P

RotoWire News: Law is starting Monday against the Angels. (6/17/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.482.81 
2019Blue Jays01017222.110.073.631.21.32369.4 %49.2 %15.0 %4.844.024.000.2
2019ZiPS (R)11 25130.08.413.270.88.31571.4 %  3.963.77 0.4
2019Steamer (R)11025025.09.053.311.31.29572.6 %  4.254.25 0.1
2019Depth Charts (R)11025025.08.733.291.09.31172.0 %  4.104.01 0.1
2019THE BAT (R)11026026.09.013.021.34.31771.2 %  4.384.23  
Total- - -9451262128.08.582.810.91.31272.8 %45.2 %10.3 %4.013.604.001.1
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 Jays014.841720000022.110023131239012025
2019ZiPS (R)113.96251     30.0 291413311 1  28
2019Steamer (R)114.252500003 25.010623131249 1  25
2019Depth Charts (R)114.10250  03 25.0 24121139 1  24
2019THE BAT (R)114.38260  0  26.01112614134911  26
Total- - -944.011262005193128.0548128605713402490122
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 %1201054.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 %1901395.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.48
2019Blue Jays10.073.632.781.2125.0 %9.0 %16.0 %.2561.43.32369.4 %108884.02
2019Average8.803.342.631.3722.8 %8.7 %14.1 %.2471.33.29372.3 %  4.47
2019ZiPS (R)8.413.272.570.88   .2551.33.31571.4 %  3.77
2019Steamer (R)9.053.312.741.31   .2451.32.29572.6 %  4.25
2019Depth Charts (R)8.733.292.651.09   .2531.32.31172.0 %  4.01
2019THE BAT (R)9.013.022.991.34   .2611.33.31771.2 %  4.23
Total- - -8.582.813.050.9122.3 %7.3 %15.0 %.2541.31.31272.8 %96893.60
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.81
2019Blue Jays1.5519.0 %49.2 %31.7 %15.0 %15.0 %9.7 %100.0 %35.4 %41.5 %23.1 %20.0 %35.4 %44.6 %3.86884.00
Total- - -1.3521.3 %45.2 %33.5 %11.1 %10.3 %6.5 %33.3 %36.6 %36.1 %27.2 %19.9 %44.8 %35.3 %3.75944.00
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 Jays31201233228152266418
Total- - -170126801411626178313252108
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-0.49-1.430.94-2.24-0.220.670.530.700.6415-0.20-0.5322
Total- - -1.34-7.598.93-5.61-0.520.900.820.981.1896-0.261.753117
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 Jays37.3% (93.8)36.1% (83.8) 13.9% (75.8)12.7% (85.4)   
Total- - -49.8% (93.4)25.9% (83.1) 17.0% (76.2)7.2% (83.9)  0.3%

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 Jays37.3 %     36.1 %14.1 %  12.4 %   
Total- - -49.5 % 0.1 %   23.5 %19.6 %  7.3 %   

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 Jays93.8     83.875.8  85.3  
Total- - -93.4 92.3   83.576.6  83.9  

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 Jays37.4 %   12.7 %36.0 %13.9 %    
Total- - -49.8 %   7.2 %26.0 %17.0 %    

SeasonTeamvFAvFCvFSvSIvCHvSLvCUvCSvKNvSB
2016Giants93.6   83.484.477.4   
2017Giants94.1   83.481.076.0   
2018Giants94.6   84.785.477.5   
2019Blue Jays93.6   85.183.675.5   
Total- - -93.9   84.183.576.6   

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-7.41.0 1.52.6  -4.750.65 2.514.84  
Total- - --1.34.5 -3.22.9  -0.120.82 -0.881.88  

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-5.1     1.01.5  2.7  
Total- - -2.0 0.2   3.2-1.7  2.8  

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-3.26     0.662.47  5.11  
Total- - -0.19 5.83   0.65-0.40  1.86  

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-5.1   2.61.01.5   
Total- - -1.7   2.95.4-4.2   

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-3.26   4.930.632.58   
Total- - -0.16   1.940.99-1.17   

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 Jays31.3 %64.6 %45.2 %55.3 %85.8 %73.5 %41.9 %63.0 %12.0 %
2019Average30.9 %68.2 %46.7 %62.4 %84.8 %76.2 %42.2 %60.8 %11.1 %
Total- - -26.9 %63.7 %43.5 %54.0 %86.6 %75.6 %45.1 %60.2 %10.6 %

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 Jays30.9 %61.5 %45.2 %53.6 %85.0 %73.5 %46.7 %23.6
2019Average30.3 %64.9 %46.7 %59.3 %84.8 %76.1 %47.4 %24.2
Total- - -26.9 %60.7 %43.5 %55.8 %84.7 %75.7 %49.2 %22.6

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 Jays30.5 %61.9 %45.1 %52.9 %85.0 %73.4 %46.5 %24.0
Total- - -28.9 %59.4 %43.5 %56.3 %85.9 %75.6 %47.7 %22.9

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 JaysP17222.1041100000 2   .800 
Total- - -P1262128.06171101100 5   .958 

SeasonTeamPosInnrSZrCERArSBrGDPrARMrGFPrPMDRSBIZPlaysRZROOZFSRFRMARMDPRRngRErrRUZRUZR/150
2016GiantsP55.00 0  012     0.9      
2017GiantsP37.10 0  0-1-1     0.0      
2018GiantsP13.10 0  000     -0.1      
2019Blue JaysP22.10 0  00-1     0.2      
Total- - -P128.00 0  000     0.9      

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 JaysP22.10.0%      (0)0.0%      (0)0.0%      (1)0.0%     (0)0.0%      (0)75.0%      (4)
Total- - -P128.00.0%      (0)0.0%      (1)0.0%      (1)0.0%     (0)100.0%      (4)92.9%    (14)

SeasonTeamRA9-WARBIP-WinsLOB-WinsFDP-WinsRARWARDollarsSalary
2016Giants1.50.30.20.59.71.0$8.1 
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 Jays0.0-0.1-0.1-0.21.90.2$1.5 
Total- - -0.9-0.50.3-0.210.41.1$8.6 


Add New Contract
  • 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