Ryan O'Hearn
- Winter Plan starts at 1B · 474 PA · 1.2 WAR in the role
- Injured list 2026: Left quad strain (Aug 1–Sep 11)
- PNC Park Pittsburgh’s home park: +1.7 runs per 600 PA against an average park (+0.14 wins over 474 PA; his WAR leaves this out); home runs ×0.98 (×0.99 for left-handed hitters as a group). Park Fit →
Development · trends & plan
Tracked levels only. Monthly values; gaps mark the offseason. The number beside each line is its last month, with that month’s sample (faded under 50 PA or 150 pitches), not the season.
Plan for 2027
- 1 Diagnose low ask Find the cause of the drop in bat speed
Clear declines: bat speed 71.1 mph → 70.0 mph (2025 → 2026, MLB). Check video, medical and pitch shape before anyone sets a target.
Development Tracker - 2 Health note low ask Medical note: check in before the winter program
Left quad strain (10-day IL, Aug 1–Sep 11, 2026). He came back and played 13 games after it, so it doesn’t hold up the rest of the plan.
Health & Workload
Each goal is checked when his sample can tell the target from noise: the 2027 All-Star break if it can by then, else season’s end or the sample it needs; if no single season can, it’s a lean. Coach card
Trends · MLB
Clear changes
- ▼ bat speed 71.1 mph → 70.0 mph −1.1 mph 2025 → 2026 · MLB
Hitting · 2026 percentiles
vs. MLB hitters with 300+ PA · 450 PA
Platoon splits · swing path
By pitcher handedness
| vs | PA | wOBA | xwOBA | K% | BB% | Chase | Decisions | Contact |
|---|---|---|---|---|---|---|---|---|
| LHP | 140 | .274 | .280 | 24% | 6% | 33% | −1.22 | −0.48 |
| RHP | 310 | .370 | .328 | 21% | 8% | 31% | −0.23 | +0.59 |
- Attack angle
- 11.9° (46% in 5–20°)
- Attack direction
- −0.6°
- Swing length
- 7.1 ft
- Fast-swing rate
- 8%
- Pull-air %
- 19.4%
- Hard-hit %
- 41.9%
- Slash · wRC+
- .265/.330/.440 · 109
Zone map · 2026
Where he does damage, and where to pitch him
Does the most damage middle-in (+4.3 vs. league per 100; 2.0 standard errors on 83 pitches, inside the noise for the best of nine cells).
Weakest down and in (−4.2), but only 1.9 standard errors from average on 69 pitches: no in-zone spot to attack yet.
Runs per 100 pitches vs. an average LHB: better · worse. Catcher’s view · 1,592 pitches · faded cells are within one standard error of average. A spot is called only when it is farther from average than the best or worst of nine average cells gets 95% of the time (set from the league’s own pitches: about 3 standard errors above, 2 below).
Most similar hitters
Swings like O'Hearn: bat path, contact quality and approach
| Similarity | Player | xwOBA | ’26 WAR | ’27 proj | 2027 |
|---|---|---|---|---|---|
| 72 | Vaughn Grissom LAA · ’01 | .309 | 0.2 | 0.1 | — |
| 66 | Justin Foscue TEX · ’99 | .325 | 1.7 | 1.0 | Pre-arb |
| 65 | Andruw Monasterio BOS · ’97 | .289 | −0.8 | −0.2 | Arb |
| 64 | Mike Yastrzemski ATL · ’90 | .309 | 0.6 | 0.4 | Signed $10.0M |
| 64 | J.T. Realmuto PHI · ’91 | .316 | 0.7 | 0.5 | Signed $15.0M |
Nearest neighbours on bat speed, swing length, attack angle, squared-up and blast rates, EV90, barrels, pull-air, chase, zone contact, K% and BB%. 2026 regulars only.
Fielding
2027 rating at every position he can play · OAA by position · range by direction · tools. Same engine as the Fielding Lab and the Winter Plan.
| Season | Pos | OAA | Range | Arm, DP | Runs | Batters |
|---|---|---|---|---|---|---|
| 2026 | RF | −4 | −3 | −0.2 | −3.2 | 1,402 |
| 2026 | 1B | +1 | +1 | +0.6 | +1.6 | 1,479 |
| 2025 | LF | 0 | 0 | 0.0 | 0.0 | 86 |
| 2025 | RF | −1 | −1 | +0.2 | −0.8 | 650 |
| 2025 | 1B | +7 | +5 | +0.9 | +5.9 | 2,288 |
| 2024 | LF | 0 | 0 | 0.0 | 0.0 | 192 |
| 2024 | RF | 0 | 0 | 0.0 | 0.0 | 498 |
| 2024 | 1B | −2 | −1 | −0.6 | −1.6 | 1,723 |
| 2023 | LF | 0 | 0 | −0.1 | −0.1 | 97 |
| 2023 | RF | 0 | 0 | −0.3 | −0.3 | 537 |
| 2023 | 1B | +4 | +3 | −3.3 | −0.3 | 2,190 |
Runs = range plus his arm and double-play runs spread over his positions by outs (Fielding Run Value, from 2023): what the rating counts.
At 1B in 2026, the biggest loss came in (charging) (−4 outs): a coaching target.
Tools (percentile; arm among RFs)| Play | Made | Chances | Rate |
|---|---|---|---|
| ★★★★★ | 1 | 4 | 25% |
| ★★★★ | 0 | 2 | 0% |
| ★★★ | 0 | 1 | 0% |
| ★★ | 6 | 9 | 67% |
| ★ | 13 | 15 | 87% |
| Season | Zone | Balls | Outs vs. exp. |
|---|---|---|---|
| 2026 | RF | 141 | +4.1 |
| 2026 | 1B | 98 | +1.6 |
| 2025 | RF | 64 | −3.9 |
| 2025 | 1B | 153 | +0.7 |
| 2024 | RF | 50 | −0.8 |
| 2024 | 1B | 105 | −5.4 |
The zone rating counts every ball hit to his part of the field while he played there, his club’s positioning included; Savant OAA uses his actual starting spot and is the better individual grade. They agree best in the outfield. See the model card.
Contract & projection
Club control (RosterResource) · Keystone projected WAR
Minor leagues
MLB Stats API · public box-score data
| SeasonLevel | Level | Team | Age | G | PA / IP | PA / IP ·Line |
|---|---|---|---|---|---|---|
| 2026AAA | AAA | Indianapolis Indians | 32 | 2 | 7 PA | 7 PA · .167/.286/.333 · 0 HR · 28.6% K · 14.3% BB |
ABS challenges · 2026
Baseball Savant