DataBaseball
2026
Ryan O'Hearn headshot

Players · O · 1B · 2026 regular season

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

Compare with…vs Gunnar Hendersonvs Josh Bellvs Ramón Laureano

dbWAR
6.4
Regular season, 9 season(s)
PA
451
AVG
.265
OBP
.330
SLG
.440
wRC+
109
100 = avg

Ryan O'Hearn is a first baseman for the Pittsburgh Pirates. In 2026 he hit 18 home runs and knocked in 76 RBIs, notching 108 hits across 451 plate appearances in 110 games. His batting average was .265, 8.8% higher than the league average of .244. He reached base at a .330 clip and slugged .440, for an OPS of .770, 7.1% higher than the league mark of .719 — 7th of 18 on his team, and 110th of 465 among MLB batters with 100+ plate appearances. He averaged 89.1 mph off the bat, hit 42.1% of balls in play at 95 mph or better, barrelled 6.1% of them and made contact on 77.5% of his swings. Adjusted for his ballpark and league, his 109 wRC+ puts his offence 9% above average. That comes to 1.2 dbWAR — +7.3 runs with the bat, -1.1 for the ballpark, -0.4 on the bases, -1.8 on double plays, -6.1 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 regular season.

wRC+109
wOBA.338
ISO.174
BB%7.8%
WAR1.2

How the WAR is built

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

Batting+7.3Ballpark-1.1Baserunning-0.4Double plays-1.8Position-6.1Replacement+14.0
BattingBallparkBaserunningDouble playsPositionReplacement

WAR by season

2.50.8-0.8181920212223242526

Batting Regular season

Standard and advanced, by season. Regular-season games only — postseason games are listed separately below.

Trend
2026PIT110451108187613599.265.330.440.174.3077.8%22.0%.338+7.31091.2
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

Separate from the regular season

Postseason Postseason

Wild Card through World Series. These games are counted on their own: none of them are in the regular-season tables, career totals, league context, leaderboards or dbWAR on this page.

Postseason batting

Postseason Ryan O'Hearn's postseason batting, by October and round. Not part of any regular-season figure on this page.
SeasonTeamRoundGPAABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2025 PostSDWild Card3119020000110.222.364.222.586
2024 PostBALWild Card232010000100.500.667.5001.167
2023 PostBALALDS355010000010.200.200.200.400
CareerPostseason total · 3 Octobers81916040000220.250.368.250.618

Box-score and rate statistics only. wOBA, wRC+, FIP and dbWAR are measured against a full league season, and a postseason is a few teams playing each other for a month, so they are not computed for October.

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 LHP140129284833.217.271.349.27623.6%
vs RHP31127880142766.288.357.482.36621.2%

Spray chart

Where every ball he put in play landed, 2026.

Loading 310 batted balls…

Contact quality

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

Barrel rate
6.1%
19 barrels
Exit velocity
89.1
mph average
Max exit velo
108.1
mph, hardest hit
Hard hit
42.1%
95 mph or better
Sweet spot
35.7%
8–32° launch
Launch angle
13.7°
average
Barrel rate6.1%
Exit velocity89.1 mph
Hard hit rate42.1%
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.154.140.194.39123 AB.30030 AB.25020 AB.36433 AB.27747 AB.46730 AB.21233 AB.32646 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 situations451——————.265.330.440.338
Bases empty22920550562145.244.323.356.309
Runner on first1089627615925.281.361.490.374
Runners on2222025813701454.287.338.525.368
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.

Compare Ryan O'Hearn with…

Side by side with up to three others.

Compare with… 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.