Head to head · 2026 batting
Steven Kwan vs Ryan O'Hearn
So far in 2026 Steven Kwan has been worth 1.3 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 | Steven Kwan | Ryan O'Hearn |
|---|---|---|
| G | 144 | 103 |
| PA | 609 | 425 |
| H | 143 | 101 |
| HR | 3 | 18 |
| RBI | 31 | 73 |
| SB | 10 | 1 |
| AVG | .277 | .264 |
| OBP | .376 | .329 |
| SLG | .342 | .444 |
| OPS | .718 | .773 |
| ISO | .066 | .180 |
| BB% | 13.1% | 7.8% |
| K% | 9.9% | 21.6% |
| wOBA | .332 | .339 |
| wRC+ | 108 | 109 |
| WAR | 2.4 | 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 | Steven Kwan | Ryan O'Hearn |
|---|---|---|
| G | 726 | 836 |
| PA | 3,198 | 2,902 |
| H | 792 | 661 |
| 2B | 127 | 119 |
| 3B | 20 | 10 |
| HR | 39 | 102 |
| RBI | 237 | 386 |
| BB | 320 | 250 |
| SO | 306 | 639 |
| SB | 83 | 12 |
| AVG | .281 | .254 |
| SLG | .381 | .424 |
| WAR | 12.6 | 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.

