Ryan
O'Hearn
RFAge : 33Bats : L
#29
Ryan O'Hearn
#29RFPittsburgh Pirates
Height : 6' 2" · Weight : 100 kg · Bats : L · Throws : L · MLB debut : 2018-07-31
Born in : Dunedin, FL, USA
MLB record
| Year | Team | PJ | AB | H | HR | PP | MOY | OPS |
|---|---|---|---|---|---|---|---|---|
| 2026 | Pittsburgh Pirates | 110 | 407 | 108 | 18 | 76 | .265 | .770 |
| 2025 | 144 | 474 | 133 | 17 | 63 | .281 | .803 | |
| 2025 | San Diego Padres | 50 | 163 | 45 | 4 | 20 | .276 | .737 |
| 2025 | Baltimore Orioles | 94 | 311 | 88 | 13 | 43 | .283 | .837 |
| 2024 | Baltimore Orioles | 142 | 443 | 117 | 15 | 59 | .264 | .761 |
| 2023 | Baltimore Orioles | 112 | 346 | 100 | 14 | 60 | .289 | .802 |
| 2022 | Kansas City Royals | 67 | 134 | 32 | 1 | 16 | .239 | .611 |
| 2021 | Kansas City Royals | 84 | 236 | 53 | 9 | 29 | .225 | .637 |
| 2020 | Kansas City Royals | 42 | 113 | 22 | 2 | 18 | .195 | .604 |
| 2019 | Kansas City Royals | 105 | 328 | 64 | 14 | 38 | .195 | .650 |
| 2018 | Kansas City Royals | 44 | 149 | 39 | 12 | 30 | .262 | .950 |
| Career totals | 850 | 2630 | 668 | 102 | 389 | .254 | .747 | |
ContractPittsburgh Pirates payroll →
- Type
- Free Agent
- Length
- 2 yrs · 2026–2027
- Total value
- 29.0 M$
- AAV
- 14.50 M$
2026
14.00 M$
Guaranteed
2027
15.00 M$
Guaranteed
Advanced stats, 2026HitterMLB stats →
wRC+
109
wOBA
.336
xwOBA
.314
OPS
.770
AVG
.265
OBP
.330
HR
18
RBI
76
SB
1
PA
451
Stats: MLB (statsapi) and Baseball Savant.
2027 projectionMLB trends →
Projected WAR
0.6
Home runs
18
2026 WAR
0.6
This season's pace, over the average of the last two workloads, adjusted for next year's age.
Trend
↓ Slight decline (-19)
- 20231.6 WAR · 2.6 per full season
- 20241.6 WAR · 1.9 per full season
- 20253.0 WAR · 3.3 per full season
- 20260.6 WAR · 0.8 per full season
Outlook, age included
-34 · 32 y.o. · the age when performance usually declines
It is only a projection. It knows nothing about injuries, trades or role changes.
Player ratings, 2026All ratings →
Ratings from 0 to 100, computed from Statcast and MLB stats over four seasons, never by hand. 75 = established regular, 87 = 90th percentile, 95+ = elite.
OV · Overall
74
Established regular
- CON
- Contact
- 79
- POW
- Power
- 74
- EYE
- Eye
- 75
- SPD
- Speed
- 69
- FLD
- Fielding
- 73
- DUR
- Durability
- 76
- EX
- Experience
- 78
Why these ratings?Hide details
- CON — Contact : Strikeouts avoided, xBA, squared-up contact
- POW — Power : Barrels, exit velocity, home runs, xSLG
- EYE — Eye : Walks and strikeouts
- SPD — Speed : Sprint speed (Statcast), baserunning
- FLD — Fielding : Outs above average, WAR fielding runs
- DUR — Durability : Games played over several seasons
- EX — Experience : Seasons in the majors
WAR and PAL Rating, 2026How we rate →
WAR is fWAR (FanGraphs' version, distributed through MLB's API): wins added above a replacement player. PAL Rating scores performance from 0 to 100 against regulars in the same role (50 = median).
WAR
0.6
#207 of 267 regular hitters
PAL Rating
35 / 100
#173 of 267 regular hitters
Value Rating
13 / 100
Surplus $-8.7M · salary $14.6MPAL: dimensions
WAR, in runs
StatcastStatcast leaderboards →
MLB's tracking of every ball, 2026 season. The percentile ranks the player among regulars in the role: 90th means better than 90% of them.
Avg exit velocity
89.1 mi/h
48th percentile
Max exit velocity
108.1 mi/h
11th percentile
Barrels
6.8 %
40th percentile
Hard-hit
42.1 %
59th percentile
xBA
.247
49th percentile
Bat speed
70.7 mi/h
31th percentile
Sprint speed
26.7 pi/s
32th percentile
Outs above average
-3
28th percentile
| Season | Team | WAR | PAL | OV | Avg exit velocity | Max exit velocity | Barrels | Hard-hit | xBA |
|---|---|---|---|---|---|---|---|---|---|
| 2026 | PIT | 0.6 | 35 | 74 | 89.1 | 108.1 | 6.8 | 42.1 | .247 |
| 2025 | SD | 3.0 | 81 | 82 | 89.4 | 109.4 | 7.6 | 42.5 | .266 |
| 2024 | BAL | 1.6 | 67 | 81 | 89.6 | 108.8 | 6.9 | 40.1 | .269 |
| 2023 | BAL | 1.6 | 63 | 75 | 91.9 | 109.7 | 10.1 | 51.5 | .254 |
| 2022 | KC | -0.4 | 22 | 64 | 92.1 | 110.5 | 7.0 | 48.0 | .271 |
| 2021 | KC | -0.6 | 11 | 64 | 90.8 | 110.6 | 8.3 | 45.2 | .230 |
Game log, 2026
| Date | Opponent | AB | H | HR | RBI | BB | SO | AVG |
|---|---|---|---|---|---|---|---|---|
| Sep 27 | @ DET | 3 | 0 | 0 | 0 | 0 | 2 | .265 |
| Sep 26 | @ DET | 4 | 1 | 0 | 0 | 0 | 1 | .267 |
| Sep 25 | @ DET | 4 | 2 | 0 | 2 | 0 | 1 | .268 |
| Sep 24 | vs STL | 3 | 0 | 0 | 0 | 1 | 1 | .265 |
| Sep 23 | vs STL | 3 | 2 | 0 | 0 | 0 | 0 | .267 |
| Sep 22 | vs STL | 4 | 1 | 0 | 1 | 0 | 1 | .264 |
| Sep 20 | vs KC | 3 | 1 | 0 | 0 | 1 | 1 | .264 |
| Sep 19 | vs KC | 4 | 0 | 0 | 0 | 0 | 2 | .264 |
| Sep 18 | vs KC | 3 | 0 | 0 | 1 | 1 | 1 | .266 |
| Sep 16 | vs MIL | 4 | 2 | 0 | 0 | 0 | 0 | .269 |
