2B | San Francisco Giants
Bats/Throws: R/R | 6' 2" 208 lbs | Age: 28
Draft: 2019 | Rd. 4, No. 116, San Francisco Giants | Louisville
PA AB R H HR SB AVG OBP SLG OPS
2023 34 32 3 7 2 2 .219 .265 .469 .734
2024 341 314 53 88 15 17 .280 .334 .497 .831
2025 243 217 19 47 4 9 .217 .278 .327 .605
3 Seasons 618 563 75 142 21 28 .252 .309 .430 .739
AVG HR SB OPS
2023 .219 2 2 .734
2024 .280 15 17 .831
2025 .217 4 9 .605
3 Seasons .252 21 28 .739
MLB Percentile Rankings
Hits Spray Chart

Statcast Batting Statistics

Season Age Pitches Batted
Balls
Barrels Barrel % Barrel/PA Exit
Velocity
Max EV Launch
Angle
LA Sweet-
Spot %
XBA XSLG WOBA XWOBA XWOBACON HardHit% K% BB%
2023 25 147 22 1 4.5 2.9 87.3 102.5 18.2 18.2 .155 .250 .310 .200 .246 27.3 29.4 5.9
2024 26 1330 207 17 8.2 5.0 87.7 107.3 20.2 39.1 .227 .378 .357 .292 .394 31.9 31.7 6.5
2025 27 925 154 7 4.5 2.9 84.5 107.0 17.0 30.5 .193 .273 .269 .240 .294 27.9 28.8 7.0
Player 2402 383 25 6.5 4.0 86.4 107.3 18.8 34.5 .210 .330 .320 .266 .346 30.0 30.4 6.6
MLB 7.2 4.9 88.6 122.9 12.4 33.3 .245 .404 .315 .315 .368 37.0 22.2 8.4
! Note: All figures in this table cover the period 2015-present.




Fastball: 4 Seam, 2 Seam, Cutter, Sinker. Offspeed: Split, Change, Fork, Screw. Breaking: Slider, Curve, Knuckle, Sweeper, Slurve, Other
  •   
  •   
  •   
  •   
  •   
  •   
  •   

Batted Ball Profile

AIR: Fly Balls + Line Drives + Popups All Batted Balls Batted Ball Breakdown
Season GB % AIR % FB % LD % PU % Pull % Straight % Oppo % Pull GB % Straight GB % Oppo GB % Pull AIR % Straight AIR % Oppo AIR %
2023 40.9 59.1 50.0 9.1 0.0 50.0 31.8 18.2 27.3 13.6 0.0 22.7 18.2 18.2
2024 35.3 64.7 33.3 24.6 6.8 49.8 26.1 24.2 22.2 9.2 3.9 27.5 16.9 20.3
2025 40.3 59.7 30.5 20.8 8.4 40.9 31.2 27.9 24.0 13.6 2.6 16.9 17.5 25.3
Player 37.6 62.4 33.2 22.2 7.0 46.2 28.5 25.3 23.2 11.2 3.1 23.0 17.2 22.2
MLB 44.2 55.8 24.0 24.7 7.1 37.4 37.4 25.1 20.6 17.6 5.9 16.7 19.7 19.3
! Note: All figures in this table cover the period 2015-present.

Quality of Contact

Season Weak % Topped % Under % Flare/Burner % Solid % Barrel % Barrel/PA
2023 4.5 36.4 40.9 9.1 4.5 4.5 2.9
2024 4.3 22.7 32.9 26.1 4.8 8.2 5.0
2025 11.0 26.6 32.5 20.1 5.2 4.5 2.9
Player 7.0 25.1 33.2 22.7 5.0 6.5 4.0
MLB 4.0 32.4 24.9 24.4 5.9 7.2 4.9
! Note: All figures in this table cover the period 2015-present.

Run Values by Pitch Type

