Head to head · 2026 batting
Gabriel Moreno vs Ryan O'Hearn
So far in 2026 Gabriel Moreno has been worth 3.9 more wins. Both lines are computed from play-by-play on the same constants, so they are measured the same way rather than quoted from two sources.
| Statistic | Gabriel Moreno | Ryan O'Hearn |
|---|---|---|
| G | 124 | 103 |
| PA | 522 | 425 |
| H | 137 | 101 |
| HR | 15 | 18 |
| RBI | 75 | 73 |
| SB | 6 | 1 |
| AVG | .304 | .264 |
| OBP | .383 | .329 |
| SLG | .480 | .444 |
| OPS | .863 | .773 |
| ISO | .176 | .180 |
| BB% | 11.1% | 7.8% |
| K% | 14.9% | 21.6% |
| wOBA | .378 | .339 |
| wRC+ | 141 | 109 |
| WAR | 5.0 | 1.1 |
Career
Totalled over the seasons published here, which is not the same as a whole career: a player who debuted before 2015 begins at 2015, not at his real first game.
| Statistic | Gabriel Moreno | Ryan O'Hearn |
|---|---|---|
| G | 429 | 836 |
| PA | 1,635 | 2,902 |
| H | 416 | 661 |
| 2B | 82 | 119 |
| 3B | 4 | 10 |
| HR | 37 | 102 |
| RBI | 217 | 386 |
| BB | 161 | 250 |
| SO | 266 | 639 |
| SB | 17 | 12 |
| AVG | .288 | .254 |
| SLG | .428 | .424 |
| WAR | 11.4 | 6.3 |
More head to heads
The same seasons, measured against somebody else.
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. To put these two beside a third, the comparison page takes up to four.

