← Pittsburgh Pirates
Ryan O'Hearn
Pittsburgh Pirates
RF · #29 · Bats L · Throws L · 6'2" · 220 lb · Age 33 · 9 yrs in MLB
2026 grade
45.5
- Runs above average
- +6.9
- AVG / OBP / SLG
- .265/.330/.440
- HR · SB
- 18 · 1
- Rank
- 451 PA: not qualified
What the grade is made of
Runs each part adds or takes away against an average hitter in the same plate appearances: his count against what an average hitter would have had. The grade then counts how much he plays: these runs per game his team has played.
- Home runs18 vs 14 avg+5.9
- Singles73 vs 64 avg+4.0
- Triples0 vs 2 avg−1.7
- Walks34 vs 39 avg−1.6
- Outs, strikeouts included302 vs 308 avg+1.5
- Doubles17 vs 18 avg−1.1
- Parks played in−0.6
- Hit by pitch6 vs 5 avg+0.3
- Stolen bases1+0.2
2026 game log: hitting
Game grades need 3 plate appearances.
| Game | Result | AB | R | H | RBI | HR | BB | K | SB | Grade |
|---|---|---|---|---|---|---|---|---|---|---|
| Sun, Sep 27@DET | W 4-2 | 3 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 16.9 |
| Sat, Sep 26@DET | L 3-4 | 4 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 36.7 |
| Fri, Sep 25@DET | L 7-8 | 4 | 2 | 2 | 2 | 0 | 0 | 1 | 0 | 70.0 |
| Thu, Sep 24vsSTL | W 2-1 | 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 31.2 |
| Wed, Sep 23vsSTL | L 1-5 | 3 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 90.6 |
| Tue, Sep 22vsSTL | W 2-0 | 4 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 38.8 |
| Sun, Sep 20vsKC | W 4-3 | 3 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 65.1 |
| Sat, Sep 19vsKC | W 6-5 | 4 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 6.2 |
| Fri, Sep 18vsKC | W 8-5 | 3 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 50.6 |
| Wed, Sep 16vsMIL | L 4-5 | 4 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 70.5 |
| Tue, Sep 15vsMIL | L 1-5 | 3 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 65.1 |
| Sun, Sep 13@CHC | W 4-3 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 14.2 |
| Sat, Sep 12@CHC | L 3-4 | 4 | 1 | 1 | 3 | 1 | 0 | 1 | 0 | 78.7 |
| Fri, Sep 11@CHC | L 2-12 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | – |
| Fri, Jul 31@CIN | L 7-8 | 4 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 57.6 |
| Thu, Jul 30@CIN | L 2-3 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 4.8 |
| Wed, Jul 29vsARI | L 0-3 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.2 |
| Tue, Jul 28vsARI | L 7-8 | 6 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 73.1 |
| Mon, Jul 27vsARI | W 3-2 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.7 |
| Sun, Jul 26vsCHC | W 8-7 | 2 | 2 | 1 | 4 | 1 | 2 | 0 | 0 | 96.1 |
| Sat, Jul 25vsCHC | L 0-11 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 52.0 |
| Fri, Jul 24vsCHC | L 2-3 | 4 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 70.4 |
| Wed, Jul 22@NYY | L 0-2 | 4 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 10.6 |
| Wed, Jul 22@NYY | W 5-3 | 4 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 10.6 |
| Mon, Jul 20@NYY | L 5-8 | 4 | 1 | 2 | 0 | 0 | 0 | 2 | 0 | 71.5 |
| Sun, Jul 19@CLE | W 7-1 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 24.8 |
| Sat, Jul 18@CLE | L 3-5 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 31.7 |
| Sat, Jul 18@CLE | W 7-1 | 3 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 7.8 |
| Sun, Jul 12vsMIL | W 14-5 | 2 | 2 | 2 | 2 | 0 | 1 | 0 | 0 | 96.7 |
| Sat, Jul 11vsMIL | W 3-2 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 34.4 |
| Sat, Jul 11vsMIL | W 7-6 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 34.4 |
| Thu, Jul 9vsATL | L 5-10 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 5.3 |
| Wed, Jul 8vsATL | L 0-3 | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 38.2 |
| Tue, Jul 7vsATL | W 12-4 | 5 | 3 | 4 | 10 | 3 | 0 | 0 | 0 | 99.9 |
| Sun, Jul 5@WSH | W 11-5 | 2 | 2 | 1 | 0 | 0 | 3 | 0 | 0 | 90.0 |
| Sat, Jul 4@WSH | W 7-1 | 4 | 1 | 2 | 0 | 0 | 0 | 1 | 0 | 70.6 |
| Fri, Jul 3@WSH | L 5-9 | 5 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.9 |
| Thu, Jul 2@PHI | W 6-1 | 5 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 41.5 |
| Wed, Jul 1@PHI | L 6-10 | 5 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 26.5 |
| Tue, Jun 30@PHI | L 0-8 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | – |
| Mon, Jun 29@PHI | W 11-7 | 5 | 2 | 2 | 1 | 0 | 0 | 1 | 0 | 61.0 |
| Sun, Jun 28vsCIN | W 9-4 | 5 | 3 | 3 | 4 | 2 | 0 | 1 | 0 | 99.3 |
| Sat, Jun 27vsCIN | L 7-9 | 5 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 27.0 |
| Fri, Jun 26vsCIN | L 4-6 | 3 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 31.0 |
| Thu, Jun 25vsSEA | W 5-1 | 4 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 38.8 |
| Wed, Jun 24vsSEA | W 11-1 | 5 | 2 | 4 | 3 | 0 | 0 | 0 | 0 | 98.9 |
| Tue, Jun 23vsSEA | L 2-3 | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 38.8 |
| Sun, Jun 21@COL | W 8-6 | 4 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 2.4 |
| Sat, Jun 20@COL | L 1-2 | 4 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 2.4 |
| Fri, Jun 19@COL | L 3-4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.4 |
| Wed, Jun 17@ATH | W 12-4 | 5 | 1 | 3 | 6 | 1 | 0 | 0 | 0 | 97.7 |
| Tue, Jun 16@ATH | W 6-5 | 5 | 1 | 3 | 0 | 0 | 0 | 1 | 0 | 89.1 |
| Mon, Jun 15@ATH | L 2-11 | 4 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 38.2 |
| Sun, Jun 14vsMIA | L 2-4 | 5 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.9 |
| Sat, Jun 13vsMIA | W 3-2 | 4 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 70.6 |
| Fri, Jun 12vsMIA | L 3-8 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 6.5 |
| Thu, Jun 11vsLAD | L 6-8 | 3 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 52.1 |
| Wed, Jun 10vsLAD | W 9-8 | 5 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 27.1 |
| Tue, Jun 9vsLAD | L 3-12 | 4 | 1 | 1 | 1 | 1 | 0 | 3 | 0 | 77.1 |
| Sun, Jun 7@ATL | L 2-3 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 11.9 |
| Sat, Jun 6@ATL | L 3-6 | 4 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 43.3 |
| Fri, Jun 5@ATL | L 3-6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | – |
| Thu, Jun 4@HOU | W 5-1 | 4 | 1 | 2 | 3 | 1 | 0 | 1 | 0 | 92.5 |
| Wed, Jun 3@HOU | L 9-11 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | – |
| Tue, Jun 2@HOU | W 10-6 | 4 | 1 | 1 | 0 | 0 | 1 | 2 | 0 | 59.0 |
| Sun, May 31vsMIN | W 9-3 | 4 | 1 | 2 | 1 | 1 | 0 | 1 | 0 | 92.0 |
| Sat, May 16vsPHI | L 0-6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | – |
| Fri, May 15vsPHI | L 9-11 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 25.1 |
| Thu, May 14vsCOL | W 7-2 | 4 | 2 | 3 | 2 | 1 | 0 | 0 | 0 | 97.7 |
| Wed, May 13vsCOL | L 4-10 | 4 | 2 | 2 | 1 | 1 | 0 | 0 | 0 | 95.0 |
| Tue, May 12vsCOL | W 3-1 | 4 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 9.6 |
| Sun, May 10@SF | L 6-7 | 6 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 18.6 |
| Sat, May 9@SF | W 13-3 | 5 | 1 | 2 | 1 | 0 | 1 | 0 | 0 | 74.4 |
| Fri, May 8@SF | L 2-5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | – |
| Thu, May 7@ARI | W 4-2 | 4 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 40.1 |
| Wed, May 6@ARI | W 1-0 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 31.7 |
| Tue, May 5@ARI | L 0-9 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 19.4 |
| Sun, May 3vsCIN | W 1-0 | 3 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 18.6 |
| Sat, May 2vsCIN | W 17-7 | 4 | 3 | 2 | 3 | 0 | 1 | 2 | 0 | 87.2 |
| Fri, May 1vsCIN | W 9-1 | 5 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 61.3 |
| Thu, Apr 30vsSTL | L 5-10 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 24.6 |
| Wed, Apr 29vsSTL | L 4-5 | 5 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 27.1 |
| Tue, Apr 28vsSTL | L 7-11 | 4 | 2 | 2 | 3 | 1 | 0 | 1 | 0 | 91.8 |
| Mon, Apr 27vsSTL | L 2-4 | 3 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 65.3 |
| Sun, Apr 26@MIL | L 0-5 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 11.9 |
| Sat, Apr 25@MIL | W 6-3 | 4 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 59.3 |
| Fri, Apr 24@MIL | W 6-0 | 4 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 81.3 |
| Thu, Apr 23@TEX | L 1-6 | 3 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 67.6 |
| Wed, Apr 22@TEX | W 8-4 | 3 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 67.8 |
| Tue, Apr 21@TEX | L 1-5 | 4 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 46.1 |
| Sat, Apr 18vsTB | L 7-8 | 3 | 2 | 2 | 2 | 1 | 1 | 1 | 0 | 97.0 |
| Fri, Apr 17vsTB | W 5-1 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 6.4 |
| Thu, Apr 16vsWSH | L 7-8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | – |
| Wed, Apr 15vsWSH | W 2-0 | 4 | 1 | 3 | 0 | 0 | 0 | 1 | 1 | 91.3 |
| Tue, Apr 14vsWSH | L 4-5 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 31.1 |
| Mon, Apr 13vsWSH | W 16-5 | 5 | 1 | 1 | 1 | 0 | 0 | 3 | 0 | 43.3 |
| Sun, Apr 12@CHC | L 6-7 | 4 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 72.8 |
| Sat, Apr 11@CHC | W 4-3 | 3 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 25.8 |
| Fri, Apr 10@CHC | W 2-0 | 4 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 45.3 |
| Wed, Apr 8vsSD | L 2-8 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.4 |
| Tue, Apr 7vsSD | W 7-1 | 3 | 1 | 2 | 0 | 0 | 1 | 0 | 0 | 86.7 |
| Mon, Apr 6vsSD | L 0-5 | 3 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 75.0 |
| Sun, Apr 5vsBAL | W 8-2 | 5 | 1 | 2 | 4 | 1 | 0 | 1 | 0 | 92.5 |
| Sat, Apr 4vsBAL | W 3-2 | 4 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 39.0 |
| Fri, Apr 3vsBAL | W 5-4 | 2 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 31.1 |
| Tue, Mar 31@CIN | W 8-3 | 3 | 1 | 1 | 3 | 1 | 1 | 0 | 0 | 89.8 |
| Mon, Mar 30@CIN | L 0-2 | 2 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 83.7 |
| Sun, Mar 29@NYM | W 4-3 | 5 | 0 | 3 | 2 | 0 | 0 | 2 | 0 | 85.0 |
| Sat, Mar 28@NYM | L 2-4 | 5 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 47.1 |
| Thu, Mar 26@NYM | L 7-11 | 4 | 2 | 2 | 1 | 1 | 0 | 1 | 0 | 92.6 |
Scores, box scores and play-by-play from ESPN. The run values and park factors behind the grades were worked out from Retrosheet's play-by-play: the information used here was obtained free of charge from and is copyrighted by Retrosheet. Interested parties may contact Retrosheet at www.retrosheet.org.