Head to head · 2026 batting
Ryan O'Hearn vs Ryan Vilade
In 2026 Ryan O'Hearn has been worth 0.4 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 | Ryan O'Hearn | Ryan Vilade |
|---|---|---|
| G | 110 | 93 |
| PA | 451 | 278 |
| H | 108 | 59 |
| HR | 18 | 11 |
| RBI | 76 | 43 |
| SB | 1 | 3 |
| AVG | .265 | .241 |
| OBP | .330 | .318 |
| SLG | .440 | .424 |
| OPS | .770 | .742 |
| ISO | .174 | .184 |
| BB% | 7.8% | 9.4% |
| K% | 22.0% | 23.4% |
| wOBA | .338 | .326 |
| wRC+ | 109 | 105 |
| WAR | 1.2 | 0.8 |
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 | Ryan O'Hearn | Ryan Vilade |
|---|---|---|
| G | 843 | 117 |
| PA | 2,928 | 349 |
| H | 668 | 68 |
| 2B | 121 | 8 |
| 3B | 10 | 2 |
| HR | 102 | 12 |
| RBI | 389 | 48 |
| BB | 252 | 31 |
| SO | 646 | 83 |
| SB | 12 | 3 |
| AVG | .254 | .220 |
| SLG | .424 | .375 |
| WAR | 6.4 | 0.1 |
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.

