드디어, 오랫동안 마음속에 무거운 짐(?)으로 남아 있던 구원투수의 WAR 계산에 대해 포스팅을 하게 되었다.

구원투수의 WAR 계산은 기본적으로 선발투수의 WAR 계산과 동일한 방법으로 수행한다. (선발투수의 WAR 계산은 이 글을 참고) 하지만, 불펜 특유의 독특한 운용 방식으로 인해, 계산시에 추가적으로 고려해야 할 사항이 생긴다. 예를 들어, 똑같이 ERA 3.0을 기록한 두 릴리버가 있는데, 투수 A는 클로저로 위기 상황에 주로 등판하였고 투수 B는 주로 패전처리용으로 기용되었다면, 비슷하게 실점을 허용했다고 해도 두 투수가 팀 승리에 기여한 바는 전혀 다른 것이다.


1. LI를 고려해야 하는 이유

우리는 앞의 글에서 LI(Leverage Index)에 대해 살펴보았다. 선발투수는 본인이 직접 게임을 시작하며, 게임이 흘러감에 따라 LI가 늘어나기도 하고 줄어들기도 한다. 일반적으로 선발투수들의 평균 LI는 1이다. 또한, 안타와 볼넷, 사사구를 연속으로 허용하여 주자 만루를 만들어서 LI가 올라갔다면, 그것은 전적으로 본인의 책임이므로, 본인이 위기를 자초한 뒤에 스스로 해결했다고 해서 특별히 그것을 칭찬할 이유도 없다.

하지만, 구원투수는 사정이 다르다. 감독이 어떤 투수를 LI 2.0 인 상황에서 마운드에 올렸다면, 이 투수가 잡아내는 아웃이나 이 투수가 허용하는 실점의 가치는 평균적인 상황의 2배에 달하는 것이다. 이러한 위기 상황을 무실점으로 잘 막아냈다면, 이 무실점 역투의 가치 역시 평균적인 상황의 2배이다. 구원투수는 본인의 의지나 희망과 상관없이 타의에 의해 특정 상황에 투입되어 역할을 수행하므로, 역할의 경중에 따라 가치를 조정 평가해 주는 것이 타당할 것이다.

여기에서 각각의 상황이 갖는 중요도는 LI로 평가할 수 있다. 예를 들어 메이저리그 클로저들의 평균 gmLI는 1.8 정도이므로, 이들은 평균적인 상황보다 1.8배 중요한 상황에 보통 등판한다는 의미가 된다.

그러면, 클로저들의 WAR을 선발투수와 같은 방식으로 구한 뒤에, 1.8배 해 주면 되는 것이 아닐까? 아쉽게도 현실은 그렇게 단순하지가 않다.


아래의 내용은 글만 읽어서는 이해하기가 쉽지 않을 수도 있다. 진지하게 접근하고자 하시는 분들은 첨부된 엑셀파일의 계산을 꼭 참고하시기 바란다. 또한, 나중에 다시 언급하겠지만, 2009년 MLB 클로저들에 대한 WAR 계산 결과도 포함되어 있다.




2. Bullpen Chaining Model

MLB 팀들은 보통 12인 투수진(선발 5명 + 구원 7명)을 운용한다. 예를 통해서 불펜이 어떻게 운용되는지를 살펴보자. 이 예는 Sky Kalkman의 글에서 퍼온 것이다. 참고로, Kalkman의 예는 Tom Tango의 오리지널 모델을 다듬은 것이다.

CASE 1

여기에 어떤 팀의 7명짜리 불펜이 있다. 감독은 이 7명에게 각각의 역할을 부여하고 있으며, 평균적으로 아래와 같은 상황에서 각각의 투수를 기용한다고 하자. 한 시즌 동안, 이 7명의 투수들은 각각 72이닝씩을 던졌다고 치자. 투수의 실점 방어 수준은 편의상 ERA를 사용한다.