Year Pitch Type Team RV/100 Run Value Pitches % PA BA SLG wOBA Whiff% K% PutAway % xBA xSLG xwOBA Hard Hit %
2025 4-Seam Fastball -2.7 -7 253 27.4 63 .167 .204 .232 23.7 27.0 20.7 .206 .302 .266 35.0
2025 Slider -1.1 -2 178 19.2 45 .205 .333 .257 42.3 26.7 18.8 .166 .232 .208 10.0
2025 Sinker 0.6 1 134 14.5 40 .324 .541 .394 12.2 10.0 12.1 .289 .390 .324 48.5
2025 Changeup -2.4 -3 106 11.5 24 .174 .174 .179 50.0 54.2 33.3 .138 .155 .153 10.0
2025 Sweeper 0.8 1 89 9.6 22 .238 .381 .327 40.4 45.5 25.6 .167 .220 .191 27.3
2025 Curveball -2.6 -2 72 7.8 19 .167 .167 .179 29.0 52.6 27.0 .067 .140 .119 25.0
2025 Cutter 2.5 2 62 6.7 20 .313 .688 .463 26.5 5.0 6.3 .262 .425 .358 25.0
2025 Split-Finger -6.2 -1 19 2.1 6 .000 .000 .000 30.0 33.3 18.2 .066 .096 .066 0.0
2025 Slurve 0.8 0 9 1.0 3 .000 .000 .233 50.0 33.3 25.0 .019 .052 .252 0.0
2024 4-Seam Fastball 1.5 6 372 28.0 115 .330 .575 .410 21.9 28.7 30.0 .267 .481 .347 43.8
2024 Sinker 2.5 6 247 18.6 65 .321 .547 .486 14.7 16.9 17.7 .299 .449 .393 33.3
2024 Slider 0.6 1 219 16.5 55 .208 .453 .291 48.6 40.0 34.9 .150 .267 .198 32.3
2024 Changeup -0.1 0 136 10.2 29 .222 .370 .306 45.9 37.9 22.0 .147 .263 .217 6.3
2024 Sweeper -0.3 0 115 8.6 18 .333 .389 .319 36.4 44.4 22.9 .211 .236 .195 0.0
2024 Cutter 5.4 6 107 8.0 26 .400 .840 .527 26.8 19.2 20.8 .325 .537 .383 35.0
2024 Curveball -2.6 -2 94 7.1 19 .111 .167 .113 36.6 42.1 21.1 .127 .193 .128 18.2
2024 Split-Finger -6.5 -2 30 2.3 10 .100 .100 .090 55.0 80.0 50.0 .068 .076 .063 0.0
2024 Slurve -14.7 0 3 0.2 2 .000 .000 .000 50.0 50.0 50.0 .010 .013 .009 0.0
! Note: Years are in reverse order.

Statcast Batting Run Value

Runs
Year Team PA Pitches Heart Shadow Chase Waste All
2023 34 147 1 -2 1 0 1
2024 341 1,330 12 -10 5 6 13
2025 243 925 -5 -13 4 4 -11
Player 618 2,402 7 -25 10 7 3
+ View Complete Batting Run Value Leaderboard
+ Show Leverage-Based Run Value

Plate Discipline

Season Pitches Zone % Zone Swing % Zone Contact % Chase % Chase Contact % Edge % 1st Pitch Swing % Swing % Whiff % Meatball % Meatball Swing %
2023 147 53.7 69.6 81.8 16.2 36.4 38.1 32.4 44.9 25.8 8.8 69.2
2024 1,330 50.8 67.9 77.7 26.9 45.5 42.2 33.1 47.7 31.2 7.4 76.8
2025 925 50.6 72.0 79.8 32.8 44.0 40.8 41.6 52.6 31.2 7.6 82.9
Player 2,402 50.9 69.6 78.8 28.6 44.5 41.4 36.4 49.4 30.9 7.6 78.6
MLB 48.9 67.0 82.5 28.4 58.0 42.7 30.1 47.3 25.0 7.3 76.3
! Note: All figures in this table cover the period 2015-present.

Percentile Rankings

Year xwOBA xBA xSLG xISO xOBP Brl Brl% EV Max EV Hard
Hit%
K% BB% Whiff% Chase
Rate
Speed OAA Arm
Strength
Bat
Speed
Squared-up
Rate
Swing
Length
2023 7 99
2024 20 17 32 46 11 20 53 22 30 13 4 26 12 60 100 31 31
2025 22 97 46 11
+ View Complete Percentile Rankings Leaderboard

