
Ryan O'Hearn
1B / OF / DH · PIT
MLBAM 656811
Seasons
| Yr | PA | H | HR | AVG | xwOBA | Pts | PPG |
|---|---|---|---|---|---|---|---|
| 2026 | 80 | 21 | 3 | 0.313 | 0.403 | 53 | 2.41 |
| 2025 | 547 | 133 | 17 | 0.279 | 0.346 | 307 | 2.03 |
| 2024 | 494 | 117 | 15 | 0.264 | 0.357 | 304 | 2.08 |
| 2023 | 369 | 100 | 14 | 0.288 | 0.329 | 232 | 1.92 |
| 2022 | 145 | 32 | 1 | 0.239 | 0.336 | 75 | 1.00 |
| 2021 | 255 | 53 | 9 | 0.224 | 0.297 | 99 | 1.08 |
| 2020 | 132 | 22 | 2 | 0.195 | 0.327 | 40 | 0.95 |
| 2019 | 370 | 64 | 14 | 0.195 | 0.312 | 133 | 1.22 |
| 2018 | 171 | 39 | 12 | 0.260 | 0.347 | 120 | 2.61 |
2025 MLB Percentile Rankings
Batting
xwOBA
66
0.346
xBA
69
0.265
xSLG
42
0.425
Avg Exit Velo
37
89.4
Median Exit Velo
0
—
90th % Exit Velo
0
—
Barrel %
28
7.6
Hard-Hit %
34
42.3
LA Sweet-Spot %
85
39.6
Bat Speed
40
69.9
Median Bat Speed
0
—
90th % Bat Speed
0
—
Chase %
48
26.9
Whiff %
61
20.7
K %
51
19.9
BB %
72
10.6
Swing Decisions
Plate Discipline · Decision+
Expected-run-value of every swing-or-take decision, against a league-average batter’s optimum. 100 = avg · 110 = 1 SD better.
Decision+
95
≈ 32th pctl
Chase cost
-41.8r
373 swings @ bad pitch
Passive cost
-17.0r
317 takes @ hittable pitch
Swing rate
46.7%
2,184 pitches seen
Runs per 100
-2.69
lg avg -2.53
Count
View
Judgment — swing% vs optimal
−35%−15%0+15%+35%
- Red cells — swings more than an optimal batter would here (chasing).
- Blue cells — swings less than optimal (too passive).
- Number in cell: swing%-delta vs optimal. Top-right: pitches seen.
Total pitches shown: 1,000