wOBA is on-base percentage that gives every outcome its own run value
wOBA (weighted On-Base Average) multiplies walks, hit-by-pitches, singles, doubles, triples and home runs by different run values (weights), adds them up, and divides by at bats + walks − intentional walks + sacrifice flies + hit-by-pitches. On-base percentage counts a walk and a home run as the same single trip to base. wOBA does not: with 2026 MLB weights, one home run is worth 2.94 walks or 2.30 singles. The scale is set so that league-average wOBA lands almost exactly on league OBP, so you can read it the same way you read OBP.
Enter Yordan Alvarez's 2026 line for Houston (567 at bats, 179 hits, 34 doubles, 1 triple, 42 home runs, 109 walks, 33 intentional, 11 hit-by-pitches, 5 sac flies) and the result is a .428 wOBA. That is .112 above the league average of .316 and the highest among the 135 qualified MLB hitters. Over the same 692 plate appearances, he created 62.9 more runs than an average hitter would have (wRAA +62.9).
Why look at wOBA
Batting average, OBP and slugging each show only one side of a hitter. wOBA puts getting on base and hitting for power on one scale, in proportion to what each is actually worth in runs. It helps most in cases like these.
- Separating two hitters with the same OBP: in 2026, Hunter Goodman (COL) and Masyn Winn (STL) had OBPs of .310 and .308. Goodman hit 41 home runs and has a .355 wOBA; Winn hit for little power and has a .283. By OBP they ranked close together; by wOBA they are 72 points apart. The same split shows up in the KBO, where Sam Hilliard (KT, .374 OBP) and Hong Chang Ki (LG, .375) finished at .426 and .327, moving from 21st and 17th in OBP to 4th and 41st in wOBA.
- Getting the balance right, which OPS does not: OPS adds OBP and slugging 1 : 1, although a point of OBP is worth more in runs than a point of slugging. wOBA values each event separately, so it has no such imbalance.
- Comparing across seasons: league averages shift from year to year, but wOBA is scaled to that season's OBP, so you read it as the gap from the same season's league average. This calculator lets you pick any FanGraphs season from 1871 to 2026.
- Turning the rate into runs: subtract the league wOBA from the player's wOBA and divide by the wOBA scale and you get runs above average (wRAA). Add league runs per plate appearance and you get runs created (wRC). One number can then say how much a hitter's bat was worth in runs.
How to use it
- Pick the league to compare with (MLB or KBO) and the weights season. MLB offers 1871 to 2026; KBO offers 2025 and 2026, the seasons with league totals.
- Enter the stat line in the worksheet. Hits (H) is total hits, including doubles, triples and home runs; walks (BB) is total walks, including intentional ones. You can copy the numbers straight from Baseball-Reference or FanGraphs. Blank fields count as 0.
- Watch each row turn into "count × weight = points" with a bar. The bar's length is that event's share of the weighted sum. The bottom line shows weighted sum ÷ chances = wOBA.
- On the right (above the worksheet on phones), read the gap from the league average and the wRAA and wRC. The plane below shows where the line sits among 2026 qualified hitters, with hitters of similar OBP listed.
- The example buttons load the league's top hitter, two hitters with nearly equal OBP but very different wOBA, and Barry Bonds in 2004, when he was walked intentionally 120 times. "Copy result" and "Copy link" let you reopen the same calculation later.
How it is calculated
- Event counts: singles = hits − doubles − triples − home runs; unintentional walks (uBB) = walks − intentional walks.
- Weighted sum: wBB × uBB + wHBP × HBP + w1B × singles + w2B × doubles + w3B × triples + wHR × home runs. The weights are the FanGraphs values for the season you pick.
- Chances: at bats + uBB + sac flies + HBP. Sacrifice bunts are left out (they count only toward plate appearances).
- wOBA = weighted sum ÷ chances, shown rounded to three decimals.
- wRAA = (wOBA − league wOBA) ÷ wOBA scale × PA, and wRC = wRAA + league runs per PA × PA. Plate appearances = at bats + walks + HBP + sac flies + sac bunts.
Here is the calculation for 2026 MLB leader Yordan Alvarez (Houston).
| Event | Count | 2026 weight | Points |
|---|---|---|---|
| Unintentional walks (109 BB − 33 IBB) | 76 | .698 | 53.05 |
| Hit by pitch | 11 | .729 | 8.02 |
| Singles (179 H − 34 − 1 − 42) | 102 | .890 | 90.78 |
| Doubles | 34 | 1.261 | 42.87 |
| Triples | 1 | 1.596 | 1.60 |
| Home runs | 42 | 2.049 | 86.06 |
| Weighted sum | 282.38 |
Chances are 567 at bats + 76 uBB + 5 sac flies + 11 HBP = 659, so wOBA = 282.38 ÷ 659 = .428. With a league wOBA of .316, a scale of 1.238 and 692 plate appearances, wRAA = (.4285 − .316) ÷ 1.238 × 692 = +62.9 and wRC = 62.9 + .118 × 692 = 145. Use the unrounded wOBA (.4285) in the formula: plugging in the rounded .428 would give a slightly smaller wRAA of 62.6.
Weights change every season
A weight is the number of runs an event produced above an out in that season, converted to the league's OBP scale. In low-scoring seasons a home run is worth relatively more, and in high-scoring seasons relatively less.
| MLB season | League wOBA | wBB | w1B | w2B | wHR | 1 HR = singles | Runs per PA |
|---|---|---|---|---|---|---|---|
| 1968 | .291 | .681 | .908 | 1.346 | 2.337 | 2.57 | .092 |
| 2000 | .341 | .722 | .900 | 1.244 | 1.947 | 2.16 | .131 |
| 2014 | .310 | .689 | .892 | 1.283 | 2.135 | 2.39 | .107 |
| 2019 | .320 | .690 | .870 | 1.217 | 1.940 | 2.23 | .126 |
| 2025 | .313 | .691 | .882 | 1.252 | 2.037 | 2.31 | .118 |
| 2026 | .316 | .698 | .890 | 1.261 | 2.049 | 2.30 | .118 |
In pitcher-dominated 1968, one home run was worth 2.57 singles; in the high-scoring year 2000 it was worth 2.16. The same stat line gives a slightly different result under a different season's weights: Alvarez's 2026 line is .428 with 2026 weights and .425 with 2025 weights. As a rule, pick the season the stats came from.
KBO stats use a "KBO scale"
The official KBO records site does not publish wOBA or its weights. So this calculator applies the principle FanGraphs uses to set the wOBA scale (league-average wOBA = league OBP) to the KBO. It measures the KBO league's wOBA with that year's MLB weights, then multiplies every weight by the same factor so the result equals the KBO league OBP.
| KBO season | League wOBA with MLB weights | League OBP | Factor | wBB | w1B | w2B | wHR | Runs per PA |
|---|---|---|---|---|---|---|---|---|
| 2026 | .3323 | .3462 | × 1.0418 | .727 | .927 | 1.314 | 2.135 | .129 |
| 2025 | .3198 | .3385 | × 1.0586 | .731 | .934 | 1.325 | 2.156 | .122 |
The factor multiplies every weight and the scale alike, so the ratios between events, and wRAA (runs above average), are the same as with plain MLB weights. Austin Dean (LG) comes out at .4476 (shown as .448) with unchanged MLB 2026 weights, and .4476 × 1.0418 = .4663, or .466, on the KBO scale. Because the run-value ratios themselves are MLB's, a site that derives run values directly from KBO play-by-play data may differ in the third decimal.
League averages and the spread of qualified hitters (2026 regular season)
| Basis | League wOBA | wOBA scale | Runs per PA |
|---|---|---|---|
| MLB 2026 | .316 | 1.238 | .118 |
| MLB 2025 | .313 | 1.232 | .118 |
| KBO 2026 (KBO scale) | .346 | 1.290 | .129 |
| KBO 2025 (KBO scale) | .338 | 1.304 | .122 |
| 2026 qualified hitters | Hitters | Highest | Median | Lowest | .400 or higher |
|---|---|---|---|---|---|
| KBO (446+ PA) | 49 | .466 Austin Dean | .362 | .293 Shin Min Jae | 11 |
| MLB (502+ PA) | 135 | .428 Yordan Alvarez | .333 | .270 Ezequiel Tovar | 2 |
Qualified hitters are regulars who played all year, so their median sits above the league average. In 2026 the KBO league average was .346 against a qualified median of .362, and MLB's were .316 and .333. That is why more dots sit above the dotted league-average line on the plane.
Same OBP, different wOBA
OBP does not care how a hitter reaches base; wOBA values each way differently. So two hitters with almost the same OBP can end up far apart in wOBA.
| 2026 hitter | OBP | SLG | HR | BB (IBB) | wOBA | wRAA |
|---|---|---|---|---|---|---|
| Hunter Goodman (MLB, Colorado) | .310 | .529 | 41 | 46 (4) | .355 | +18.1 |
| Masyn Winn (MLB, St. Louis) | .308 | .317 | 5 | 48 (0) | .283 | −14.1 |
| Sam Hilliard (KBO, KT) | .374 | .593 | 44 | 65 (2) | .426 | +39.5 |
| Hong Chang Ki (KBO, LG) | .375 | .284 | 0 | 78 (0) | .327 | −7.8 |
On the plane, each pair of dots sits at nearly the same place horizontally but far apart vertically. A hitter above the dotted diagonal (wOBA = OBP) gets more value out of the average time on base than the league does, in other words he hits for more power. In 2026, 26 of 49 qualified KBO hitters and 63 of 135 qualified MLB hitters were above the diagonal. Ranks shift as well: in MLB, Luis García Jr. went from 105th in OBP to 31st in wOBA, while Taylor Ward went from 32nd to 99th.
Why intentional walks are removed
An intentional walk is the pitching side's choice to avoid the hitter, so it is not counted as something the hitter did. Both FanGraphs and the MLB glossary count only unintentional walks in the numerator and the denominator. The more intentional walks a hitter drew, the bigger the difference.
| Barry Bonds, 2004 (2004 weights) | Unintentional BB | Chances | wOBA | wRAA |
|---|---|---|---|---|
| Removing the 120 intentional walks (by definition) | 112 | 497 | .537 | +108.1 |
| Not removing intentional walks | 232 | 617 | .570 | +125.4 |
Bonds's 2004 line was 373 at bats, 135 hits, 45 home runs, 232 walks and 120 intentional walks, for a .609 OBP. Calculated by the definition, his wOBA is .537.
What counts as a good wOBA
FanGraphs Library gives the rough benchmarks below for wOBA and wRAA. They are set for an MLB environment where league wOBA is around .320 (the "Average" row is .320), so for other seasons or for the KBO, look at the gap from that season's league average and at the hitter's place among qualified hitters as well.
| FanGraphs rough rating | wOBA | wRAA (season) |
|---|---|---|
| Excellent | .400 | +40 |
| Great | .370 | +20 |
| Above Average | .340 | +10 |
| Average | .320 | 0 |
| Below Average | .310 | −5 |
| Poor | .300 | −10 |
| Awful | .290 | −20 |
Among 2026 MLB qualified hitters, only two showed .400 or higher at three decimals: Yordan Alvarez (.428) and Pete Crow-Armstrong (.400, .3995 before rounding). In the 2026 KBO, where the league average was a high .346, 11 hitters reached .400.
Common mistakes
- Entering only singles in the hits field: hits (H) already contain every extra-base hit. If you type Austin Dean's 101 singles as his hits, the calculator subtracts his 79 extra-base hits again, leaving 22 singles, and his wOBA falls from .466 to .350. Enter the hit total as listed.
- Entering walks with intentional walks already removed: put Dean's 73 unintentional walks in the walks field and then his 8 intentional walks as well, and they are subtracted twice, giving .463. Walks (BB) includes intentional walks.
- Dividing by plate appearances: the denominator is not PA but at bats + unintentional BB + sac flies + HBP. Dividing Dean's weighted sum by his 640 PA gives a too-low .460. Sacrifice bunts and intentional walks stay out of the denominator.
- Using another season's weights: weights and league averages change together, so pick the season of the stats. Dean's 2026 line on the KBO 2025 scale comes out at .470, .004 higher than on the 2026 scale.
- Mixing it up with xwOBA: Statcast's xwOBA estimates outcomes from exit velocity and launch angle, while this calculator's wOBA uses actual results. The two share a scale but mean different things.
- Comparing a short stretch to a full season: over 30 plate appearances, one out turning into a home run moves wOBA by .068 (from .358 to .426 for a 27-at-bat, 8-hit (1 double, 1 home run), 3-walk line with 2026 MLB weights). Over 600 plate appearances the same change moves it by .003.
Limits
- wOBA covers plate-appearance results only. Baserunning, defense and position are not included, so read a player's overall value alongside a comprehensive measure such as WAR.
- Weights are the three-decimal values in the FanGraphs Guts! table. Results can differ from FanGraphs player pages by 1 in the third decimal.
- The KBO scale fits MLB run-value ratios to KBO league OBP. It is not a run value measured directly from KBO play-by-play, so it can differ from a KBO-specific calculation in the third decimal.
- There is no park adjustment. Hitters whose home park favors batters come out slightly higher in wOBA and wRAA; wRC+ is the measure adjusted for park and league.
- Reached-on-error and catcher's interference are not counted (as in the FanGraphs formula). Catcher's interference is also left out of plate appearances.
- NPB league averages and qualified-hitter data are not included (this calculator compares only against MLB and KBO).
- The 2026 weights are the FanGraphs values updated on 2026-10-22. If FanGraphs revises them after the season, the third decimal may change. Qualified hitters and KBO league totals are final regular-season stats checked the same day, with no postseason.
- Nothing you enter is sent to a server; the calculation runs in this browser. Values go into the address only when you press "Copy link" or change a value.
As of The formulas and weights were checked on 2026-10-22 against the FanGraphs Library, Guts! and the MLB glossary. League totals and qualified hitters were calculated the same day from the KBO records site and the MLB Stats API, using 2026 regular-season stats.
Sources
- 01FanGraphs Library — wOBAFormula (denominator AB + BB − IBB + SF + HBP), league wOBA set to the league OBP scale, rough benchmark table (.400 Excellent to .290 Awful)
- 02FanGraphs — Guts! wOBA and FIP ConstantsLeague wOBA, wOBA scale, wBB, wHBP, w1B, w2B, w3B, wHR and R/PA by season, 1871 to 2026, values updated 2026-10-22
- 03FanGraphs Library — wRAAwRAA = (wOBA − league wOBA) ÷ wOBA scale × PA, 0 = league average, rough ranges (+40 to −20)
- 04FanGraphs Library — wRCwRC = ((wOBA − league wOBA) ÷ wOBA scale + league R/PA) × PA; park and league adjustment is wRC+
- 05MLB Glossary — Weighted On-base Average (wOBA)On-base percentage that reflects how a hitter reaches base; weighting formula for unintentional walks, HBP, singles, doubles, triples and home runs
- 06MLB Glossary — Expected wOBA (xwOBA)Estimated from exit velocity and launch angle (sprint speed on some batted balls); walks, strikeouts and HBP use actual results
- 07KBO official records (Korean) — team hitting (Basic1, Basic2)2025 and 2026 regular-season totals for the 10 teams (AB, H, 2B, 3B, HR, BB, IBB, HBP, SF, runs, PA)
- 08KBO official records (Korean) — player hitting (Basic1, Basic2)49 qualified hitters (446+ PA) in the 2026 regular season, joined with IBB and sacrifice bunts
- 09MLB Stats API — 2026 qualified hittersAB, H, extra-base hits, BB, IBB, HBP, SF and SH for 135 qualified hitters (502+ PA)
- 10MLB Stats API — Barry Bonds year-by-year hitting2004: 373 AB, 135 H, 45 HR, 232 BB, 120 IBB, 9 HBP, 3 SF, .609 OBP
Frequently asked questions
How is wOBA calculated?
wOBA = (wBB × unintentional BB + wHBP × HBP + w1B × singles + w2B × doubles + w3B × triples + wHR × home runs) ÷ (AB + BB − IBB + SF + HBP), per FanGraphs. Singles are hits minus doubles, triples and home runs. With the 2026 MLB weights .698, .729, .890, 1.261, 1.596 and 2.049, Yordan Alvarez's line gives 282.38 ÷ 659 = .428.
What is the league average wOBA?
FanGraphs lists the 2026 MLB league wOBA at .316 and 2025 at .313. wOBA is scaled so the league average lands almost exactly on league OBP, so knowing league OBP tells you roughly the average wOBA. On this calculator's KBO scale, the 2026 KBO league average equals the league OBP of .346.
What is a good wOBA?
FanGraphs' rough guide is .400 excellent, .370 great, .340 above average, .320 average, .310 below average, .300 poor and .290 awful. Because league averages shift each year, the gap from that season's average is the more accurate read. In 2026, 2 of 135 qualified MLB hitters reached .400, and 11 of 49 in the KBO, where the league average was .346.
How is wOBA different from OBP?
OBP counts a walk and a home run as the same trip to base. wOBA gives each outcome its own run value, so with 2026 MLB weights a home run counts as 2.94 walks. Hunter Goodman (COL, .310 OBP) and Masyn Winn (STL, .308) are nearly even in OBP, but their wOBA is .355 and .283, a .072 gap.
Why are intentional walks removed?
An intentional walk is the pitching side's decision to avoid the hitter, so both FanGraphs and the MLB glossary take it out of walks. Barry Bonds had 120 intentional walks in 2004: wOBA is .537 with them removed and .570 without. Enter total walks, intentional ones included, in the BB field and the calculator removes them.
Can I use it for KBO stats?
Yes. The KBO records site does not publish wOBA weights, so this calculator stretches the same year's MLB weights to fit the KBO league OBP. For 2026, the KBO league wOBA with MLB weights is .3323 against a league OBP of .3462, so every weight is multiplied by 1.0418. The run-value ratios are MLB's, so results can differ from a value measured directly on KBO data in the third decimal.
What are wRAA and wRC?
wRAA = (wOBA − league wOBA) ÷ wOBA scale × PA, the runs a hitter created above an average hitter in the same plate appearances (0 = average). wRC adds league runs per PA × PA to wRAA, estimating runs created. Yordan Alvarez in 2026 has a wRAA of +62.9 and a wRC of 145.
How do wOBA and xwOBA differ?
wOBA is built from outcomes that actually happened (hits, home runs, walks). MLB Statcast's xwOBA estimates outcomes from exit velocity and launch angle (sprint speed on some batted balls) and uses actual results only for walks, strikeouts and hit-by-pitches. This calculator handles only wOBA from actual results.