Expected Home Runs

Adjusted

Year Team Avg HR Trot Actual HR xHR HR-xHR Doubters Mostly Gone No Doubters No Doubter %
2023 23.91 2 2.4 0 1 2 1 50.0
2024 22.02 15 13.3 2 1 11 4 26.7
2025 22.51 4 3.3 1 2 4 0 0.0
Player 22.30 21 19.0 2 4 17 5 23.8
+ View Standard Expected Home Runs

Expected Home Runs by Park

Adjusted

Year HR
2023 2 2 3 2 3 2 3 2 3 2 2 4 2 2 2 3 2 1 3 3 2 2 3 3 2 2 3 2 2 3 2
2024 15 5 15 11 15 15 15 13 14 13 15 15 11 12 15 13 11 12 12 16 14 13 15 13 10 14 14 15 13 15 15
2025 4 3 4 1 3 4 4 3 4 3 4 6 1 5 4 3 3 2 3 4 2 3 4 3 0 3 4 4 3 4 4
Player 21 10 22 14 21 21 22 18 21 18 21 25 14 19 21 19 16 15 18 23 18 18 22 19 12 19 21 21 18 22 21
Note: xHR tells how many of this player's batted balls would have been out of other stadiums. The "Adjusted" view here accounts for different wall heights, distances and environmental effects using Statcast Park Factor data.
+ View Standard Expected Home Runs By Park
+ View Complete Expected Home Runs Leaderboard

Year to Year Changes

