
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, USA
- MLB debut
- July 31, 2018
- Drafted
- 2014, round 8
- College
- Sam Houston State
- Salary, 2026
- $14.5M
- dbWAR
- 4.8 3 season(s)
- PA
- 398
- AVG
- .270
- OBP
- .334
- SLG
- .454
- wRC+
- 114 100 = avg
Ryan O'Hearn is a first baseman for the Pittsburgh Pirates. In 2026 he hit 17 home runs and knocked in 69 RBIs, notching 97 hits across 398 plate appearances in 96 games. His batting average was .270, 10.9% higher than the league average of .244. He reached base at a .334 clip and slugged .454, for an OPS of .788, 9.6% higher than the league mark of .719 — 7th of 15 on his team, and 89th of 417 among MLB batters with 100+ plate appearances. He averaged 89.3 mph off the bat, hit 43.5% of balls in play at 95 mph or better, barrelled 6.9% of them and made contact on 78.0% of his swings. Adjusted for his ballpark and league, his 114 wRC+ puts his offence 14% above average. That comes to 1.3 dbWAR — +8.4 runs with the bat, -0.4 on the bases, -7.9 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.
How the WAR is built
Runs above replacement, 2026. These four terms sum to +13.4 runs, divided by runs-per-win to give WAR.
WAR by season
Platoon splits
How he hits left- and right-handed pitching.
| Split | PA | AB | H | HR | BB | SO | AVG | OBP | SLG | wOBA | K% |
|---|---|---|---|---|---|---|---|---|---|---|---|
| vs LHP | 121 | 112 | 25 | 4 | 6 | 28 | .223 | .273 | .357 | .279 | 23.1% |
| vs RHP | 277 | 247 | 72 | 13 | 25 | 58 | .291 | .361 | .498 | .372 | 20.9% |
Spray chart
Where every ball he put in play landed, 2026.
Loading 275 batted balls…
Contact quality
How hard and at what angle he hits it, over 276 tracked batted balls in 2026. Percentiles are against qualified batters.
- Barrel rate
- 6.9% 19 barrels
- Exit velocity
- 89.3 mph average
- Max exit velo
- 108.1 mph, hardest hit
- Hard hit
- 43.5% 95 mph or better
- Sweet spot
- 36.6% 8–32° launch
- Launch angle
- 14.0° average
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.
Situational hitting
How Ryan O'Hearn hits by base state, outs, score and late-game pressure — each read against his own season line.
| Situation | PA | AB | H | HR | RBI | BB | SO | AVG | OBP | SLG | wOBA |
|---|---|---|---|---|---|---|---|---|---|---|---|
| All situations | 398 | — | — | — | — | — | — | .270 | .334 | .454 | .344 |
| Bases empty | 203 | 183 | 45 | 5 | 6 | 18 | 40 | .246 | .320 | .361 | .308 |
| Runner on first | 93 | 81 | 24 | 6 | 14 | 9 | 22 | .296 | .387 | .543 | .404 |
| Runners on | 195 | 176 | 52 | 12 | 63 | 13 | 46 | .295 | .349 | .551 | .382 |
| RISP | 102 | 95 | 28 | 6 | 49 | 4 | 24 | .295 | .314 | .558 | .361 |
Runners on includes runners in scoring position, which is the convention every reference uses. Counted from play-by-play, 2026.
Batting
Standard and advanced, by season.
| Trend | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | 96 | 398 | 97 | 17 | 69 | 1 | 31 | 86 | .270 | .334 | .454 | .184 | .309 | 7.8% | 21.6% | .344 | +8.4 | 114 | 1.3 | |
| 2025 | 144 | 544 | 133 | 17 | 63 | 3 | 58 | 109 | .281 | .366 | .437 | .156 | .330 | 10.7% | 20.0% | .352 | +16.7 | 124 | 2.2 | |
| 2024 | 141 | 494 | 117 | 15 | 59 | 3 | 46 | 69 | .264 | .334 | .427 | .163 | .282 | 9.3% | 14.0% | .332 | +8.2 | 116 | 1.3 |
Head to head
Put Ryan O'Hearn beside up to three others.
Similar players
Nearest 2026 seasons by discipline, contact, power and speed, on rate statistics rather than totals.
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.



