LF | San Francisco Giants
Bats/Throws: R/R | 6' 4" 226 lbs | Age: 26
Draft: 2020 | Rd. 4, No. 121, Milwaukee Brewers | Cincinnati
PA AB R H HR SB AVG OBP SLG OPS
2023 410 367 48 75 13 11 .204 .283 .362 .645
2024 28 26 2 4 0 1 .154 .214 .154 .368
2025 61 55 7 13 3 0 .236 .279 .436 .715
3 Seasons 499 448 57 92 16 12 .205 .279 .359 .638
AVG HR SB OPS
2023 .204 13 11 .645
2024 .154 0 1 .368
2025 .236 3 0 .715
3 Seasons .205 16 12 .638
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 24 1585 253 23 9.1 5.6 89.3 112.8 10.5 28.9 .209 .370 .284 .289 .354 39.1 28.3 8.8
2024 25 109 17 1 5.9 3.6 82.8 104.1 18.0 23.5 .183 .301 .175 .245 .323 23.5 32.1 7.1
2025 26 219 34 5 14.7 8.2 91.4 107.6 6.4 38.2 .243 .458 .297 .308 .481 61.8 37.7 3.3
Player 1913 304 29 9.5 5.8 89.1 112.8 10.5 29.6 .212 .377 .279 .288 .367 40.8 29.7 8.0
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 46.6 53.4 28.9 17.4 7.1 43.1 37.2 19.8 26.1 17.4 3.2 17.0 19.8 16.6
2024 41.2 58.8 17.6 17.6 23.5 52.9 35.3 11.8 23.5 17.6 0.0 29.4 17.6 11.8
2025 47.1 52.9 29.4 23.5 0.0 58.8 26.5 14.7 26.5 20.6 0.0 32.4 5.9 14.7
Player 46.4 53.6 28.3 18.1 7.2 45.4 35.9 18.8 26.0 17.8 2.6 19.4 18.1 16.1
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.0 37.9 25.7 19.0 4.3 9.1 5.6
2024 0.0 41.2 35.3 11.8 5.9 5.9 3.6
2025 5.9 35.3 14.7 26.5 2.9 14.7 8.2
Player 3.9 37.8 25.0 19.4 4.3 9.5 5.8
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 -1.2 -1 74 33.8 25 .238 .333 .264 10.0 28.0 29.2 .218 .313 .250 56.3
2025 Slider 1.4 1 37 16.9 9 .333 .667 .422 43.5 44.4 36.4 .289 .583 .369 60.0
2025 Curveball 7.2 2 31 14.2 7 .167 .667 .386 58.8 57.1 25.0 .128 .410 .290 50.0
2025 Sweeper -6.1 -1 22 10.0 4 .000 .000 .000 85.7 100.0 50.0 -- -- .000 --
2025 Sinker -3.1 -1 22 10.0 7 .286 .286 .257 8.3 14.3 33.3 .415 .757 .496 83.3
2025 Changeup -1.9 0 18 8.2 4 .250 .250 .225 30.0 25.0 16.7 .306 .370 .293 33.3
2025 Cutter -5.8 -1 9 4.1 2 .000 .000 .000 25.0 50.0 50.0 .168 .197 .152 100.0
2025 Split-Finger 12.5 1 6 2.7 2 .500 2.000 1.000 0.0 50.0 33.3 .475 1.869 .958 100.0
2024 4-Seam Fastball -3.7 -1 31 28.4 3 .000 .000 .000 16.7 33.3 20.0 .166 .169 .155 50.0
2024 Slider -1.4 0 28 25.7 9 .250 .250 .278 41.7 33.3 27.3 .229 .291 .279 40.0
2024 Sinker -8.1 -2 19 17.4 8 .000 .000 .088 33.3 50.0 80.0 .116 .444 .289 33.3
2024 Changeup 1.7 0 12 11.0 5 .400 .400 .360 25.0 20.0 20.0 .220 .254 .212 0.0
2024 Sweeper -5.8 0 7 6.4 1 .000 .000 .000 66.7 0.0 0.0 .011 .011 .010 0.0
2024 Cutter -3.6 0 6 5.5 1 .000 .000 .000 0.0 0.0 0.0 .042 .046 .062 0.0
2024 Curveball -3.4 0 6 5.5 1 .000 .000 .000 50.0 0.0 0.0 .457 .559 .465 0.0
! Note: Years are in reverse order.

Statcast Batting Run Value

Runs
Year Team PA Pitches Heart Shadow Chase Waste All
2023 410 1,585 -7 -22 12 6 -11
2024 28 109 -2 -2 0 0 -4
2025 60 219 2 -4 1 1 0
Player 498 1,913 -6 -28 13 -6 -14
+ 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 1,585 48.8 65.9 74.9 29.1 47.9 42.6 34.6 47.1 33.6 6.6 76.2
2024 109 53.2 56.9 81.8 27.5 42.9 45.9 35.7 43.1 29.8 8.3 66.7
2025 219 53.0 75.0 75.9 35.9 45.9 44.7 56.7 56.6 33.1 6.8 73.3
Player 1,913 49.6 66.5 75.4 29.7 47.4 43.0 37.3 47.9 33.4 6.7 75.2
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 11 2 18 41 8 32 56 50 84 39 17 54 10 42 89 90 81
2024 11 83
2025 27 77 86
+ 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 20.94 13 12.3 1 6 10 5 38.5
2025 20.92 3 3.8 -1 1 1 3 100.0
Player 20.93 16 16.1 0 7 11 8 50.0
+ View Standard Expected Home Runs

Expected Home Runs by Park

Adjusted

Year HR
2023 13 12 7 14 14 13 14 11 13 9 9 15 13 11 14 15 15 12 14 16 12 10 18 14 9 9 12 13 12 11 9
2025 3 3 4 3 4 4 4 3 4 3 4 4 3 5 4 3 4 3 4 4 3 4 4 4 3 4 4 4 4 4 5
Player 16 15 11 17 18 17 18 14 17 12 13 19 16 16 18 18 19 15 18 20 15 14 22 18 12 13 16 17 16 15 14
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 .236 +.082 .154 -.050 .204
xBA .243 +.060 .183 -.026 .209
OBP .279 +.065 .214 -.069 .283
xOBP .286 +.045 .241 -.046 .287
SLG .436 +.282 .154 -.208 .362
xSLG .458 +.157 .301 -.069 .370
ISO .200 +.200 .000 -.158 .158
xISO .215 +.097 .118 -.043 .161
BABIP .323 +.088 .235 -.023 .258
wOBA .297 +.122 .175 -.109 .284
xwOBA .308 +.063 .245 -.044 .289
wOBACON .461 +.254 .207 -.139 .346
xwOBACON .481 +.158 .323 -.031 .354
BACON .382 +.147 .235 -.061 .296
xBACON .395 +.115 .280 -.024 .304
Statcast Hit Metrics
Hard Hit % 61.8 +38.3 23.5 -15.6 39.1
Avg Exit Velocity 91.4 +8.6 82.8 -6.5 89.3
Launch Angle Sweet-Spot % 38.2 +14.7 23.5 -5.4 28.9
Barrel % 14.7 +8.8 5.9 -3.2 9.1
Avg Launch Angle 6.4 -11.6 18.0 +7.5 10.5
Statcast Bat Tracking
Bat Speed 72.5 +0.4 72.1 +0.4 71.7
Attack Angle 13° 12° +3° 10°
Ideal Attack Angle % 71.8 +6.8 65.0 +1.3 63.7
Attack Direction -12° -3° -9° -1° -8°
Swing Path - Tilt 25° -2° 28° +4° 24°
Swing Length 7.6 +0.2 7.4 0.0 7.4
Statcast Pitch Metrics
Fastball Velocity 94.3 -0.3 94.6 +1.4 93.2
Breaking Velocity 84.2 +1.1 83.1 0.0 83.1
Offspeed Velocity 85.8 +0.1 85.7 +0.7 85.0
Batted Ball Results
Barrels 5 +4 1 -22 23
Popup % 0.0 -23.5 23.5 +16.4 7.1
Flyball % 29.4 +11.8 17.6 -11.3 28.9
Line Drive % 23.5 +5.9 17.6 +0.2 17.4
Groundball % 47.1 +5.9 41.2 -5.4 46.6
Pull % 58.8 +5.9 52.9 +9.8 43.1
Straight Away % 26.5 -8.8 35.3 -1.9 37.2
Opposite Field % 14.7 +2.9 11.8 -8.0 19.8
Weak Contact % 5.9 +5.9 0.0 -4.0 4.0
Pull Airball % 32.4 +3.0 29.4 +12.4 17.0
Topped Contact % 35.3 -5.9 41.2 +3.3 37.9
Under Contact % 14.7 -20.6 35.3 +9.6 25.7
Flare/Burner Contact % 26.5 +14.7 11.8 -7.2 19.0
Solid Contact % 2.9 -3.0 5.9 +1.6 4.3
HR/FB % 30.0 +30.0 0.0 -17.8 17.8
Popups 0 -4 4 -14 18
Flyballs 10 +7 3 -70 73
Line Drives 8 +5 3 -41 44
Groundballs 16 +9 7 -111 118
Plate Discipline
In Zone % 53.0 -0.2 53.2 +4.4 48.8
Out of Zone % 47.0 +0.2 46.8 -4.4 51.2
Edge % 44.7 -1.2 45.9 +3.3 42.6
Zone Swing % 75.0 +18.1 56.9 -9.0 65.9
Out of Zone Swing % 35.9 +8.4 27.5 -1.6 29.1
In Zone Contact % 75.9 -5.9 81.8 +6.9 74.9
Out of Zone Contact % 45.9 +3.0 42.9 -5.0 47.9
Whiff % 33.1 +3.3 29.8 -3.8 33.6
First Strike % 66.7 +2.4 64.3 +3.6 60.7
First Pitch Swing % 56.7 +21.0 35.7 +1.1 34.6
Swing % 56.6 +13.5 43.1 -4.0 47.1
Meatball Swing % 73.3 +6.6 66.7 -9.5 76.2
Meatball % 6.8 -1.5 8.3 +1.7 6.6
Zone Swing & Miss % 24.1 +5.9 18.2 -6.9 25.1
Out of Zone Swing & Miss % 54.1 -3.0 57.1 +5.0 52.1
In Zone 116 +58 58 -716 774
Out of Zone 103 +52 51 -760 811
Edge 98 +48 50 -625 675
In Zone Swings 87 +54 33 -477 510
Out of Zone Swings 37 +23 14 -222 236
In Zone Swing & Misses 21 +15 6 -122 128
Out of Zone Swing & Misses 20 +12 8 -115 123
Basic
Pitches 219 +110 109 -1,476 1,585
PA 61 +33 28 -382 410
AB 55 +29 26 -341 367
Hits 13 +9 4 -71 75
Singles 8 +4 4 -39 43
Doubles 2 +2 0 -19 19
Triples 0 0 0 0 0
Home Runs 3 +3 0 -13 13
Walks 2 0 2 -34 36
Strikeouts 23 +14 9 -107 116
K% 37.7 +5.6 32.1 +3.8 28.3
BB% 3.3 -3.8 7.1 -1.7 8.8
HBP 2 +2 0 -5 5
Batted Balls 34 +17 17 -236 253
Number of Fastballs 105 +49 56 -669 725
Number of Offspeed 24 +12 12 -167 179
Number of Breaking 68 +34 34 -521 555
+ Toggle Viewing All Player's Year to Year Stats

Statcast Fielder Positioning

wOBA
SeasonAlignment TypeBat SidePAShifts/Shades%No Shift/ShadeShift/Shade
2023 Shades R 410 45 11.0 .293 .212
2024 Shades R 28 3 10.7 .161 .294
2025 Shades R 60 1 1.7 .302 .000
! 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 409 15.2 46.9% 0.2% 272 18.6 7.7% 0.4%
2024 22 17.3 27.3% 0.0% 24 19.0 8.3% 0.0%
2025 27 16.3 18.5% 0.0% 40 18.7 15.0% 0.0%
+ View Complete Pitch Tempo Leaderboard

Statcast Rankings