2025 +/-   2024 +/-   2023
Results
BA .217 -.063 .280 +.061 .219
xBA .193 -.034 .227 +.072 .155
OBP .278 -.056 .334 +.069 .265
xOBP .257 -.029 .286 +.081 .205
SLG .327 -.170 .497 +.028 .469
xSLG .273 -.105 .378 +.128 .250
ISO .111 -.106 .217 -.033 .250
xISO .080 -.070 .150 +.055 .095
BABIP .299 -.081 .380 +.130 .250
wOBA .269 -.088 .357 +.047 .310
xwOBA .240 -.052 .292 +.092 .200
wOBACON .341 -.160 .501 +.085 .416
xwOBACON .294 -.100 .394 +.148 .246
BACON .318 -.107 .425 +.107 .318
xBACON .283 -.063 .346 +.120 .226
Statcast Hit Metrics
Hard Hit % 27.9 -4.0 31.9 +4.6 27.3
Avg Exit Velocity 84.5 -3.2 87.7 +0.4 87.3
Launch Angle Sweet-Spot % 30.5 -8.6 39.1 +20.9 18.2
Barrel % 4.5 -3.7 8.2 +3.7 4.5
Avg Launch Angle 17.0 -3.2 20.2 +2.0 18.2
Statcast Bat Tracking
Bat Speed 69.2 -1.3 70.5 -1.3 71.8
Attack Angle 14° -4° 18° +4° 14°
Ideal Attack Angle % 48.1 +4.1 44.0 -1.0 45.0
Attack Direction -5° -4° -3° -2°
Swing Path - Tilt 35° -3° 38° +1° 37°
Swing Length 7.4 0.0 7.4 +0.1 7.3
Statcast Pitch Metrics
Fastball Velocity 93.5 +0.6 92.9 -0.3 93.2
Breaking Velocity 83.4 -0.1 83.5 +0.7 82.8
Offspeed Velocity 85.4 +1.3 84.1 -0.5 84.6
Batted Ball Results
Barrels 7 -10 17 +16 1
Popup % 8.4 +1.6 6.8 +6.8 0.0
Flyball % 30.5 -2.8 33.3 -16.7 50.0
Line Drive % 20.8 -3.8 24.6 +15.5 9.1
Groundball % 40.3 +5.0 35.3 -5.6 40.9
Pull % 40.9 -8.9 49.8 -0.2 50.0
Straight Away % 31.2 +5.1 26.1 -5.7 31.8
Opposite Field % 27.9 +3.7 24.2 +6.0 18.2
Weak Contact % 11.0 +6.7 4.3 -0.2 4.5
Pull Airball % 16.9 -10.6 27.5 +4.8 22.7
Topped Contact % 26.6 +3.9 22.7 -13.7 36.4
Under Contact % 32.5 -0.4 32.9 -8.0 40.9
Flare/Burner Contact % 20.1 -6.0 26.1 +17.0 9.1
Solid Contact % 5.2 +0.4 4.8 +0.3 4.5
HR/FB % 8.5 -13.2 21.7 +3.5 18.2
Popups 13 -1 14 +14 0
Flyballs 47 -22 69 +58 11
Line Drives 32 -19 51 +49 2
Groundballs 62 -11 73 +64 9
Plate Discipline
In Zone % 50.6 -0.2 50.8 -2.9 53.7
Out of Zone % 49.4 +0.2 49.2 +2.9 46.3
Edge % 40.8 -1.4 42.2 +4.1 38.1
Zone Swing % 72.0 +4.1 67.9 -1.7 69.6
Out of Zone Swing % 32.8 +5.9 26.9 +10.7 16.2
In Zone Contact % 79.8 +2.1 77.7 -4.1 81.8
Out of Zone Contact % 44.0 -1.5 45.5 +9.1 36.4
Whiff % 31.2 0.0 31.2 +5.4 25.8
First Strike % 72.0 +6.9 65.1 +0.4 64.7
First Pitch Swing % 41.6 +8.5 33.1 +0.7 32.4
Swing % 52.6 +4.9 47.7 +2.8 44.9
Meatball Swing % 82.9 +6.1 76.8 +7.6 69.2
Meatball % 7.6 +0.2 7.4 -1.4 8.8
Zone Swing & Miss % 20.2 -2.1 22.3 +4.1 18.2
Out of Zone Swing & Miss % 56.0 +1.5 54.5 -9.1 63.6
In Zone 468 -207 675 +596 79
Out of Zone 457 -198 655 +587 68
Edge 377 -184 561 +505 56
In Zone Swings 337 -121 458 +403 55
Out of Zone Swings 150 -26 176 +165 11
In Zone Swing & Misses 68 -34 102 +92 10
Out of Zone Swing & Misses 84 -12 96 +89 7
Basic
Pitches 925 -405 1,330 +1,183 147
PA 243 -98 341 +307 34
AB 217 -97 314 +282 32
Hits 47 -41 88 +81 7
Singles 32 -20 52 +49 3
Doubles 10 -9 19 +17 2
Triples 1 -1 2 +2 0
Home Runs 4 -11 15 +13 2
Walks 17 -5 22 +20 2
Strikeouts 70 -38 108 +98 10
K% 28.8 -2.9 31.7 +2.3 29.4
BB% 7.0 +0.5 6.5 +0.6 5.9
HBP 2 -2 4 +4 0
Batted Balls 154 -53 207 +185 22
Number of Fastballs 449 -277 726 +642 84
Number of Offspeed 125 -41 166 +152 14
Number of Breaking 249 -64 313 +281 32
+ Toggle Viewing All Player's Year to Year Stats

Statcast Fielder Positioning

wOBA
SeasonAlignment TypeBat SidePAShifts/Shades%No Shift/ShadeShift/Shade
2023 Shades R 34 0 0.0 .310
2024 Shades R 339 22 6.5 .368 .201
2025 Shades R 243 25 10.3 .271 .247
! Note: Shifts are through the 2022 season, Shaded starting from the 2023 season, Shift: three or more infielders are on the same side of second base, Shade: positioned outside of their typical responsible slices of the field.
Learn more about how positioning is defined here

Pitch Tempo

Bases EmptyRunners On Base
SeasonTeamPitchesTempoFast %Slow %PitchesTempoFast %Slow %
2023 51 15.9 41.2% 0.0% 23 19.2 4.3% 0.0%
2024 372 15.1 49.2% 0.0% 222 18.0 8.1% 0.0%
2025 232 15.3 44.0% 0.4% 133 18.8 10.5% 2.3%
+ View Complete Pitch Tempo Leaderboard

Statcast Rankings