The Best Pitch in the KBO: Introducing KBO Run Values

Assigning a value to an individual pitch and its result is not a new concept. While we have stats like FIP and xwOBA that we can use to evaluate a pitcher as a whole, it’s important to know which pitches fare the best, whether it’s so a pitcher can optimize their arsenal or a hitter knows what to look for when they’re at the plate.

One way to do that is to look at a variety of stats, like CSW% or xwOBA. Yet, those stats look at a subset of results, whether it be called or swinging strikes, or the result of a plate appearance. What they don’t account for, is how much a result is worth in how it changes the structure of the at-bat.

Intuitively, we know that 0-2 counts are much better than 3-0 counts for a pitcher; after all, you’re only one pitch away from a strikeout. What Run Value tries to do is account for the change in count states, like going from 0-0 to 0-1 or 2-2 to 3-2, by how run potential changes from state to state, usually on a pitch type level.

Take this 99-mph Ahn Woo-jin fastball that lands out of the zone. That’s a tough pitch to hit velocity-wise, but since it’s outside of the zone, the likelihood of allowing a hitter-friendly outcome to Kim Jae-hwan rises (FWIW, Ahn’s fastball has the fifth-best RV/100 among fastballs). We want a way to measure how effective a pitch is, rather than a measure based on pitch characteristics like velocity, spin, and movement. With Run Value, this is a “bad” pitch because it takes the count from 2-2 to 3-2.

Ahn Woo-jin throwing 99 mph (160 km/h)

You can find the MLB leaders on Baseball Savant, where they define Run Value as “the run impact of an event based on the runners on base, outs, ball, and strike count”.  This project was inspired by Ethan Moore’s quest to create an xRV metric for the 2020 season, which you can find here.

With the nearly 30,000 pitches that I charted from the 2020 KBO season, I created Run Values for the KBO and the pitches that I tracked and will be detailing that process and some of my findings in this article. You can find the code for this project here and can check out the leaderboard that I added to the KBO Wizard. Back in July, I wrote about some of the Nastiest Pitches in the KBO, but using Run Values, we can see which pitches were the most effective.

The wOBA weights referenced in this article are from Statiz, and you can find their version of a ‘GUTS!’ page here.

I have previously detailed my process of calculating wOBA and Estimated xwOBA (ExwOBA) here, and I base my Run Values per count on ExwOBA. The first step of calculating Run Value is figuring out how the average result (ExwOBA in this case) changes by count state in the KBO. From there, it’s a matter of translating the ExwOBA into a measure of runs; fortunately, we can translate wOBA into Weighted Runs Above Average (wRAA), a measure of how many runs a hitter contributed, with zero as the league average.

The equation is relatively simple, involving the wOBA value, league average wOBA, and the wOBA scale: wRAA = ((wOBA – league wOBA) / wOBA scale) × PA.

We apply the formula to our values and return the wRAA value for each count state (Statiz lists the KBO average wOBA as 0.347. However, the charted data skews toward the best pitchers in the KBO, resulting in an average of 0.339, which is the value used for the KBO average wOBA).

The next step is figuring out how a ball and strike changes wRAA in each count state. To do that, we take the wRAA for an 0-1 count (0.024) and subtract the wRAA for a 0-0 count (0.032). In this instance, the value of throwing a strike on an 0-0 count, leading to a 0-1 count is -0.008. This makes sense; throwing a first-pitch strike is detrimental to a hitter (hence the negative value), but not by too much; the KBO has a high Ball in Play%, so first-strikes aren’t as crucial as they maybe in MLB.. The value of throwing a strike or ball in each count is listed below.

CountwOBAExwOBAValue of StrikeValue of Ball
000.3820.377-0.0080.018
010.3460.367-0.0280.001
020.2860.334-0.288-0.112
100.4020.398-0.026-0.009
110.4250.368-0.1420.024
120.2040.204-0.1760.019
200.3690.3870.0080.264
210.3880.396-0.1470.161
220.2220.226-0.1940.132
300.6870.693-0.0960.035
310.5750.582-0.1750.131
320.3720.379-0.3270.306

About 95% of these values make sense: throwing strikes is good for a pitcher (negative values), and throwing balls is bad (positive values). However, there are a few oddities, notably the value of throwing a strike in a 2-0 count, which is worth 0.008 wRAA, a bad result for a pitcher. The ExwOBA in a 2-0 count is slightly lower than it is in a 2-1 count, which is responsible for this discrepancy. Given that the K% in the KBO is significantly lower than MLB, I’m not surprised that there’s very little difference between 2-0 and 2-1 counts.

Another strange result is that throwing a ball in an 0-2 count is a good result for a pitcher with a -0.112 value, though it pales in comparison to the -0.288 for throwing a strike (which leads to a strikeout). My thought here is that 0-2 counts increase the likelihood of a bad swing/batted ball, while a called ball is designed to get a chase swing. If the hitter doesn’t swing, a 1-2 count is still a tough situation.

There’s another strange result where a ball in a 1-0 count is worth -0.009, good for the pitcher. The ExwOBA in 2-0 counts is slightly lower than 1-0 counts, something that I chalk up to the “small” data set of 30,000 pitches that I charted.

On the whole, these results are similar to ones found by Dan Meyer. The KBO and MLB have different play styles (which I believe accounts for some of the stranger results). I proceeded with this project after exploring why those results occurred.

From there, it was a matter of re-structuring the results and joining them to my charted data. Once we did that, we were able to produce final Run Value results for pitchers and their pitch types in the KBO from the 2020 season. The leaders in Run Value per 100 pitches are shown below.

PlayerPitchUsg%VelocityRun ValueRV/100
Aaron BrooksSlider23.486.7-22.9-6.7
Dan StrailySlider33.583.8-34.3-5.9
Jake BrighamSlider19.983.9-13.7-5.9
Chris FlexenCurveball12.576.1-12.5-5.9

Here is a representation of Run Value on every charted KBO pitch; it’s interesting to note that pitches on the corners of the zone fared the best consistently. After all, if you get a swing that far out, it’s bound to be a good result for a pitcher. The effect of called strikes and fouls (which were treated as a strikes for this project) also help to keep the strike zone a place worth attacking.


Here’s a breakdown of some of the top pitches in the KBO by RV/100.

Aaron Brooks’ slider leads the way by a large margin, with a -6.7 RV/100. It’s worthy of the title, with a 23.7% SwStr% (highest on an individual pitch in the KBO), a 0.224 ExwOBA, and a 61% GB%. Hitters stood no chance against it all year long, especially when he paired it with his changeup. It was most effective working down-and-away from RHH or on the edges of the zone against LHH.

Aaron Brooks sliders

Dan Straily’s slider narrowly beats out two other breaking pitches for the second spot, with a -5.9 RV/100. He rode the pitch to 205 strikeouts in 2020 (making him the world-leader in Ks in 2020), and you likely saw his highlights all over Twitter back in May. He threw it 34% of the time, netting a 20.6% SwStr%.

He threw it in all kinds of high leverage situations, like 40% of the time in 0-2 counts. Throwing the pitch in those situations, and getting strikes, is why his slider grades out at the second-best pitch in the KBO. Against LHH, he worked his slider on the edges of the zone while it acted as a whiff pitch down-and-away from RHH.

Dan Straily Sliders

Jake Brigham’s slider comes in fourth place here at -5.9 RV/100. Interestingly, his curveball is fifth at -5.5 RV/100. But, despite those two stellar pitches, Brigham wasn’t re-signed by the Kiwoom Heroes (though he has since joined the CPBL in Taiwan) due to a poor track record of health in 2020. Regardless, his breaking pitches amounted to 43% of his total pitches and were phenomenal offerings. I thought he should try to increase his usage of the pitches, and we’ll see if he makes any adjustments in the CPBL.

Jake Brigham slider/curveball/curveball mix

Fourth-place belongs to Chris Flexen and his curveball. The 26-year-old Flexen signed with the Seattle Mariners following his stellar 2020 season, and the curveball was part of the reason why; it sported a 22% SwStr%, and a 0.197 ExwOBA; that’s pretty good.

While his curveball velocity held at about 76 mph, the Mariners liked how the shape of his curveball changed in the KBO, becoming a pitch that may play better against MLB hitters than his original offering. The pitch was extremely effective down against LHH, while he showed the ability to throw it for whiffs or called strikes against RHH.

A fastball/curveball overlay from Flexen to showcase how well they work together

This stat is modeled on the Run Value and RV/100 hosted on Baseball Savant, though the two shouldn’t be compared to each other (naturally, given that they are for two separate leagues). In 2019 (using the full MLB season to comp to the full KBO season), the best RV/100 belonged to Felipe Vazquez’s slider at -6.2. The highest cumulative total was Gerrit Cole’s fastball at -36 Run Value; in the KBO, the lowest cumulative Run Value belonged to Raúl Alcántara’s fastball at -61 since he threw it 1417 times at a -4.3 RV/100 clip.

This is not a perfect stat, but another tool to help facilitate evaluating KBO pitches. While 0 RV/100 is an average pitch, many of the pitches in the KBO Wizard will register with an RV/100 better than 0 since I focused on charting the good pitchers, not the below-average pitchers. This stat is best used as a comparison to other pitchers and their pitches.

You can find a full leaderboard of Run Values and RV/100 on the KBO Wizard.