ERA  LI
3.00  1.8  (CL)
3.75  1.3  (Setup #1)
4.00  1.0  (Setup #2)
4.25  0.9  (Middleman #1)
4.50  0.8  (Middleman #2)
4.70  0.7  (Middleman #3)
4.80  0.6  (Mop-up)

이들의 평균 LI는 1이고, 평균 ERA는 4.14이다. 이들이 72 x 7 = 504 이닝을 던지는 동안 내준 자책점(ER)은 총 232점이다. 그러나, 등판 상황의 중요도에 따라 실점의 가치가 달라지므로, 각 투수의 ERA에 LI를 곱해서 leveraged ERA를 구할 수 있을 것이다. 예를 들어 클로저의 3.00 ERA를 leveraged ERA로 바꾸면 1.8 x 3.00 = 5.40 이 된다. 이러한 방식으로 leveraged ERA를 구하고, 이를 바탕으로 leveraged ER을 구해 보면, 504 이닝동안 총 223점을 내준 것이 된다.


CASE 2

이번에는 위의 팀에서 클로저가 시즌 개막 직전에 교통사고로 시즌아웃 되었다고 가정하자. 이미 시즌 개막이 임박하여 FA시장에 좋은 릴리버는 남아있지 않고, 다른 구단들과의 트레이드도 잘 되지 않아서, 이 팀은 결국 AAA에서 Replacement Level 릴리버를 로스터에 포함시키게 된다. 그런데 여기서, Replacement Level 릴리버를 클로저로 대신 기용하는 팀은 어디에도 없을 것이다. 바로 이 부분이 문제가 된다.

대부분의 감독은 이런 경우에 ERA 3.75의 셋업맨 #1을 클로저로 돌리고, 나머지 릴리버들의 역할을 하나씩 올린 다음, 방금 AAA에서 올라온 신참 릴리버에게 Mop-up 역할을 맡길 것이다. 이 리그의 Replacement Level Reliever의 ERA가 4.85라고 하면, 이 팀의 새로 구성된 불펜은 아래와 같다.


ERA  LI
3.75  1.8 (CL)
4.00  1.3 (Setup #1)
4.25  1.0 (Setup #2)
4.50  0.9 (Middleman #1)
4.70  0.8 (Middleman #2)
4.80  0.7 (Middleman #3)
4.85  0.6 (Mop-up)  <-- AAA에서 올라온 신참

상황이 이해가 되시는지?

이 7명이 똑같이 72이닝씩 던졌다고 하고, 위에서와 같이 leveraged ERA 및 leveraged ER을 구해보면, 504 이닝 동안 이들이 내준 레버리지 자책점(leveraged ER)은 242.2점이 된다. 이제 ERA 3.00의 클로저가 전력에서 이탈하고 대신 Replacement Level 릴리버를 한 명 넣게 됨으로써 이 팀이 추가로 얼마나 실점하게 되는지 알 수 있다.

242.2 - 223.0 = 19.3   (반올림으로 인해 0.1점의 오차 발생)

이 팀은 19점을 더 실점하게 되었다. 즉, 이 팀의 불펜에 있어서 ERA 3.00의 클로저가 Replacement Level 투수에 비해 팀 실점을 막는데 기여하는 수준(RAR: Runs Above Replacement Level)은 19.3점이며, 대략 10점=1승이라고 치면 이 클로저의 WAR은 1.9 정도가 된다.

이렇게, 불펜에서 한 명이 빠질 경우 체인으로 연결된 것처럼 역할이 차례차례 변경된다는 의미에서, 위와 같은 불펜 설명 모델을 Bullpen Chaining 이라고 한다.


CASE 3

만약 이러한 체인 효과를 무시하고 계산하면 결과가 어떻게 달라지는지 살펴보자.

위의 예에서, 클로저가 시즌아웃된 뒤에, 감독이 다른 투수들의 역할은 그대로 둔 채 방금 AAA에서 올라온 신참 구원투수를 클로저로 기용하는 만용을 부렸다고 가정하자. 불펜 구성은 아래와 같이 바뀐다.

4.85  1.8  (CL) <-- AAA에서 올라온 신참
3.75  1.3  (Setup #1)
4.00  1.0  (Setup #2)
4.25  0.9  (Middleman #1)
4.50  0.8  (Middleman #2)
4.70  0.7  (Middleman #3)
4.80  0.6  (Mop-up)

이 7명이 똑같이 72이닝씩 던졌다고 하면, 504이닝에서 이 불펜의 leveraged ER 총합은 249.6점으로 나타난다. 이렇게 되면 CASE 1과 비교할 때, 클로저의 RAR이 26.6점이 되어 클로저의 WAR는 2.7로 계산된다.

CASE 2와 CASE 3 중에 어느 쪽이 현실에 가까운지는 명약관화하다고 본다. ERA 4.85의 Replacement Level 구원투수를 클로저로 기용하는 팀은 없을 것이므로, CASE 2와 같이 생각함이 더 타당하다. CASE 3의 계산법은 0.7~0.8 WAR 정도 클로저를 과대평가하게 되는 것이다.


3. WAR 계산시 LI의 조정 적용

클로저의 LI가 1.8이라고 해서, 1.8의 LI를 그대로 곱해 주면, 해당 선수가 맡았던 역할을 그대로 Replacement Level 선수에게 맡기는 모습이 되어 위의 CASE 3과 같은 결과가 되어 버린다. 불펜 운용을 이렇게 하는 팀은 별로 없으므로, 체인 효과를 고려하여 LI를 조정해 주어야 할 것이다.

구원투수의 WAR 계산을 위해 현재 Tom Tango나 Fangraphs 사이트가 사용하고 있는 조정 LI는 아래와 같다.

Effective LI = (1 + gmLI) / 2

(gmLI : 구원투수가 경기에 투입되는 순간의 LI)

이 식을 위의 Chaining Model 예에 적용해서 클로저의 WAR를 다시 구해보자.

클로저의 ERA는 3.00이었고, Replacement Level 구원투수의 ERA는 4.85였다.
클로저의 LI는 1.8이었으므로, Effective LI는 (1+1.8) / 2 = 1.4 이다.
이 클로저가 Replacement Level 투수에 비해 덜 실점하는 점수는 (4.85 - 3.00) * 72 / 9 = 14.8 이다.
클로저라는 역할 및 체인 효과를 감안해주기 위해 Effective LI를 곱해 주면,

14.8 * 1.4 = 20.7

이것이 클로저의 RAR이다.
따라서, WAR은 20.7 / 10 = 2.1이 된다.

앞의 예에서 직접 체인 효과를 돌려 보아서 얻은 클로저의 WAR은 1.9였다. 0.2의 오차가 생기고 있는데, 이는 체인 모델이 모든 투수가 72이닝씩 똑같이 던진다는 다소 비현실적 가정을 하고 있다는 점에 주로 기인하는 것이다. 하지만, 각 팀마다 동료 불펜투수들의 구성은 조금씩 다르고, 이에따라 체인 효과도 조금씩 다르게 나타나므로, 위와 같은 Effective LI 공식이 100% 맞는다고 볼 수도 없다. 이 클로저의 진정한 WAR은 아마도 1.9와 2.1 사이의 어딘가에 위치하고 있을 것이다. 아마도 2.1에 가까운 쪽이 되겠지만 말이다. 위에서 언급한 Sky Kalkman의 글에도 나와 있지만, Effective LI의 공식은 아직 조금 더 정교해질 수 있는 여지가 있으며, 그러한 연구도 계속 진행되고 있다.


4. 2009년 MLB 구원투수들의 WAR 계산

계산 방법은 기본적으로 선발투수 WAR 계산과 동일하지만, 두 가지를 고려해 주어야 한다.
1) Replacement Level 구원투수의 기대 승률은 .470 이다. (선발투수는 .380이었다.)
2) 구원투수의 역할에 따른 중요도를 Effective LI를 통해 감안해 준다.

또한, 선발투수 때 ERA/RA 비율을 그냥 0.92로 계산했던 것과는 달리, 실제 2009 시즌의 리그 총 ERA와 리그 총 RA로부터 비율을 계산하여 약간이나마 정확도를 높이려고 노력하였다.

위에서 보여 드린 첨부파일에는 Bullpen Chaining 모델 뿐 아니라 2009 시즌 메이저리그 클로저들의 WAR 계산 결과도 들어 있으므로, 받아서 확인해 보시기 바란다. 특히 누가 과대평가되고 있는지, 한 눈에 확인할 수 있을 것이다.


Today's Music : Chage & Aska - On Your Mark

Official MV (지브리 애니메이션)


Live


말이 필요 없는 명곡. 뮤직비디오도 너무 좋다.
Posted by FreeRedbird
:

이 글은 "한국야구팬사이트"에서 승짱님의 한국 프로야구 투수 랭킹 계산을 돕기 위한 예로서 작성된 것이다.
단지 "예"일 뿐이므로 스탯에 대한 해석, 계산 방법에 대한 입장의 차이에 따라 얼마든지 변형과 조정이 가능하다.

계산 방법은 기본적으로 이전 포스팅에서 소개해 드린 것과 동일하다.

다만, FIP를 RA scale로 바꿔줄 때 0.92를 사용하는 대신 실제 KBO의 ERA와 RA 비율을 계산하여 사용하였다. 결과는 아래 첨부파일에서 볼 수 있듯이 0.91~0.92로 대동소이하게 나온다.

또한, FIP Constant 역시 KBO의 실제 데이터를 가지고 계산하였다. 2007년 시즌은 FIP Constant가 2.84에 불과한 충격적인 결과가 나왔으나, 2008년과 2009년은 그럭저럭 MLB와 유사한 숫자가 나왔다.

2009년과 2008년 KBO 시즌에서 각각 5명의 선발투수를 골라서 직접 계산을 해 보았다.

5명의 선발투수는 완전히 임의로 고른 것이다. (나는 KBO에 좋아하는 팀이 없으며, 8개 구단에 대해 완전히 중립이다...)


이 계산에는 다음과 같은, 근거가 부족한 가정들이 들어가 있다. 이런 부분들을 말끔하게 해결할 수 없는 것은 KBO의 데이터 부족, 개인적인 지식 부족, 그리고 개인적인 시간 부족에 기인한 것이다.

1. KBO에서 각 이벤트는 MLB와 비슷한 Run Value를 가지며, 따라서 FIP 계산식은 동일하다.

2. KBO에서 Run Scoring Environment는 MLB와 유사하여, Runs per Win을 MLB와 동일하게 [((상대 팀 이닝*상대 팀 실점수준)+(소속 팀 이닝*소속 팀 실점수준)/(상대 팀 이닝+소속 팀 이닝))+2] * 1.5 의 근사식으로 산출할 수 있다.

3. KBO에서 선발투수의 Replacement Level은 MLB와 동일하며, 따라서 Replacement Level 선발투수의 기대 승률은 .380이다.
--> 단, KBO의 Replacement Level이 실제로는 이와 다르다고 해도, 상대적 비교에는 지장이 없다. 이 계산에서 투수 A가 투수 B보다 WAR이 높게 나타났다면, Replacement Level을 바꾸더라도 A가 B보다 높게 나타나는 것은 변함이 없다. 단지 절대값이 바뀔 뿐이다.


다음은 중요한 참고 사항이다.

1. KBO 선수들의 모든 데이터는 스탯티즈에서 가져왔다. 스탯티즈는 보면 볼수록 놀랍고 대단한 사이트이다. (우리나라의 척박한 야구 기록 환경을 생각하면 더더욱 그렇다.) 단, FIP는 스탯티즈의 데이터를 쓰지 않고 직접 계산하였다. 이유는, 스탯티즈의 FIP가 Constant를 3.20으로 항상 동일하게 사용하고 있고, BB와 IBB의 구분이 이루어지고 있지 않기 때문이다.

2. 여기에서 계산한 선발투수의 WAR는 선발로 등판한 기록만을 대상으로 한 것이다. 한국 프로야구는 투수의 역할이 모호한 경우가 많아 시즌 내내 100% 선발 투수로만 등판하는 투수는 그다지 많지 않으며, 대부분의 선발투수가 구원 등판 기록을 가지고 있다. 따라서, 정확한 계산을 위해서는 해당 투수가 구원으로 등판한 기록을 가지고 구원투수의 WAR를 계산하여 합산해 주어야 할 것이다. (결국 내가 구원투수 WAR를 구하는 방법을 최대한 빨리 포스팅해야 할 것 같다... -_- )


다음은 이 계산을 하고 난 뒤의 소감.

1. 07, 08, 09년 3년간의 FIP Constant를 계산하면서 시즌 스탯을 확인한 결과 시즌과 시즌 사이의 득점 수준 변화가 매우 크게 나타났다. (3년 사이에 타고투저 현상이 심화됨) 팀 수도 적고 게임 수도 적다보니 샘플이 적어져서 데이터의 변동성이 MLB에 비해 훨씬 크게 나타나는 것 같다. (KBO 1시즌 = 1,056게임, MLB 1시즌 = 4,860게임)

2. 그럼에도 불구하고 ERA/RA 비율이 유사하게 나타나는 것을 보면 비슷한 규칙을 가지고 비슷하게 야구를 하니 비슷한 결과가 나온다는 느낌이어서... MLB의 메트릭을 KBO에 적용하는 것이 완전히 엉뚱한 결과를 도출하지는 않을 것이라는 생각이 든다.

3. 류현진은 정말 좋은 투수인 것 같다. 다른 선수들을 많이 계산해 본 적은 없으나 한국야구에서 5 WAR면 엄청나게 높은 수치일 것 같은데... 위의 계산 파일에는 들어있지 않으나, 08년 스탯으로 계산해도 윤석민과 동일하게 3.6 WAR로 나온다.

Posted by FreeRedbird
:

(주: 타자의 WAR를 구하는 글은 이미 이전에 포스팅한 바 있었으나, 일부 잘못된 계산을 바로잡고 내용을 보충하여 다시 포스팅 하기로 하였다. 또한, 이제 2009 시즌이 끝났으므로 계산에서 사용한 예도 2009년의 스탯들로 바꾸었다.)



Chase Utley : 항상 실력에 비해 충분한 인정을 받지 못하고 있는, 심각하게 저평가된 플레이어이다.


타자가 팀의 득점에 기여하는 방법은 크게 보아 공격(타격), 수비, 주루가 있을 것이다. 그래서 좋은 타자를 이야기할 때 "공, 수, 주 3박자를 두루 갖췄다"는 표현을 사용하기도 한다.

각각의 타자에 대해서 이러한 득점 기여의 정도가 어느 정도인지를 측정하기 위해, 이전의 글들을 통해 공격, 수비, 주루의 측면을 차례로 검토해 왔다. 또한 비교 대상으로서 절대적 기준이 되는 Replacement Level 및 수비 포지션에 따른 조정 수준에 대해서도 살펴본 바 있다. 각각의 항목에 대해 다시 한번씩 훑어 보시면 이해에 도움이 되시리라고 생각하여 링크를 걸어 본다.

1. 타격 기여 수준 : wOBA 및 wRAA
2. 비교의 절대적 기준 : Replacement Level
3. 수비 기여 수준 : UZR, TZ
4. 포지션별 차이 : Positional Adjustment
5. 주루 기여 수준 : 도루 성공/실패, EqBRR

이를 종합하면 특정 타자의 전체 기여 수준, 혹은 그의 가치(Value)를 계산할 수 있는데, 이것이 바로 RAR(Runs Above Replacement level) 및 WAR(Wins Above Replacement level) 이다.

여기에서는 우선 Fangraphs와 동일한 방식으로 WAR를 구해 볼 것이다. 원문에서는 여기까지만 시도했었지만, 이 글에서는 Fangraphs 방식의 한계와 그 보완 방법까지 생각해 보고자 한다.

먼저 RAR을 구해 보면... 위의 다섯 가지를 차례로 더해 주면 된다.

RAR = Batting + Replacement Level + Defense + Positional Adjusment + Running

이제 RAR을 WAR로 환산해야 하는데... 원칙적으로는 팀 전체 득점과 실점에 대해 해당 플레이이어의 RAR이 미치는 점수 변화 정도를 가지고 Pythagorean Expectation의 식에 넣어서 계산하는 것이 맞지만... Pythagorean 관련 포스팅에서 언급한 바와 같이, "10점 득점 = 1승"의 단순한 계산 방법이 의외로 높은 정확도를 가지므로, 계산의 편의를 위해 이를 활용하는 것이 좋을 것이다. 즉, 아래와 같이 쉽게 계산할 수 있다.

WAR = RAR/10

이제부터 실제 예를 통해서 자세히 살펴보자.
계산에 필요한 Raw Data는 Baseball-ReferenceFangraphs에서 얻었으며, 이후의 모든 계산은 직접 하였다. 계산에 사용한 엑셀 sheet를 첨부하였으므로, 계산 결과를 쉽게 확인하실 수 있을 것이다.



아래는 Chase Utley의 2009년 성적이다.

공격 : 687 PA, 98 1B, 28 2B, 4 3B, 31 HR, 85 NIBB, 3 IBB, 24 HBP, 4 RBOE
수비 : 10.8 UZR
주루 : 23 SB, 0 CS


(NIBB : 고의사구가 아닌 볼넷, IBB : 고의사구, RBOE : 에러로 인해 타자가 출루한 경우)

순서에 따라 차례차례 계산해 보면...


1-1. Park Adjust

먼저 wOBA를 계산하기에 앞서서, 구장으로 인한 효과를 보정해 주는 것이 계산의 신뢰도를 높이는 데 도움이 될 것이다. Park Factor를 계산하는 방법은 여러 가지가 있고, 개인적으로는 어떤 방법이 가장 좋은지 아직 결론을 내리지 못하고 있다. 일단 여기서는 Fantasy411의 2006-08년 Park Factor를 빌려와서 사용하도록 하겠다. 이 자료는 엑셀 파일에 포함되어 있다. (단, RBOE의 Park Factor는 어디에서도 얻을 수가 없었다. 어차피 Utley의 RBOE가 4에 불과하여 Park Factor가 있더라도 그다지 영향은 없었겠지만...)

정밀한 조정을 위해서는 Utley의 경기별 홈구장을 일일이 찾아서 계산해야겠지만... 너무 품이 많이 들므로, 다음과 같은 간단한 방법을 사용하였다. 1) 타석의 절반은 홈, 절반은 원정에서 기록한 것으로 본다. 2) 원정구장들의 평균 Park Factor는 100이다. (실제로는 홈구장을 뺀 15개 NL 구장의 평균이므로 100에 근접한 값일 것이나, 큰 오차는 없으리라고 본다) 3) 따라서, 조정된 Park Factor는 (100 + 홈구장 Park Factor) / 2 로 계산할 수 있다.

계산시 1B, 2B, 3B, HR에 대해 Park Factor를 적용하였으나, 볼넷이나 HBP, 도루 등의 경우는 구장별 차이가 있다고 인정하기가 어려운 관계로 반영하지 않았다. 이런 부분에도 구장으로 인한 차이가 존재한다고 생각한다면... 취향에 따라 해당 스탯의 Park Factor를 찾아서 추가적으로 적용해 주면 된다. 또한, 1루타에 대한 Park Factor가 따로 없으므로... 안타 총 합계(H)의 Park Factor와 장타(XBH)의 Park Factor, 그리고 실제 2009년 메이저리그 안타, 장타 기록으로부터 1루타의 Park Factor를 유추하였다.

이렇게 조정한 Utley의 09년 성적은 아래와 같다.
687 PA, 97 1B, 28 2B, 5 3B, 28 HR, 85 NIBB, 3 IBB, 24 HBP, 4 RBOE

역시 홈런이 많은 홈구장을 쓰다 보니, 조정 결과 홈런이 약간 줄어든 것을 확인할 수 있다.


1-2. wOBA 및 wRAA 계산

wOBA 및 wRAA의 계산식 및 이론적 근거는 위의 링크를 참고하시고... Park Factor를 적용한 기록을 가지고 Utley의 wOBA를 계산한 결과는 다음과 같다. (엑셀 sheet 참조)

(Park Adjusted) wOBA = 0.390

한편, 2008년 NL 전체 타격 기록을 가지고 구한 리그 평균 wOBA는 0.328이므로, 이를 이용하여 Utley의 wRAA를 구하면 다음과 같다. (엑셀 sheet 참조)

wRAA = 37.45 Runs

즉, 2009년 시즌의 Chase Utley는 NL 평균 타자에 비해 타격으로 팀 득점에 37.45점 더 기여했다는 의미가 된다.


2. wRAA를 Batting RAR로 : Replacement Level의 설정

wRAA는 Runs Above Average라는 단어의 의미에서도 알 수 있듯이 리그 평균과 비교하는 스탯이므로, 이를 Replacement Level과의 비교로 조정하여 RAR(Runs Above Replacement leve)로 만들 필요가 있다. 이전부터 한 시즌을 기준으로 리그 평균 수준의 주전 선수와 Replacement Level의 땜빵 선수 차이에는 20점 혹은 2승 정도의 차이가 난다는 경험적 분석 결과들이 있었는데, 작년 말에 THT에 게재된 Sean Smith의 뛰어난 연구는 이를 다시 한 번 확인시켜 주었다. 즉, 600 PA를 기준으로 리그 평균과 Replacement Level의 사이에는 20점(20 Runs)의 기여 수준 격차가 있다는 것이다. 이러한 격차를 wRAA 값에 더해주면, RAR로 쉽게 환산된다.

Utley의 경우로 돌아가면, Utley는 687 PA를 기록했으므로, 687 PA에서 평균과 Replacement Level의 격차를 계산해 보면...

600/20 x 687 = 22.90 Runs

이 값이 Utley의 Replacenemt Level 값이 된다. 즉, Utley 대신 Replacement Level 선수를 시즌 내내 기용했다면, 아마도 22.9점 만큼 덜 득점했을 것이라는 이야기이다.


3. 수비 기여 수준 : UZR

이전 포스팅에서 ZR을 개선한 합리적인 스탯으로 UZR, TZ(TZR), +/-를 소개한 바 있다. 그 포스팅에서 언급한 바와 같이, +/-는 유료 정보이며 연말에 발표되고, TZ의 경우 현역 메이저리거들에 대한 데이터는 아직 작업중인 상태여서 조회가 되지 않으므로, 현재로서는 UZR이 거의 유일한 선택이라고 할 수 있다. UZR은 Fangraphs에 거의 실시간으로 계속 업데이트 되므로, 지난 시즌의 결과물 뿐 아니라 현재 진행중인 시즌에 대해서도 누구가 쉽고 빠르게 정보를 얻을 수 있다. 뿐만 아니라, TZ의 창시자인 Sean Smith조차 UZR이 가장 뛰어난 수비 스탯이라고 인정하고 있으므로, UZR을 쓰는 것이 여러 모로 좋은 선택이라고 생각한다.


Utley는 2009년 1년 내내 2루수로만 출장했으며, 1년간의 누적 UZR 값은 10.8이다.

UZR = 10.8 Runs

이는 Utley가 2008년 시즌에 수비를 통해 실점을 평균 2루수보다 10.8점 더 방지하는 정도의 기여를 했음을 의미한다.


4. Positional Adjustment

다시 한 번 포지션별 조정 점수를 정리해 보면 아래와 같다.

포수 : +12.5 Runs
유격수 : +7.5 Runs
중견수, 2루수, 3루수 : +2.5 Runs
좌익수, 우익수 : -7.5 Runs
1루수 : -12.5 Runs
지명타자 : -17.5 Runs


이 조정 점수는 162게임의 풀 시즌을 기준으로 만들어진 것임에 유의해야 한다. 162게임을 이닝으로 환산하면 1,458 이닝이 되므로, 실제 수비에 참가한 이닝을 1458로 나눠서 위의 조정 점수를 곱해 주면 실제 해당 시즌의 조정 점수가 될 것이다.

Utley는 2008년에 2루에서 1357 이닝을 뛰었다. 따라서...

(2.5 x 1357) / 1458 = 2.33 Runs

이 점수가 Utley의 수비 포지션에 따른 최종 조정 점수가 된다.


5. 주루플레이의 기여 수준: 도루 성공과 실패

Fangraphs는 주루플레이에 대해 도루 성공/실패만을 반영하고 있는데, 이는 Fangraphs가 다른 주루 능력에 관심이 없어서라기보다는 무료로 이용 가능한 공개 주루 스탯이 존재하지 않기 때문일 것이다. 주루 스탯을 제공하는 곳이 BP와 Bill James Online 정도밖에 없는데, 둘 다 Fangraphs에 자료를 그냥 링크해 줄 생각은 없는 듯하다.

Fangraphs의 선수 페이지에서 맨 아래에 있는 Value를 보면, Running 항목이 따로 존재하지 않고 도루 성공/실패를 Batting에 합산하고 있다. 평균적으로 도루 성공은 0.175, 도루 실패는 -0.467점의 가치(Run Value)를 지니므로, 도루 및 도루 실패의 갯수에 Run Value를 곱해서 계산하는 것이다.

Utley는 2009년에 23 SB, 0 CS를 기록하였으므로...

23 x 0.175 - 0 x 0.467 = 4.03 Runs

도루를 통해 4.03점 만큼 팀 득점에 기여하였다는 결론을 얻을 수 있다.


6. RAR 및 WAR의 산출

이제 모든 구성 요소의 계산을 다 했으므로, 지금까지 나온 값을 모두 더하면 타자의 총 기여 수준, 혹은 그의 가치(Value)가 된다.

RAR = 37.45(타격) + 22.9(Replacement Level) + 10.8(수비) + 2.33(포지션 조정) + 4.03(도루)
      = 77.50


득점 10점은 1승과 동일하므로,

WAR = RAR/10 = 7.8

즉, 거칠게 표현하자면, 2009년 Chase Utley는 7.8승짜리 플레이어였다는 것이다.

2009년 Phillies는 93승 69패를 기록하였는데, 만약 Utley 대신 1년 내내 Miguel Cairo와 같은 Replacement Level 플레이어들로 2루를 돌려막기 했다면, Phillies는 아마도 85승 77패를 기록했을 것이라는 이야기이다. 이렇게 되면 Florida Marlins와 동률이 되므로, 플레이오프 진출을 장담할 수 없게 되어 버린다. 이것이 바로 진정한 스타 플레이어 한 명의 위력이다.

Fangraphs의 Utley 페이지를 보면, 2009년 그의 WAR를 7.6로 계산하고 있다. Fangraphs의 WAR 계산 로직은 이 글에서 내가 설명해 온 바와 동일하다. 0.2의 오차는 타격 기여도 계산에서 생겨난 것인데, 내가 타격에 37.45, 도루에 4.03으로 총 41.48점으로 계산한 데 비해 Fangraphs는 둘을 합쳐 39.4로 계산하고 있다. 오차의 원인으로 생각되는 것은 사용한 Park Factor 데이터의 차이 및 Park Factor 적용 방법의 차이가 가장 유력하다. 또한, 소숫점 반올림으로 인한 약간의 오차도 발생할 수 있다.


이번에는 Joe Mauer의 2009년 성적을 이용해서 WAR를 계산하여 보자.
(역시 첨부한 엑셀 sheet에 계산한 결과물이 들어 있다.)

다음은 Mauer의 2009년 타격 Raw Stat이다.
606 PA, 131 1B, 30 2B, 1 3B, 28 HR, 14 IBB, 62 NIBB, 2 HBP, 3 RBOE

Twins의 홈인 Metrodome의 Park Factor를 고려하여 위의 스탯을 조정해 주면 아래와 같다.
606 PA, 132 1B, 30 2B, 1 3B, 30 HR, 14 IBB, 62 NIBB, 2 HBP, 3 RBOE

이 기록으로부터 wOBA 및 wRAA를 계산하면,
wOBA = 0.449
wRAA = 57.50

Replacement Level = 20 / 600 * 608 = 20.2

수비 : UZR = 0 (포수는 UZR데이터가 없다.)

포지션 조정 : Mauer는 포수로 939 이닝을 뛰었으며, 지명타자로 28게임에 출장하였다. 따라서...
12.5 x 939 / 1458 - 17.5 x 28 / 162 = 5.03

도루성공/실패 : 4 SB, 1 CS이므로
4 x 0.175 - 1 x 0.467 = 0.23

이제 모두 더해주면,
RAR = 57.5(타격) + 20.2(Replacement) + 0(수비) + 5.03(포지션 조정) + 0.23(도루) = 82.96
WAR = RAR/10 = 8.3

즉, 2009년 Mauer는 8.3승짜리 플레이어였다는 것이다.

Fangraphs의 계산 결과는 8.2이다. 역시 0.1의 차이는 Park Factor 및 소수점 반올림 등으로 인한 오차로 생각된다.


여기까지가 Fangraphs의 WAR 계산 방법인데... 주루플레이가 도루 성공/실패만 단순히 계산되고 있고, 포수 UZR이 없어 포수 수비력의 차이가 반영되지 않는다는 문제점이 있음을 알 수 있다. 이제 이를 보완하는 방법을 찾아 보자.

주루플레이에 대해서는 이전에 소개한 바와 같이, Baseball Prospectus의 EqBRR을 대신 사용할 수 있다. Chase Utley의 경우 2009년 EqBRR이 8.80으로, 매우 뛰어난 주자임을 알 수 있다. 도루성공/실패로 계산한 숫자 대신 이 EqBRR을 대신 넣어서 계산하면 아래와 같다.

RAR = 37.45(타격) + 22.9(Replacement Level) + 10.8(수비) + 2.33(포지션 조정) + 8.8(주루) = 82.28
WAR = RAR/10 = 8.2

Fangraphs에서 저평가되었던 주루 능력을 제대로 평가해준 결과, Chase Utley는 이제 8.2승짜리 선수가 되었다. 워낙 주루능력이 좋은 선수이다 보니, 주루를 이렇게 반영해주지 않았더라면 억울할 뻔 했다.


이번에는 Joe Mauer를 재평가해 보자.

EqBRR에 의하면 Joe Mauer의 주루 능력은 -3.60으로 나온다. 포수들은 일반적으로 좋은 주자가 아니라는 상식과 일치하고 있다.

포수 수비력
은 아직 의견이 분분한 분야이나... 이 글을 참고하면 Mauer는 2009년 수비에서 4.4점 기여한 것으로 되어 있다. 역시 Mauer는 수비가 좋은 포수라는 상식과 일치하는 결과이다.

이 둘을 기존 계산식의 주루와 UZR 대신 넣어서 계산해 보면,

RAR = 57.5(타격) + 20.2(Replacement) + 4.4(수비) + 5.03(포지션 조정) - 3.6(도루) = 83.43
WAR = RAR/10 = 8.3

수비에서 플러스 된 대신 주루에서 마이너스가 되어 RAR은 0.5점 올라가는 데 그쳤다. 결국 8.3 WAR로 거의 같은 결과를 얻게 됨을 알 수 있다. 비록 결과값은 비슷하지만 이것은 주루와 수비를 제대로 반영해 준 값이다.


나로서는 위의 방법이 크게 어렵지 않으면서도 타자의 공/수/주를 모두 커버하고 있어서 현재로서는 가장 좋은 툴이라고 생각하고 소개한 것이지만, 이러한 방법이 타자를 평가하는 단 하나의 절대적인 기준이 될 수는 없다. 취향에 따라 특정 스탯을 넣을 수도, 뺄 수도 있다. 예를 들어 EqA를 선호한다면 위의 계산에서 wRAA와 EqBRR을 빼고 대신 EqA로부터 Batting+Running Runs를 유도하여 넣어 주면 될 것이다. 혹 수비 스탯은 아무 것도 믿을 수 없다는 매우 회의적인 시각을 가진 사람이라면, UZR를 빼 버리면 될 것이다. 어떻게 활용하느냐는 각자의 몫이다.

또한, 세이버메트릭스에 절대적으로 의존하기보다는 활용 가능한 모든 정보(스카우팅 등)를 총 동원하여 여러 가지 각도에서 선수를 평가하는 것이 더욱 좋을 것이다. 물론 전문적인 스카우팅 훈련을 받거나 직접 선수생활을 해보지 않은 보통의 팬들이 자기 스스로의 안목을 가질 수 있는 방법은 역시 세이버메트릭스 만한 것이 없다고 생각하지만...


(이 글은 한국야구팬사이트에서도 보실 수 있습니다.)


Today's Music : Phil Collins Playing Drums!!! (with Chester Thompson)




Phil Collins는 무수히 많은 히트곡을 만든 송라이터이자 보컬리스트로서 유명하지만, 사실은 그런 것 이전에 매우 탁월한 드러머였다. 특히 Genesis의 초기 앨범들을 들어보면 Collins의 드럼 실력에 정말 놀라게 될 것이다. Collins는 공연시에 주로 자신의 드럼 연주로 오프닝을 장식하곤 했는데, 위의 두 라이브 클립에서는 세션 드러머 Chester Thompson(역시 아주 뛰어난 드러머임)과 환상적인 호흡을 보여준다.

Collins는 올해 가을, 아쉽게도 드러머로서 은퇴를 발표했다. 척수 부위의 부상으로 인해 스틱을 잡을 수조차 없게 되었기에, 50년간 쳐 왔던 드럼을 더 이상 칠 수 없게 되었다는 것이다. 너무나도 안타까운 일이 아닐 수 없다.

Posted by FreeRedbird
:

Jon Lester의 2009년 시즌 기록을 예로 하여 WAR을 구해 보자.


투수에 대한 이전 포스팅
에서 우리는 투수의 퍼포먼스를 평가하는 여러 가지 스탯을 살펴본 바 있다. 이 스탯들은 모두 해당 투수가 얼마나 실점을 하는지를 9이닝당 비율로 표시한 것이다. 댓글을 통해 ERA와 FIP, BABIP에 대해 camomile님과 매우 유익한 토론이 진행되었으므로 투수의 평가에 대해 관심이 있으신 분들은 꼭 위의 링크를 눌러 댓글을 읽어보시기 바란다. 원래 세이버메트릭스는 열린 개념이므로 정해진 결론은 없으며, 선택은 물론 여러분 각자의 몫이다...

어쨌거나, ERA나 FIP, tRA 등과 같은 스탯은 9이닝당 실점 수준을 보여 주지만, 여기에는 실제로 해당 투수가 그 시즌에 몇 이닝을 던졌는지는 반영되지 않는다. 9이닝당 1실점을 하는 압도적인 선발투수라고 해도, 50이닝만을 던지고 부상으로 시즌아웃 되었다면, 결코 좋은 평가를 하기는 어려울 것이다. 즉, 투수의 가치(Value)를 평가하기 위해서는 그가 얼마나 많은 이닝을 책임져 주었는지가 반드시 고려되어야 한다.

여기에서는, Fangraphs의 투수 WAR(Wins Above Replacement Level)를 계산하는 방식을 모델로 하여 투수의 가치를 구하는 방법을 살펴볼 것이다. 늘 강조하듯이 이것은 절대적인 단 하나의 방법은 아니며, 현재 나와 있는 여러 가지 방법 중 (내가 보기에) 가장 그럴 듯하여 소개하는 것이다. 또한 Fangraphs가 꽤 양질의 데이터를 모두 공짜로 보여주고 있어서 누구나 쉽게 찾아볼 수 있다는 장점도 있다.

(참고: 타자의 WAR 계산은 이전 포스팅을 참고.)

이 글에서는 우선 선발투수만을 대상으로 하고자 하며, 구원투수는 다음 포스팅에서 다루게 될 것이다. 구원투수를 따로 다루는 이유는 구원투수의 WAR 계산시 LI를 반영하는 단계가 중간에 포함되므로 별도의 설명이 필요하기 때문이다. 안그래도 항상 글이 긴 편인데, 구원투수의 LI 이야기까지 하면 아무도 읽고싶지 않은 엄청난 길이가 되어버릴 듯하여 글을 분리하기로 하였다.

이제부터 2009년 Jon Lester의 기록을 가지고, 투수의 WAR를 구하는 방법을 차례차례 살펴보도록 하겠다.
Fangraphs는 이 과정을 무려 일곱 개의 글에 걸쳐 설명하고 있는데, 내가 이걸 이해하는 데에는 무척 오랜 시간이 걸렸다. 나는 어떻게든 이 포스팅 하나로 몽땅 설명을 해 보고자 한다. 그것도 일곱 개의 원문보다 더 쉽게 말이다. 이게 가능한 목표일지는 모르겠지만... -_-;;;;


1. 투수가 속해 있는 리그의 평균 RA를 산출

우선 구하고자 하는 것이 ERA가 아니라 RA임에 유의해야 한다. 모든 종류의 실점을 아우르는 것이다.

Lester는 AL에서 뛰고 있다. 2009년 AL 전체 기록을 보면, 20173 1/3 이닝에서 10793점을 득점 혹은 실점하였음을 알 수 있다. (이런 기록은 Baseball-Reference에서 쉽게 얻을 수 있다.) 우리가 원하는 것은 경기당 평균 실점, 좀 더 정확히 이야기하면 9이닝당 평균 실점이다. 아래와 같이 간단히 계산할 수 있다.

AL avg RA = 10793 / 20173.333333 * 9 = 4.82


2. 투수의 조정 RA 산출

먼저 투수의 평균 실점 수준을 나타내는 스탯을 하나 골라서 가져온다. Fangraphs는 FIP를 이용하고 있고, 나도 FIP를 선호하므로, 여기에서는 FIP를 사용하도록 하겠다. (ERA나 tRA 등을 이용하고자 하는 경우에 대해서는 조금 아래에서 설명을 따로 드리도록 하겠다.) Lester의 2009년 FIP는 3.15이다.

FIP는 ERA Scale의 스탯이므로, 이를 RA Scale로 바꾸어 주어야 한다. ERA와 RA 사이에는 0.92:1의 관계가 경험적으로 존재하므로, 3.15를 0.92로 나눠 주면 RA Scale이 된다.

다음은 구장 효과인데... 구장 효과는 계산 방법이 여러가지이고 계산 방법에 따라 결과도 조금씩 다르다. 일단은 Fangraphs에서 제시하는 2004-2008년 5년간의 득점 Park Factor를 이용하도록 하겠다. Red Sox의 경우는 1.03으로 되어 있다. (이것은 홈에서 절반을 플레이하고 원정에서 절반을 플레이한다는 것을 이미 반영한 Adjusted Park Factor이다.) 즉, Lester는 Red Sox에서 뛰게 됨으로 인해 1.03배 더 실점하는 페널티를 가지고 있는 것이므로, 이를 보정해 주기 위해 다시 1.03으로 나눠 주어야 한다.

이 두가지 단계를 계산해 주면...

Adjusted RA = 3.15 / 0.92 / 1.03 = 3.32

이 3.32라는 숫자의 의미는... 중립적인 구장에서 평균 수준의 팀 동료들이 수비를 하고 있고, 상대 타선 역시 평균 수준의 선수들로 채워져 있을 경우, Lester가 9이닝을 던지면 3.32점 실점할 것이라는 뜻이다.

* 주 : FIP보다 ERA를 더 선호하는 경우, 위의 계산에서 FIP 대신 ERA를 사용하여 동일한 방법으로 Adjusted RA를 얻으면 된다. tRA를 사용하고자 하는 경우, tRA는 이미 RA Scale의 스탯이므로 0.92로 나눠 줄 필요가 없다. tRA에 구장 효과만 반영해 주면 된다.


3. 게임 당 평균 투구 이닝 계산

Lester는 32게임에 나와 203 1/3 이닝을 던졌으므로, 게임당 평균 투구 이닝은 다음과 같다.

IP/G = 203.333333 / 32 = 6.35


4. Runs per Win 계산

이 부분이 가장 어려운 부분일 것 같은데... 보통의 상황에서는 10점 = 1승으로 대충 계산하면 별로 오차가 발생하지 않는다. 하지만, 투수는 팀의 실점에 미치는 영향이 워낙 크기 때문에, 어떤 투수가 마운드에 있는지에 따라 Run Scoring Environment가 바뀌고, 이에 따라 점수와 승수의 관계도 바뀌게 된다.

조금 더 쉽게 생각하면... Lester와 같은 좋은 투수는 실점을 덜 하게 되므로, 보통 투수가 마운드에 있을 때에 비해 득점을 덜 해도 승리를 할 수 있게 되는 것이다. 반대로 3류 투수가 마운드에 있다면, 소속팀이 승리를 하기 위해서는 더욱 많은 득점을 해야 할 것이다. 이러한 변화를 반영하는 것이다.

투수의 퍼포먼스에 따른 점수와 승수의 관계를 계산하는 방법은 역시 여러가지가 있으며, 대부분은 Pythagenpat과 같은 득점/실점과 승률의 관계로부터 계산식을 이끌어내게 된다. 그러나, Pythagenpat을 직접 사용할 경우 제곱근을 구해야 하는 등 계산식이 복잡해지므로, 다음과 같은 근사식을 사용한다.

[((상대 팀 이닝*상대 팀 실점수준)+(소속 팀 이닝*소속 팀 실점수준)/(상대 팀 이닝+소속 팀 이닝))+2] * 1.5

근사식도 너무 복잡해 보이지만... 예를 통해 보면 조금 쉬울 것이다. 이닝 및 실점수준은 모두 9이닝을 기준으로 한다는 것을 기억하자.

상대 팀의 수준은 천차만별이겠지만... 162게임의 긴 시즌을 치르다 보면 여러 상대를 만나게 되므로, 결국 리그 평균에 가까워질 것이라고 볼 수 있다. 따라서, 상대 팀은 9이닝 당 리그 평균인 4.82점을 실점할 것으로 볼 수 있다. 한편 소속 팀의 경우... Lester가 선발로 나온 경기에서 9이닝 중 Lester가 책임져 주는 이닝은 평균 6.35이닝이었다. 나머지 2.65이닝은 리그 평균 수준으로 실점한다고 보고 계산한다. (분석 대상인 투수를 제외하고는 모두 리그 평균을 가정한다. 이렇게 해서 팀 동료들의 활약으로 인해 이득이나 손해를 보는 부분을 제거하고자 하는 것이다.)

이렇게 하면, 상대 팀 9이닝 + Lester 6.35 이닝 + Lester의 동료 구원투수들 2.65이닝 = 총 18이닝이 분모가 된다. 계산을 해 보자.

Runs per Win = [(((9 * 4.82) + (6.35 * 3.32 + 2.65 * 4.82)) / 18) + 2] * 1.5 = 9.43

즉, Lester가 마운드에 있음으로 해서 9.43점 = 1승으로 바뀌는 것이다.


5. RAA/9 및 WAA/9, 기대 승률 계산

2번에서의 계산 결과 Lester는 9이닝 당 평균 3.32점을 실점하는 것으로 계산되었다. 한편, 리그 평균 투수들은 4.82점을 실점하므로, Lester는 리그 평균 투수에 비해 9이닝당 1.49점을 덜 내주는 것이 된다. (1.50이 아닌 이유는 소숫점 반올림 때문이다. 아래에 첨부한 엑셀파일 참고.) 이를 4번에서 계산한 9.43점 = 1승의 관계를 이용하여 환산하면, Lester는 리그 평균 투수에 비해 9이닝당 0.158승 소속팀에 더 기여하는 것이 된다. 리그 평균 투수는 이론적으로 승률이 5할일 것이므로, 팀 동료와 상대팀 선수들이 모두 평균 수준일 때 Lester 등판 시의 9이닝 당 기대 승률은 0.500 + 0.158 = 0.658이다.


6. Replacement Level

Replacement Level 팀은 .300 정도의 승률을 가지는 것으로 생각된다. 팀 승률이 .300이라고 해서 선수들이 모두 평균이 50%일 때 각각 30% 정도의 능력을 가지고 있는 것은 아니다. 실제로는 .300 타자, .300 투수, .300 수비의 팀은 승수효과에 의해 .300보다 훨씬 낮은 승률을 기록하게 되어 버리는 것이다.

.300의 팀 승률을 얻기 위해, 선발투수는 .380, 구원투수는 .470 정도의 능력이 요구된다. 이는 어느 정도 통계적으로도 검증된 수치이고... 이론적인 설명을 위해서는 Odds Ratio Method에 대한 배경지식이 필요한데... 이 이야기를 여기서 하게 되면 글이 완전히 산으로 가게 되므로... 이 부분은 추후 별도로 포스팅하도록 하겠다.

여기서는 일단 Tom Tango와 Fangraphs의 주장을 받아들여 Replacement Level의 투수의 승률이 .380인 것을 인정하고 넘어가도록 하자. 이것은, 소속 팀의 다른 동료들이 모두 리그 평균 수준이고, 상대 팀도 전부 리그 평균 수준의 선수들로 구성되어 있을 경우, Replacement Level 투수(예를 들어 AAAA 투수)가 선발 등판하여 9이닝을 던지면 .380의 승률을 기대할 수 있다는 의미이다.


7. WAR/9

9이닝당 Jon Lester의 기대 승률은 0.658이었다. 그리고 Replacement Level 선발투수의 기대 승률은 0.380이었다. 따라서, 9이닝을 기준으로 Lester는 Replacement Level 투수보다 0.658 - 0.380 = 0.278 더 기대 승률이 높다고 할 수 있다.


8. WAR

드디어 마지막 단계까지 왔다. 7번에서 얻은 9이닝 당 숫자를 Jon Lester가 던진 실제 이닝으로 환산하여 주면 되는 것이다. Lester는 203 1/3 이닝을 던졌으므로...

WAR = 0.278 * 203.333333 / 9 = 6.3

결국 2009년 시즌에, Jon Lester는 Replacement Level 투수에 비해 6.3승 더 팀에 기여한 것이다.


- NL 투수 계산하기 -

NL 투수는 AL 투수와 비교하여, 매 경기마다 타석에 들어선다는 중요한 특징이 있다. 거의 대부분의 경우, 투수들은 형편없는 타자들이므로, 타석에서는 팀에 오히려 피해를 입히게 된다. 이를 반영해 주어야 제대로 된 선수 가치의 계산이 가능할 것이다.

2009년 Tim Lincecum의 경우, 투구 내용만 가지고 보면 8.9 WAR의 시즌을 보냈지만, 타석에서 0.7승 만큼 오히려 팀에 해를 끼쳤으므로, 결국 최종 WAR는 8.9 - 0.7 = 8.2 가 되는 것이다.

첨부파일을 통하여 이를 확인하시기 바란다.


- 투수의 수비 -

투수의 수비력은 이 글을 쓰는 현재 WAR에 반영되고 있지 않고 있다. 투수의 UZR 데이터가 없기 때문이다. 수비가 좋은 투수와 좋지 않은 투수의 경우 이를 적절히 감안하여 주어야 할 것이다. 특별한 근거는 없으나 투수 수비의 영향은 가장 극단적인 경우 한 시즌에 최대 +/- 5 Runs 정도 되지 않을까 싶다.


첨부: 선발투수 WAR 계산의 예 (AL, NL 각 5명)


Today's Music : Pearl Jam - Given to Fly (Live)


위대한 밴드의, 위대한 곡의, 위대한 공연.
Posted by FreeRedbird
:

(주: 이 글의 내용 및 첨부된 계산 파일은 일부 오류를 포함하고 있으므로, 내용을 수정하여 다시 올린 새 글을 참고하시기 바란다.)

 


Chase Utley : 2008년 NL MVP 투표에서는 고작 15위에 머물렀지만, WAR로 보면 Pujols에 이어 메이저리그 전체 2위였다. 올 시즌 타자 WAR 리스트에서도 Pujols와 Hanley Ramirez에 이어 3위를 달리고 있지만, MVP 투표에서는 또 10위권 밖으로 밀려날 것이다. 항상 실력에 비해 충분한 인정을 받지 못하고 있는, 심각하게 저평가된 플레이어이다.


타자가 팀의 득점에 기여하는 방법은 크게 보아 공격(타격), 수비, 주루가 있을 것이다. 그래서 좋은 타자를 이야기할 때 "공, 수, 주 3박자를 두루 갖췄다"는 표현을 사용하기도 한다.

각각의 타자에 대해서 이러한 득점 기여의 정도가 어느 정도인지를 측정하기 위해, 지금까지 공격, 수비, 주루의 측면을 차례로 검토해 왔다. 또한 비교 대상으로서 절대적 기준이 되는 Replacement Level 및 수비 포지션에 따른 조정 수준에 대해서도 살펴본 바 있다. 이 글을 쓸 때까지 다소 시간 간격이 있었으므로... 다시 한번씩 훑어 보시면 이해에 도움이 되시리라고 생각하여 링크를 걸어 본다.

1. 타격 기여 수준 : wOBA 및 wRAA
2. 비교의 절대적 기준 : Replacement Level
3. 수비 기여 수준 : UZR, TZ
4. 포지션별 차이 : Positional Adjustment
5. 주루 기여 수준 : 도루 성공과 실패

이를 종합하면 특정 타자의 전체 기여 수준, 혹은 그의 가치(Value)를 계산할 수 있는데, 이것이 바로 RAR(Runs Above Replacement level) 및 WAR(Wins Above Replacement level) 이다.

먼저 RAR을 구해 보면... 위의 다섯 가지를 차례로 더해 주면 된다.

RAR = wRAA + Replacement Level + UZR + Positional Adjusment + SB/CS Runs

이제 RAR을 WAR로 환산해야 하는데... 원칙적으로는 팀 전체 득점과 실점에 대해 해당 플레이이어의 RAR이 미치는 점수 변화 정도를 가지고 Pythagorean Expectation의 식에 넣어서 계산하는 것이 맞지만... Pythagorean 관련 포스팅에서 언급한 바와 같이, "10점 득점 = 1승"의 단순한 계산 방법이 의외로 높은 정확도를 가지므로, 계산의 편의를 위해 이를 활용하는 것이 좋을 것이다. 즉, 아래와 같이 쉽게 계산할 수 있다.

WAR = RAR/10

이제부터 실제 예를 통해서 자세히 살펴보자.
계산에 필요한 Raw Data는 Retrosheet, Baseball-Reference, Fangraphs의 세 사이트에서 얻었으며, 이후의 모든 계산은 직접 하였다. 계산에 사용한 엑셀 sheet를 첨부하였으므로, 계산 결과를 쉽게 확인하실 수 있을 것이다.


아래는 Chase Utley의 2008년 성적이다.

공격 : 159 G, 607 AB, 707 PA, 99 1B, 41 2B, 4 3B, 33 HR, 50 NIBB, 14 IBB, 27 HBP, 5 RBOE
수비 : 20.2 UZR
주루 : 14 SB, 2 CS


(NIBB : 고의사구가 아닌 볼넷, IBB : 고의사구, RBOE : 에러로 인해 타자가 출루한 경우)

순서에 따라 차례차례 계산해 보면...

1-1. Park Adjust

먼저 wOBA를 계산하기에 앞서서, 구장으로 인한 효과를 보정해 주는 것이 계산의 신뢰도를 높이는 데 도움이 될 것이다. Park Factor를 계산하는 방법은 여러 가지가 있고, 개인적으로는 어떤 방법이 가장 좋은지 아직 결론을 내리지 못하고 있다. 일단 여기서는 Fantasy411의 2006-08년 Park Factor를 빌려와서 사용하도록 하겠다. (단, RBOE의 Park Factor는 어디에서도 얻을 수가 없었다. 어차피 Utley의 RBOE가 5에 불과하여 Park Factor가 있더라도 그다지 영향은 없었겠지만...)



정밀한 조정을 위해서는 Utley의 경기별 홈구장을 일일이 찾아서 계산해야겠지만... 너무 품이 많이 들므로, 다음과 같은 간단한 방법을 사용하였다. 1) 타석의 절반은 홈, 절반은 원정에서 기록한 것으로 본다. 2) 원정구장들의 평균 Park Factor는 100이다. (실제로는 홈구장을 뺀 15개 NL 구장의 평균이므로 100에 근접한 값일 것이나, 큰 오차는 없으리라고 본다) 3) 따라서, 홈 구장 Park Factor의 50%를 Raw Stat에 적용하여 보정한다.

이렇게 조정한 Utley의 성적은 아래와 같다.
707 PA, 98 1B, 41 2B, 4 3B, 29 HR, 51 NIBB, 13 IBB, 27 HBP, 5 RBOE

홈런이 줄어든 것이 눈에 띈다. 나머지 기록은 거의 변화 없음을 알 수 있다.

1-2. wOBA 및 wRAA 계산

이전의 포스팅에서 wOBA를 소개할 때에 비하여, 지금은 wOBA를 더욱 신뢰하게 되었다. 최근 THT의 Colin Wyers가 수행한 연구에 의하면, 90년대 및 2000년대의 메이저리그 기록을 가지고 분석할 경우 wOBA가 EqA보다도 정확도가 좀 더 높은 것으로 나타났기 때문이다. 현재 세이버메트릭스 진영에서 득점 기여 수준을 측정하는 가장 우수한 스탯으로 여겨지는 wOBA와 EqA의 승부(둘 다 실제 득점과의 correlation이 0.97로 매우 높으므로, 정말 뛰어난 스탯들이다)에서 wOBA가 근소하게나마 더 우수한 것으로 판명되었기 때문에, 타자의 공격 기여도를 측정함에 있어 wOBA를 근간으로 삼는 것은 현재로서는 최선의 방법이라고 생각된다. 또한, wOBA가 EqA보다 훨씬 계산식이 간단하고 이해하기 쉽다는 것도 큰 장점이다.

계산식 및 이론적 근거는 이전의 포스팅을 참고하시고... Park Factor를 적용한 기록을 가지고 Utley의 wOBA를 계산한 결과는 다음과 같다. (앞에 첨부한 엑셀 sheet 참조)

(Park Adjusted) wOBA = 0.382

한편, 2008년 NL 전체 타격 기록을 가지고 구한 리그 평균 wOBA는 0.330이므로, 이를 이용하여 Utley의 wRAA를 구하면 다음과 같다. (엑셀 sheet 참조)

wRAA = 32.05 Runs

즉, 2008년 시즌의 Chase Utley는 NL 평균 타자에 비해 팀 득점에 32.05점 더 기여했다는 의미가 된다.


2. wRAA를 Batting RAR로 : Replacement Level의 설정

wRAA는 Runs Above Average라는 단어의 의미에서도 알 수 있듯이 리그 평균과 비교하는 스탯이므로, 이를 Replacement Level과의 비교로 조정하여 RAR(Runs Above Replacement leve)로 만들 필요가 있다. 이전부터 한 시즌을 기준으로 리그 평균 수준의 주전 선수와 Replacement Level의 땜빵 선수 차이에는 20점 혹은 2승 정도의 차이가 난다는 경험적 분석 결과들이 있었는데, 작년 말에 THT에 게재된 Sean Smith의 뛰어난 연구는 이를 다시 한 번 확인시켜 주었다. 즉, 600 PA를 기준으로 리그 평균과 Replacement Level의 사이에는 20점(20 Runs)의 기여 수준 격차가 있다는 것이다. 이러한 격차를 wRAA 값에 더해주면, RAR로 쉽게 환산된다.

Utley의 경우로 돌아가면, Utley는 707 PA를 기록했으므로, 707 PA에서 평균과 Replacement Level의 격차를 계산해 보면...

600/20 x 707 = 23.57 Runs

이 값이 Utley의 Replacenemt Level 값이 된다.


3. 수비 기여 수준 : UZR

이전의 포스팅에서 ZR을 개선한 합리적인 스탯으로 UZR, TZ(TZR), +/-를 소개한 바 있다. 그 포스팅에서 언급한 바와 같이, +/-는 유료 정보이며 연말에 발표되고, TZ의 경우 현역 메이저리거들에 대한 데이터는 아직 작업중인 상태여서 조회가 되지 않으므로, 현재로서는 UZR이 거의 유일한 선택이라고 할 수 있다. UZR은 Fangraphs에 거의 실시간으로 계속 업데이트 되므로, 지난 시즌의 결과물 뿐 아니라 현재 진행중인 시즌에 대해서도 누구가 쉽고 빠르게 정보를 얻을 수 있다. 뿐만 아니라, TZ의 창시자인 Sean Smith조차 UZR이 가장 뛰어난 수비 스탯이라고 인정하고 있으므로, TZ나 +/- 대신 UZR을 쓰는 것이 그다지 나쁜 선택은 아닐 것 같다.

여담이지만, 2000년대 초중반에 Cardinals는 UZR의 창시자인 MGL(Mitchel Lichtman)에게 상당히 큰 돈을 주고 UZR 데이터를 독점한 바 있다. UZR이 Fangraphs에 공개될 수 있었던 것은 이러한 독점 계약이 종료되었기 때문이다. 이런 것으로 보면 Cardinals도 이전부터 세이버메트릭스에 상당한 관심과 이해가 있었던 것 같다.

다시 본론으로 돌아가서... Utley는 2루에서 20.2 Runs, 1루에서 0.4 Runs를 기록하였으므로, 이를 간단히 더해주면 된다.

UZR = 20.6 Runs

이는 Utley가 2008년 시즌에 수비를 통해 실점을 20.6점 방지하는 정도의 기여를 했음을 의미한다.


4. Positional Adjustment

이전의 포스팅에도 있지만, 다시 한 번 포지션별 조정 점수를 정리해 보면 아래와 같다.

포수 : +12.5 Runs
유격수 : +7.5 Runs
중견수, 2루수, 3루수 : +2.5 Runs
좌익수, 우익수 : -7.5 Runs
1루수 : -12.5 Runs
지명타자 : -17.5 Runs


이 조정 점수는 162게임의 풀 시즌을 기준으로 만들어진 것임에 유의해야 한다. 162게임을 이닝으로 환산하면 1,458 이닝이 되므로, 실제 수비에 참가한 이닝을 1458로 나눠서 위의 조정 점수를 곱해 주면 실제 해당 시즌의 조정 점수가 될 것이다.

Utley는 2008년에 2루에서 1395 2/3 이닝, 1루에서 14이닝을 뛰었다. 따라서...

((2.5x1392.67) + (-12.5x14)) / 1458 = 2.27 Runs

이 점수가 Utley의 수비 포지션에 따른 최종 조정 점수가 된다.


5. 주루플레이의 기여 수준: 도루 성공과 실패

이전의 포스팅에서 밝힌 바와 같이, 도루 성공은 0.175, 도루 실패는 -0.467점의 가치를 지닌다. 개인적으로 그 밖의 주루 스탯에 대해 아직 신뢰하지 않고 있는 관계로, 단지 도루 성공과 실패만을 계산할 것이다.

Utley는 2008년에 14 SB, 2 CS를 기록하였으므로...

14x0.175 - 2x0.467 = 1.52 Runs

도루를 통해 1.52점 만큼 팀 득점에 기여하였다는 결론을 얻을 수 있다.


6. RAR 및 WAR의 산출

이제 모든 구성 요소의 계산을 다 했으므로, 지금까지 나온 값을 모두 더하면 타자의 총 기여 수준, 혹은 그의 가치(Value)가 된다.

RAR = 32.05(타격) + 23.57(Replacement Level) + 20.6(수비) + 2.27(포지션 조정) + 1.52(도루)
      = 80.01


득점 10점은 1승과 동일하므로,

WAR = RAR/10 = 8.0

즉, 거칠게 표현하자면, 2008년 Chase Utley는 8승짜리 플레이어였다는 것이다.

2008년 Phillies는 92승 70패를 기록하였는데, 만약 Utley 대신 1년 내내 Tadahito Iguchi나 Eric Brunett과 같은 Replacement Level 플레이어들로 2루를 돌려막기 했다면, Phillies는 아마도 84승 78패를 기록했을 것이라는 이야기이다. 이런 성적으로는 플레이오프에 나갈 수 없었을 것이고, 따라서 월드시리즈 우승도 할 수 없었을 것이다. 이것이 바로 진정한 스타 플레이어 한 명의 위력이다.

Fangraphs의 Utley 페이지를 보면, 2008년 그의 WAR를 8.1로 계산하고 있다. Fangraphs의 로직은 이 글에서 내가 설명해 온 바와 동일하다고 보면 된다. 0.1의 오차는 타격 기여도 계산에서 생겨난 것인데, 아마도 wOBA 계산 방법이 약간 다르고, Park Factor의 적용에도 차이가 있을 것으로 추정된다. 또한, Fangraphs는 주루를 따로 표시하지 않고, 타격에 합산하여 놓고 있다.


한편, 첨부된 엑셀 파일에는 작년 AL MVP였던 Dustin Pedroia의 WAR도 계산되어 있다. 다만, 이쪽은 Fangraphs가 6.6 WAR로 계산했는데 반해 엑셀 sheet에서는 5.8이 되어서, 차이가 0.8로 제법 크게 나타나고 있다. 실제 계산된 값을 보시면 알 수 있듯이 타격 기여 수준을 빼고는 값이 완전히 동일하므로... 역시 Park Factor의 차이가 작용하고 있는 것으로 추정된다. (Fangraphs는 어떤 Park Factor를 적용하고 있는지 명시하지 않고 있다.) 또한, schedule의 차이를 고려한 플러스 점수가 있는 것 같기도 하다. AL 동부에 속해 있는 Red Sox는 아무래도 Phillies보다는 강한 팀들을 상대로 게임을 하게 되므로, 이를 보정해 주었을 가능성이 있다. 이러한 schedule에 의한 보정이 어떻게 이루어지는지 파악이 될 경우에는, 여기에 추가로 업데이트를 하고자 한다.

Posted by FreeRedbird
:

이 블로그에서 트레이드의 이해득실을 계산할 때나 특정 플레이어의 기여도를 비교할 때에 주로 사용한 비교 툴은 WAR(Wins Above Replacement) 였다. 그런데, 생각해보면 세이버메트릭스의 개념에 대해서 자세히 설명한 것은 FIP와 BABIP 정도밖에 없었던 것 같다. 이래가지고서야 WAR를 가지고 아무리 이야기해봤자 결국 잘난척에 불과하지 않을까...라는 생각이 들었다.

그래서 WAR의 개념과 계산 방법을 설명하기로 결심했지만... 문제는 도대체 어디까지 거슬러 올라가야 하는가였다. 이 블로그를 방문하시는 분들께서 스탯에 대해 얼만큼의 지식을 가지고 있는지 알 수도 없고... 결국 이런저런 고민 끝에, OPS와 그 변종들로부터 출발하기로 했다. 나는 Fangraphs와 같이 wRAA를 WAR 계산시 공격력의 척도로 삼고 있으므로, 이 글에서는 wRAA의 계산 방법까지 다뤄 보고자 한다.


요즘도 야구 중계를 보면 사실 타자에 대해 주로 언급되는 스탯은 타율(AVG), 홈런(HR), 타점(RBI)이 고작이다. 우리나라 중계는 물론이거니와 메이저리그 중계라고 해서 크게 다르지는 않은 것 같다. 그나마 OPS가 널리 퍼진 덕에, 출루율(OBP)과 장타율(SLG) 정도를 덤으로 들을 수 있는 정도이다.

타율이나 타점과 같은 석기시대의 스탯들로 타자를 평가하면 문제가 많다는 이유에 대해서는 자세한 설명을 생략하고자 한다. 이전의 FIP나 BABIP에 대한 글 뿐 아니라, 기회가 있을 때마다 같은 말을 반복해왔기 때문이다. 타율은 타자 본인의 능력과 상관없는 많은 요소들, 이를테면 상대팀의 수비 능력과 같은 외부 요인들이 많은 영향을 끼치므로, 타자의 능력을 평가하는 잣대로 쓰기에는 불완전한 부분이 많다는 정도로만 정리하고 넘어 가겠다. 타점은 팀 동료들이 해당 타자 앞에서 얼마나 출루를 해 주느냐에 더욱 크게 좌우되므로, 개인 스탯이라기보다는 팀 스탯에 가까운 숫자라고 할 수 있다. 타자의 생산성을 평가하는 지표로는 역시 낙제점을 면키 어렵다.


1. OPS

세이버메트릭스 최초의 히트작이라고도 할 수 있는 OPS 부터 살펴보자.

OPS는 On base percentage(OBP, 출루율) Plus Slugging percentage(SLG, 장타율)의 약어이다. 따라서 OBP와 SLG만 구할 수 있다면 쉽계 계산된다. 이 둘을 구하는 식은 아래와 같다.

OBP = (H + BB + HBP) / (AB + BB + SF + HBP)
SLG = TB / AB = (1B + 2*2B + 3*3B + 4*HR) / AB


이 둘을 그대로 더한 것이 OPS이다. 즉,

OPS = OBP + SLG

이렇게 된다. OPS가 히트하게 된 데에는 타자의 출루 능력과 장타력을 골고루 평가한다는 내용상의 우수함 뿐 아니라, 계산식이 단순하여 누구나 쉽게 이해하고 계산할 수 있다는 장점도 크게 작용하였다. 이후 보다 정밀한 스탯이 무수히 많이 개발되었지만, 한 눈에 타자의 생산성을 훑어보는 데에는 여전히 요긴하게 쓰이고 있다.


2. OPS+

이후 구장마다 타자에게 유리한 구장이 있고 불리한 구장이 있다는 것을 감안하여, 조정 OPS(OPS+, Adjusted OPS)가 등장하게 된다. OPS+는 구장 효과(Park Factor)를 반영할 뿐 아니라, 100을 평균으로 하여 스케일도 조정되기 때문에, 특정 시즌에 특정 타자가 리그 평균에 비해 얼마나 좋은 활약을 펼쳤는지 알 수 있다. (100보다 큰 숫자는 리그 평균보다 좋은 활약을 했음을 의미하며, 100보다 작으면 그 반대이다. 또한 100에서 멀어질수록 평균과의 차이가 크다.)

계산식은 다음과 같다.

OPS+ = 100 * ((OBP/lgOBP + SLG/lgSLG) - 1)

혹은 구장 효과를 적용하였음을 나타내기 위해 아래와 같이 표현하기도 한다.

OPS+ = 100 * ((OBP/lgOBP + SLG/lgSLG) - 1) / BPF

여기서 BPF는 타자의 Park Factor를 의미한다.


이렇게 되면 꽤 많이 발전한 것 같지만... OPS의 개념 자체에 대한 비판이 이어졌다. OPS이든 OPS+이든 기본적으로 가중치 없이 OBP와 SLG를 더해서 만들어지는 식이라는 점에서는 동일하다. 즉 출루율과 장타율을 동일한 가치로 취급하고 있는 것이다.

이러한 접근에 문제가 있음은 쉽게 알 수 있는데... 리그 평균 OBP와 리그 평균 SLG가 거의 1할 가까이 차이가 나는 데다가, 그 분포도 다른 것이다. 세이버메트리션들은 여기서 좀 더 나아가서, 득점과의 상관 관계를 통계적으로 구해 보았다. (타자가 타격을 하는 목적은 결국 팀이 득점하는 것이며, 그 외의 것은 모두 부수적인 것일 뿐이라는 사실을 기억할 필요가 있다.) 그 결과, 어떤 연구에서도 출루율과 득점과의 상관 관계(correlation)가 장타율과 득점과의 상관 관계보다 높게 나왔다. 이는 OPS와 같은 스탯을 계산할 때 출루율에 대해 얼마간의 가중치를 부여해야 한다는 의미가 된다.


3. GPA

이에 따라, GPA(Gross Production Average)가 발명되었다. 이 스탯은 출루율에 1.8의 가중치를 부여한 것이다.

GPA = (1.8*OBP + SLG) / 4

물론 이 식을 그대로 쓰지 않고 Park Factor를 적용, 조정하여 사용한다. 4로 나누는 이유는 AVG와 비슷한 정도의 scale을 얻도록 하기 위해서이다. 마치 타율과 비슷하게, GPA가 2할대 초반이 나오면 형편없는 타자이고, 3할이 나오면 아주 뛰어난 공격력을 지닌 타자라고 볼 수 있는 것이다.

GPA는 OPS보다 실제 득점과의 상관관계가 더 높으면서도 여전히 계산하기가 쉽다는 장점을 가지고 있다. GPA를 Runs, 즉 점수를 내는 데 기여한 수준으로 변환하는 공식들도 개발되어 있는데, 대표적인 것은 PA*1.356*(GPA^1.77) 이다.

여담이지만, "Moneyball"에서 Paul DePodesta는 OBP가 SLG보다 3배나 중요한 스탯이라고 주장한 바 있다. OBP가 중요하긴 하지만 그정도로 극단적인 OBP 우선주의는 좀 문제가 있다. DePodesta가 LA Dodgers에서 실패한 데에는 다 이유가 있는 것 같다...


4. RC, RC/27

이번에는 세이버 진영에서 내놓은 좀 더 복잡한 스탯들을 알아보자.

Bill James의 유명한 발명품들 중 하나인 RC(Runs Created)는 일단 아래와 같은 기본 형태를 가진다. (사실 이 스탯은 위의 GPA보다 훨씬 더 오래된 것이다.)

RC = (A*B) / C

A는 출루율을 반영한 어떤 값(On Base Factor)이며, B는 앞서 출루한 주자를 진루시키는 능력을 반영한 어떤 값(Advancement Factor)이다. C는 타자가 출루 내지는 진루를 시킬 수 있는 기회(Opportunity Factor)를 의미한다.

Bill James가 처음 RC를 고안한 이래로, 이 공식은 무려 14차례나 변형되어 왔다. 이를테면... 가장 기본적인 형태의 공식은 다음과 같다.

RC = ((H + BB) * TB) / (AB + BB)
      = OBP * SLG * AB


보다 널리 쓰이는 개량 버전 중 하나는 아래와 같다.

RC = ((H + BB - CS + HBP - GIDP) * (TB + 0.26 * (BB - IBB + HBP)) + (0.52 * SH + SF + SB)) / (AB + BB + HBP + SH + SF)

어이없다는 생각이 들 지도 모르겠으나... 이건 그나마 2002년 버전에 비하면 쉬운 공식이다. 필요한 숫자들이 많긴 하지만 모두 쉽게 얻을 수 있는 기본적인 스탯들이기 때문이다.

2002년 버전은 Wikipedia를 그냥 링크하도록 하겠다. 일일이 적자니 너무 길다... -_-;;;
클릭

링크에서... 위에 소개한 버전들을 쭉 지나면 2002 version이라는 것이 나온다. 읽을 수록 한숨만 나올 것이다. 통계적인 수치와 계산식을 통한 예측치를 일치시키려는 노력이 이렇게 계속되고 있지만... 그러면 그럴수록 식은 복잡해지고... 일반 팬들이 집에서 계산하기에는 무리가 많이 따르는 식이 되어 버리고 만다. 이 식을 바탕으로 한 득점 예상치의 오차가 5% 이내일 만큼 많이 정밀해진 것도 사실이지만... 그러면 그럴수록 오히려 활용하기는 더욱 어려워지고 있다.


[주: RC/27의 설명이 필요한 듯 하여 아래 paragraph를 나중에 추가하였다. 09/11/18]

한편, 공격력 측정 지표로 빈번히 이용되는 RC/27은 무엇일까?

RC/27은 단순히 RC를 27로 나눈 값이 아님에 유의하시길...!!!

RC/27 = 27 * RC / (AB - H + CS + GIDP + SH + SF)

계산하는 사람의 이론적인 이해 또는 입장에 따라 SH와 SF를 넣기도 하고 빼기도 한다. 개인적으로는 "SF는 넣고 SH는 제외해야 하지 않을까" 라는 생각을 하고 있다.

RC 대신 RC/27을 쓰는 이유는... RC가 누적 스탯이기 때문에, 절대적인 출장 기회가 많을수록 유리하기 때문이다. 예를 들어 어떤 플레이어가 부상으로 인해 시즌의 반 밖에 소화하지 못했다면, 그를 RC로 평가하는 것은 정당하지 못하다. RC/27의 개념은, 해당 타자 아홉 명으로 1번부터 9번까지 타순을 짠 다음, 9회까지 27아웃을 뛰는 동안 그 팀이 몇 점이나 득점할 수 있을지의 예상치를 산출하는 것이다. 따라서, 타석 수에 상관없이 절대적인 비교가 가능하다.

RC는 Bill James와 그의 동료들에 의해, 지금도 계속해서 개량 중인 스탯이다. "(출루능력 * 진루능력) / 기회"라는 이론적 기반 위에서, 실제 메이저리그 게임에서 통계적으로 관측되는 결과에 맞추기 위해 계속 식을 변형해 가는 것이다. Tom Tango는 이 이론적 기반 자체에 대해 의문을 제기한 바 있으며, 또한 RC가 홈런의 가치를 정확히 반영하지 못하고 있음을 보여주었다. Tom Tango의 비판에 대해서는 그의 홈페이지를 참고.

이러한 약점에도 불구하고, RC 특히 RC/27은 오랜 기간동안 타자의 공격력을 측정하는 지표로 매우 널리 이용되었다. 적어도 아래의 EqA나 wOBA가 나오기 전까지는 말이다.

5. EqA

이번에는 Baseball Prospectus의 야심작인 EqA를 살펴보자.

EqA는 Equivalent Average의 약자이다.
단어의 의미에서 알 수 있듯이, 역시 친숙한 AVG와 비슷한 숫자를 얻을 수 있도록 scale 조정을 한 스탯이다. 게다가 Equivalent는 리그에 대한 조정도 가능함을 의미한다. 즉 AA 레벨인 Texas League에서 뛰고 있는 어떤 유망주가 있을 때, 그의 활약 정도를 메이저리그로 옮겨 보면 어느 정도가 되는지 등의 분석이 가능하게 되는 것이다.

꽤 파워풀한 스탯 같지만... 역시 이런 스탯을 만들기 위해서는 엄청난 작업이 필요하다.

일단 아무 조정도 되지 않은 Raw EqA를 구해보면,

RawEqA = (H + TB + 1.5 * (BB + HBP + SB) + SH + SF - IBB/2) / ( AB + BB + HBP + SH + SF + CS + SB)

벌써 질렸는가? 이것은 단지 시작일 뿐이다.
이제부터 10번 이상의 변환을 거쳐야 한다. 하나하나가 결코 만만한 작업이 아니다.
이걸 일일이 설명하다가는 밤을 새야 할 것 같으므로, 그냥 Baseball Prospectus 사이트의 링크를 걸도록 하겠다.
클릭

이건 Runs Created 2002 버전보다도 몇 배나 어이없는 공식이다. RC의 경우는 엑셀을 이용하면 그럭저럭 노가다로 구할 수는 있지만... EqA는 솔직히 엄두조차 나질 않는다. 기껏해야 링크된 글을 몇 번 읽어보고 각각의 변환이 갖는 의미를 이해하는 정도가 고작이다.

주루플레이까지 포함하고 있고, 정교한 계산을 통하여 조정 작업을 거치게 되어 있으므로, 꽤 잘 만든 스탯인 것은 사실이지만 역시 일반 팬들이 활용하기는 너무 무리한 스탯이다.


이 밖에도 여러 OPS 대체 스탯이 만들어졌으나 일단 이 정도만 소개하고 넘어가고자 한다.


6. wOBA, wRAA

사실 진짜 소개하고 싶은 스탯은 바로 이 wOBAwRAA이다.

wOBA는 weighted On Base Average의 약자로, Tom Tango 외 2인이 쓴 책인 "The Book"에 잘 소개되어 있다. 앞으로 기회가 있을 때마다 이 책의 내용을 많이 소개할 예정인데... 2007년에 출판된 책으로, 세이버메트릭스의 새로운 교과서라고 해도 과언이 아닐 만큼 알찬 내용으로 잘 쓰여진 책이다.

세이버메트리션들은 이미 타자가 타석에 들어서서 발생한 어떤 "사건(Event)"이 득점에 미치는 영향을 오랜 기간에 걸쳐 조사해 왔다. 예를 하나 들어보자.

1999년부터 2002년간의 모든 메이저리그 게임을 이닝별, 상황별로 분석한 결과... 2사 만루 상황에서의 득점 기대값(Run Expectancy)은 0.815였다. 즉 이런 상황을 1000번쯤 맞게 된다면 815점 정도 득점할 확률이라는 것이다. 그런데... 타자가 여기서 만루홈런을 쳤다고 하자. 팀은 4점을 득점하고, 상황은 2사 주자 없음으로 바뀐다. 2사 주자 없음에서의 득점 기대값은 0.117로 나타나고 있다. 그렇다면, 앞의 만루홈런의 득점 가치(Run Value)를 구해 보자.

이 홈런으로 인해 득점 기대값은 0.815에서 0.117로 떨어졌다. 하지만 그 사이에 홈런으로 인해 팀은 4점을 득점하였으므로, 실제로는 0.117이 아니라 4.117이 된 셈이다. 따라서, 아래와 같이 식을 세울 수 있을 것이다.

0.815 + 만루홈런의 Run Value = 4.117

따라서, 2사 만루에서 홈런의 가치는 득점으로 환산하면 3.302 Runs가 됨을 알 수 있다.

이런 계산을 각 사건에 대하여 아웃카운트와 주자를 변화시켜 가며 모든 상황에 대해 해 보는 것이다. 이렇게 해서 사건별로 가중평균을 얻은 값은 아래와 같다.

홈런 : 1.397 Runs
3루타 : 1.070
2루타 : 0.776
1루타 : 0.475
에러 : 0.508
몸에 맞는 공 : 0.352
볼넷(고의사구제외) : 0.323
고의사구 : 0.179
폭투 : 0.266
아웃 : -0.299
(이하 생략 : 그 밖의 상황에 대한 데이터는 책을 참조하시기 바람... -_-;;; )

그렇다면 타자의 생산성을 어떻게 평가할 수 있을까? 홈런이나 안타 등이 가지는 가치는 아웃에 대비하여 구해야 할 것이다. "아무 것도 아닌 경우"란 존재하지 않기 때문이다. 타자는 아웃 당하거나, 아니면 어떤 방법으로든 살아서 나갈 것이다. 안타가 되었든, 에러가 되었든 간에 말이다. 따라서... 아웃으로 인한 가치의 손실을 빼 주면 해당 이벤트의 진정한 가치가 된다고 말할 수 있겠다. 예를 들면...

홈런 : 1.397 + 0.299 = 1.698

이런 식으로 구하는 것이다.

그 다음, 결과값을 OBP와 비슷한 scale로 나타내기 위해서, 각각의 value에 다시 1.15를 곱해 준다. 홈런의 경우는 1.698 * 1.15 = 1.95가 된다.

위에서 본 다른 스탯들은 주로 타율(AVG)과 비슷한 scale로 나타내기 위해서 조정을 했는데, wOBA의 경우는 출루율과 비슷한 scale로 조정을 해 주고 있다. 이렇게 조정해 주는 이유는 간단하다. 타자의 생산성을 한 눈에 알게 하기 위해서이다. .400의 출루율이 아주 좋은 것처럼, .400의 wOBA도 아주 좋은 것이다. .335 정도의 출루율이 리그 보통인 것처럼, .335 정도의 wOBA도 리그 보통이라고 생각하면 되는 것이다. 편리하지 않은가??

어쨌거나... 각 이벤트에 발생 횟수에 각각의 value를 곱하고, 여기에 다시 1.15를 곱하여 모두 더한다. 이를 PA(타석)로 나눠주면 그 타자가 한 번 타석에 들어설 때 팀의 득점 기대값(Run Expectancy) 상승에 얼마나 기여하는지를 알 수 있게 되는 것이다. 이것이 바로 wOBA이다. 식으로 나타내면 아래와 같다.

wOBA = (0.72*NIBB + 0.75*HBP + 0.90*1B + 0.92*RBOE + 1.24*2B + 1.56*3B + 1.95*HR) / PA

여기서 NIBB는 고의사구를 제외한 볼넷을 의미하며, RBOE는 Reached Base on Error, 즉 에러로 인해 타자가 출루에 성공하는 것을 의미한다. 타자의 능력과는 전혀 상관이 없는 폭투와 같은 이벤트는 아예 제외되어 있음에 유의하자.  (** 이 식은 이 글을 쓴 뒤에 약간 수정을 하게 되었다. 글 맨 마지막 부분 참고.)


이제 다음 단계는 그 타자가 실제로 메이저리그 평균보다 얼마나 뛰어난지를 점수로 계량하는 것이다. wRAA는 weighted Runs Above Average의 약자로, 단어 그대로의 의미를 지닌다. 즉 평균 타자에 비해 얼마나 득점에 기여하느냐를 점수(Runs)로 나타내는 것이다.

일단 리그 평균 wOBA를 구한다. 위의 모든 변수(홈런 등)에 리그 평균 값을 대입하면 된다. 그 다음, 해당 타자의 wOBA에서 리그 평균 wOBA를 빼 준다. 그리고 1.15로 나눠준다. (아까 OBP와 유사한 scale을 얻기 위해 1.15를 인위적으로 곱했으므로, 다시 나눠줘야 한다.) 마지막으로 해당 타자의 PA(타석)를 곱해주면, 그 타자가 해당 시즌에서 메이저리그 평균 타자에 비해 팀 득점에 기여한 정도가 점수로 나타나게 된다. 이를 식으로 나타내면...

wRAA = ((wOBA - lgwOBA) / 1.15) * PA

예를 들어서... Ryan Ludwick이 작년에 타석에서 어느 정도로 훌륭한 활약을 했었는지 계산을 해 보자.

2008년 NL의 리그 평균 wOBA는 대략 .331이었다. 한편, 2008년 Ryan Ludwick의 wOBA는 .406이었으며, 그는 617번 타석에 들어섰다. 이제 그의 wRAA를 계산해 보면...

wRAA = ((0.406 - 0.331) / 1.15) * 617 = 40.24

즉 Ryan Ludwick은 평균적인 NL 타자들에 비해 2008 시즌 팀 득점에 타격을 통해 40.24점 정도 더 많이 기여했다는 뜻이 된다. (참고 : Fangraphs에서는 그의 wRAA가 39.5로 나타나고 있다. 아마도 리그 평균 wOBA를 구하는 과정에서의 오차로 인한 차이가 아닐까 생각된다.)


다른 스탯에 비해 wOBA가 가지는 매력은 분명하다. 우선 실제 메이저리그에서 발생했던 사건들의 기대값을 구하여 계산한 결과이므로... 계산한 이론치와 실제 발생하는 득점 사이의 상관 관계가 우수하게 나타난다. 그리고 OPS만큼은 아니더라도, 다른 세이버 스탯들에 비하면 계산이 무척 쉬운 편이다. 마지막으로, wRAA로의 환산이 아주 편리하여, 해당 플레이어가 타석에서 점수로 몇 점 만큼 팀에 기여해 주었는지를 아주 쉽고 빠르게 계산할 수가 있다. 이것은 특히 여러 플레이어를 비교할 때에 그 진가를 발휘한다.

다만 약간 아쉬운 부분이라면, wOBA는 타석에서 타자에게 벌어지는 이벤트만을 반영하므로, 도루와 같은 주루플레이가 제외되어 있다. 이 부분은 앞으로 보완이 필요하다고 본다.



나름 쉽게 설명해 보려고 애써 보았는데 잘 된 것인지 모르겠다. 다음 번 세이버메트릭스 포스팅에서는 Replacement Level과 Positional Adjustment에 대해 다루고자 한다. 거기까지 다루고 나면 타자들의 WAR에 대해서도 설명이 가능할 것 같다.



** 추가 수정 사항

이 글을 쓴 이후, WAR를 계산하기 위해 직접 wOBA를 산출하던 중, 여러 타자들의 wOBA를 계산한 결과 모두 Fangraphs나 Stat Corner 등의 사이트에 비해 계산 결과가 다소 낮게 나오는 문제점을 발견하였다. 원인이 무엇일까 고민하던 중... wOBA를 창안한 Tom Tango의 글에서 다음과 같은 부분을 발견했다.

Note: Depending on the specific analysis, the PA term (plate appearances) may exclude bunts, IBB, and a few of the more obscure plays.

빙고!
wOBA 계산시 분모에서도 IBB(고의사구)를 제외하면 되는 것이다. 논리적으로 생각해도 분자에서 NIBB, 즉 고의가 아닌 보통 볼넷만을 계산 대상으로 하였으므로, 분모에서도 NIBB만을 계산에 넣는 것이 타당하다고 본다. 따라서, 수정된 식은 아래와 같다.

wOBA = (0.72*NIBB + 0.75*HBP + 0.90*1B + 0.92*RBOE + 1.24*2B + 1.56*3B + 1.95*HR) / (PA - IBB)

이렇게 계산하면 Fangraphs 사이트에 올라와 있는 결과들과 상당히 유사한 값을 얻을 수 있다. 물론 위의 인용문에서도 알 수 있듯이 각자의 논리에 따라 계산식이 조금씩 달라지므로, 소수점 세째 자리에서 나타나는 약간의 오차는 어쩔 수 없는 것일지도 모른다. Fangraphs나 Stat Corner 모두, 자신들이 어떤 특정 스탯을 더하고 뺐는지 상세히 밝히지 않고 있다. Tom Tango의 오리지널 계산식과는 값이 다르게 나오는 것으로 보아 뭔가 변화를 줬음은 확실한데 말이다...
Posted by FreeRedbird
:

오늘 Padres를 상대로 7-0 승리를 거두면서, NL 중부지구에서 Cardinals와 2위 Cubs와의 승차는 무려 8게임으로 벌어졌다. 이로써 MLB 전체를 통틀어 1위와 2위의 격차가 가장 많이 벌어진 지구가 되었다.

Cardinals가 이렇게 "잘 나가게" 된 것은 누구의 공일까? 말할 것도 없이 팀 공헌도 1위는 Pujols이겠지만... 그 다음은 누구일까? 여러 가지 방법이 있겠지만 여기에서는 WAR(Wins Above Replacement)를 이용하도록 하겠다. 물론 실제로는 "클러치 상황"이라는 게 존재하므로(10-0에서 솔로 홈런을 쳐서 11-0을 만드는 것과 2-2에서 솔로 홈런을 쳐서 3-2로 이기게 하는 것은 정말 많이 다르다. 소위 말하는 "영양가"의 차이가 있는 것이다.), 특히 타자들의 경우 WPA/LI를 이용하는 것도 방법이지만... 이것은 이것대로 수비가 포함되지 않는다는 단점이 있으므로, 공/수 모두를 포괄할 수 있고 투수도 적용 가능한 WAR를 이용하도록 하겠다.

아래는 오늘까지의 성적을 바탕으로 올 시즌 Cardinals 플레이어들의 WAR를 나타낸 것이다.
항상 그렇듯이 자료는 Fangraphs에서 가져왔다.

Name Pos Batting Fielding Replacement Positional Starting Start-IP Relieving Relief-IP RAR WAR Dollars
Albert Pujols 1B 53.2 -0.6 17.9 -9.5         61 6.1 $27.40
Chris Carpenter P         38.9 145.2     38.9 4.3 $19.50
Joel Pineiro P         38.8 162.2     38.8 4.2 $19.10
Adam Wainwright P         35.5 179     35.5 3.8 $17.00
Yadier Molina C 2.4 0.5 14.6 7.9         25.4 2.5 $11.40
Colby Rasmus OF -1.8 12.2 13.1 0.8         24.2 2.4 $10.90
Brendan Ryan SS -1.6 10 10.3 3.8         22.6 2.3 $10.10
Matt Holliday OF 15 -2.4 4.1 -1.3         15.4 1.5 $6.90
Ryan Ludwick OF 3.7 -0.3 13.7 -4.8         12.3 1.2 $5.50
Ryan Franklin P             9.2 47.2 9.2 0.9 $4.30
Kyle Lohse P         8.2 96.1     8.2 0.8 $3.70
Mitchell Boggs P         5.5 35.1 0.8 2 6.3 0.7 $3.00
Skip Schumaker 2B/OF 3 -13.6 15.1 -0.4         4.2 0.4 $1.90
Julio Lugo 2B/SS 3.4 -3.1 2.8 0.7         3.9 0.4 $1.80
Mark DeRosa 3B -0.6 -0.7 4.7 0.2         3.6 0.4 $1.60
Joe Thurston 2B/3B -7.5 0.3 9.4 1.4         3.6 0.4 $1.60
Trever Miller P             4.1 33.2 4.1 0.4 $1.90
Brian Barden 3B -3.2 1.8 3.8 0.9         3.3 0.3 $1.50
Jarrett Hoffpauir 2B 0.8 0.7 0.5 0.1         2.2 0.2 $1.00
Jason LaRue C -2.9   2.6 2.4         2.1 0.2 $0.90
Rick Ankiel OF -8.9 0.6 10.9 -1         1.6 0.2 $0.70
Dennys Reyes P             1.5 29.1 1.5 0.2 $0.70
Kyle McClellan P             1.4 51.1 1.4 0.1 $0.70
Blake Hawksworth P             1.4 25.2 1.4 0.1 $0.60
Brad Thompson P         -1 43 2 27.2 1 0.1 $0.50
Blaine Boyer P             0.7 16.1 0.7 0.1 $0.30
Todd Wellemeyer P         1.2 110 -1.5 2.2 -0.3 0 ($0.10)
Chris Perez P             -0.4 23.2 -0.4 0 ($0.20)
David Freese 3B -2 0.4 0.7 0.2         -0.6 -0.1 ($0.30)
Jesse Todd P             -0.8 1.2 -0.8 -0.1 ($0.30)
Clayton Mortensen P             -0.8 3 -0.8 -0.1 ($0.30)
Shane Robinson OF -2.1 -1.3 0.9 -0.4         -2.9 -0.3 ($1.30)
Chris Duncan OF -5 -3.8 10.1 -4.5         -3.2 -0.3 ($1.40)
Tyler Greene 3B/SS -5.5 -2.9 3.7 1.3         -3.4 -0.3 ($1.50)
P.J. Walters P         1.8 4 -5.7 12 -3.9 -0.3 ($1.50)
Josh Kinney P             -3.7 12.1 -3.7 -0.4 ($1.70)
Khalil Greene 3B/SS -6.2 -7.2 5.7 2.1         -5.6 -0.6 ($2.50)
Jason Motte P             -6.1 43.2 -6.1 -0.6 ($2.80)
Nick Stavinoha OF -4.5 -3.7 3 -1.9         -7.1 -0.7 ($3.20)

Pujols가 1위인 것은 굳이 말할 필요도 없겠지만...
Carpenter, Pineiro, Wainwright가 각각 4.3, 4.2, 3.8 WAR로 2, 3, 4위를 달리고 있음이 눈에 띈다.
역시 이들 세 명의 선발 투수들이 아주 잘 해주고 있다는 점이 팀 성적의 든든한 밑바탕이 되고 있다.
아주 간단히 말하면, Pujols와 선발 투수 세 명이 Cardinals의 올 시즌을 이끌어오고 있는 것이다.

이어서 Yadier Molina가 2.5 WAR로 5위인데, 포수의 수비 능력이 WAR 계산에 제대로 반영되지 않고 있음을 감안하면... 실제로는 이보다도 팀 기여도가 더 높을 것으로 생각 된다. 다음은 Colby Rasmus와 Brendan Ryan인데,  Batting에서는 오히려 마이너스를 기록하고 있으나, 10 Runs가 넘을 만큼 뛰어난 수비를 보여 온 덕분에, 높은 WAR를 기록하고 있다.

그 다음은 Matt Holliday이다... -_-;;;  트레이드로 합류한 뒤 고작 26게임밖에 뛰지 않았으나 이미 1.5 WAR로 팀에서 8번째로 높은 WAR를 기록하고 있다. 그 26게임에서의 타격 성적은 .402/.444/.686(OPS 1.131)에 이른다. 트레이드 된 Brett Wallace가 이번 주 BA Hot Sheet에서 1위에 올랐다고 하지만... 그래도 Holliday가 계속 이런 활약을 보여 준다면... 불만을 가질 수는 없을 것이다.

그 뒤로는 고만고만한 선수들이 쭉 이어지다가... 맨 아래쪽에 가면 팀의 성적을 깎아먹고 있는 우울한 플레이어들이 보인다. 영예의 꼴등을 차지한 Stavinoha는 별로 기대도 안했으므로 그렇다 치더라도... Jason Motte가 팀에서 두 번째로 형편없는 성적을 기록하고 있다는 것은 참 안타까운 일이다. 똑같이 -0.6 WAR를 기록하고 있는 Khalil Greene과 함께... 올해 팀에서 가장 실망스러운 플레이어이다.

Posted by FreeRedbird
: