DataBaseball
2026
Ryan O'Hearn headshot

Players · O · 1B · 2026

Ryan O'Hearn

Age
33
B/T
L/L
Height
6' 2"
Weight
220 lb
Number
#29
Born
July 26, 1993 in Dunedin, FL, United States
MLB debut
July 31, 2018
Drafted
2014, round 8
College
Sam Houston State
Salary, 2026
$14.5M
dbWAR
6.5
9 season(s)
PA
444
AVG
.268
OBP
.333
SLG
.445
wRC+
112
100 = avg

Ryan O'Hearn is a first baseman for the Pittsburgh Pirates. So far in 2026 he has hit 18 home runs and knocked in 76 RBIs, notching 107 hits across 444 plate appearances in 108 games. His batting average is .268, 9.7% higher than the league average of .244. He reached base at a .333 clip and slugged .445, for an OPS of .778, 8.3% higher than the league mark of .719 — 7th of 18 on his team, and 101st of 462 among MLB batters with 100+ plate appearances. He averaged 89.3 mph off the bat, hit 42.7% of balls in play at 95 mph or better, barrelled 6.2% of them and made contact on 77.5% of his swings. Adjusted for his ballpark and league, his 112 wRC+ puts his offence 12% above average. That comes to 1.3 dbWAR — +8.4 runs with the bat, -1.0 for the ballpark, -0.4 on the bases, -2.1 on double plays, -6.0 for the position he plays, against replacement level. It includes no fielding: defensive runs are proprietary and are not estimated here, so the figure credits playing a demanding position but not playing it well.

League context

Percentile among qualified batters, 2026.

wRC+112
wOBA.341
ISO.177
BB%7.9%
WAR1.3

How the WAR is built

Runs above replacement, 2026. These terms sum to +12.6 runs, divided by runs-per-win to give WAR. There is no fielding term.

Batting+8.4Ballpark-1.0Baserunning-0.4Double plays-2.1Position-6.0Replacement+13.7
BattingBallparkBaserunningDouble playsPositionReplacement

WAR by season

2.50.8-0.8181920212223242526

Batting

Standard and advanced, by season.

Trend
2026PIT108444107187613596.268.333.445.177.3087.9%21.6%.341+8.41121.3
2025BAL/SD1445441331763358109.281.366.437.156.33010.7%20.0%.352+16.71242.5
2024BAL141494117155934669.264.334.427.163.2829.3%14.0%.332+8.21161.8
2023BAL111368100146051582.289.322.480.191.3404.1%22.3%.341+6.31181.7
2022KC64145321160835.239.290.321.082.3135.5%24.1%.273-4.572-0.2
2021KC832545392901371.225.268.369.144.2775.1%28.0%.275-8.968-0.8
2020KC421322221801837.195.303.301.106.26713.6%28.0%.271-5.765-0.4
2019KC10437064143803999.195.281.369.174.23010.5%26.8%.281-13.070-0.8
2018KC4417039123002045.262.353.597.336.29311.8%26.5%.404+11.81571.4

Platoon splits

How he hits left- and right-handed pitching.

Batting by the hand the pitcher throws with, 2026. Counted from play-by-play, so totals can differ from the box-score season line by a plate appearance or two.
SplitPAABHHRBBSOAVGOBPSLGwOBAK%
vs LHP139128284833.219.273.352.27823.7%
vs RHP30527279142763.290.361.489.37020.7%

Spray chart

Where every ball he put in play landed, 2026.

Loading 306 batted balls…

Contact quality

How hard and at what angle he hits it, over 307 tracked batted balls in 2026. Percentiles are against qualified batters.

Barrel rate
6.2%
19 barrels
Exit velocity
89.3
mph average
Max exit velo
108.1
mph, hardest hit
Hard hit
42.7%
95 mph or better
Sweet spot
36.2%
8–32° launch
Launch angle
13.7°
average
Barrel rate6.2%
Exit velocity89.3 mph
Hard hit rate42.7%
Contact rate77.5%

A barrel is a batted ball whose exit velocity and launch angle have historically produced at least a .500 average and 1.500 slugging — 98 mph within 26–30°, widening to 8–50° by 116 mph. Reconstructed from Statcast's published anchor points, which reproduces them exactly; the interior is within a degree. Sweet spot (8–32°) is an exact definition.

Hot and cold zones

Batting average by pitch location, 2026.

.250.167.143.194.40922 AB.30030 AB.25020 AB.35531 AB.27747 AB.46730 AB.21932 AB.33345 AB.08324 AB
Below averageLeague averageAbove average
Batting average by location of the pitch that ended each plate appearance, catcher's view. The bordered square is the strike zone; the outer band is chase territory. Cells with fewer than 8 at-bats are left grey rather than shown as signal. League average on the same attribution is .243.

Situational hitting

How Ryan O'Hearn hits by base state, outs, score and late-game pressure — each read against his own season line.

Split by
By who is on base when he comes up. The season line is repeated as the baseline.
SituationPAABHHRRBIBBSOAVGOBPSLGwOBA
All situations444——————.268.333.445.341
Bases empty22520150562142.249.329.363.314
Runner on first1059326615925.280.362.495.376
Runners on2191995713701454.286.338.528.370
RISP11410631755529.292.316.557.363

Runners on includes runners in scoring position, which is the convention every reference uses. Counted from play-by-play, 2026.

Head to head

Put Ryan O'Hearn beside up to three others.

Compare — add up to 3 more players
Ryan O'Hearn

Similar players

Nearest 2026 seasons by discipline, contact, power and speed, on rate statistics rather than totals.

How these are computed

wOBA uses linear weights measured from this season's own play-by-play rather than published constants, and wRC+ is park-adjusted against that same league. dbWAR is our own open implementation — not fWAR or bWAR — and the full derivation, including its simplifications, is on the methodology page.