2021-02-24 00:34:54

**작년(2021년)에 이어 올해(2022년)도 한국대학생스포츠협의회(KUSF)에서 주최하는 스포츠 데이터 분석 교육 프로그램에서 강사로 참여하게 되었습니다. 그래서 기존에 세이버메트릭스 관련해서 작성했던 글들을 리뉴얼하고 있습니다.

 

 

지난 시간에 타율보다는 OPS(on-base plus slugging)가 높은 타자가 팀 승리에 좀 더 기여한다는 점에 대해서 살펴봤습니다. 오늘은 OPS의 문제점을 살펴본 후, 그것을 좀 더 개선한 GPA(gross production average)라는 지표에 대해서 살펴보겠습니다. 

 

먼저 OPS의 계산 방법에 대해서 살펴보겠습니다. 

 

OPS 계산법

지난 시간에 말씀드렸듯이, OPS는 출루율 + 장타율입니다. 이 중에서 출루율(on base percentage, OBP)은 말 그대로 타자가 출루를 할 확률을 의미합니다. 아웃당하지 않고 살아서 1루를 밟을 확률을 의미하죠. 그런데 계산 방법은 생각보다 복잡합니다. 이 역시도 약속에 의해서 만들어낸 개념이기 때문입니다. 

 

출루율 = (안타 + 볼넷 + 몸에 맞은 공) / (타수 + 볼넷 + 몸에 맞은 공 + 희생플라이)

         = (안타 + 볼넷 + 몸에 맞은 공) / (타석 - 희생번트 - 타격방해)

 

안타, 볼넷, 몸에 맞은 공으로 1루에 나간 것을 출루했다고 인정해줍니다. 그리고 그것을 타수 + 볼넷 + 몸에 맞은 공 + 희생플라이로 나눠줍니다. 

 

예를 들어서, 어떤 타자가 첫번째 타석에서 볼넷으로 출루했고, 2번째 타석에서 희생플라이를 쳤고, 3번째 타석에서 2루타를 쳤고, 4번째 타석에서 땅볼 아웃이 되었고, 5번째 타석에서 삼진 아웃을 당했다면, 이 선수의 출루율은 어떻게 될까요? 한 번 계산해보세요. 

 

정답은 (1 + 1) / 5 = 0.4 입니다. 이 선수의 출루율은 4할인 것입니다. 출루율의 값의 범위는 0이상 1이하입니다. 이것을 일단 잘 기억해 두세요. 

 

이번에는 OPS를 계산할 때 필요한 두번째 지표인 장타율(slugging percentage, SLG)을 계산하는 방법에 대해서 살펴보겠습니다. 장타율은 말 그대로 얼마나 장타를 잘 치는가를 나타내기 위해 고안된 지표입니다. 1루타보다는 2루타에 더 큰 가중치를, 2루타보다는 3루타에 더 큰 가중치를, 3루타보다는 홈런에 더 큰 가중치를 부여하기 위해서 다음과 같은 공식을 만들어냈습니다. 

 

장타율 = (1루타*1 + 2루타*2 + 3루타*3 + 홈런*4) / 타수

 

만약 5타수 중에 5번을 모두 1루타를 쳤다면, 장타율은 (1*5)/5 = 1이 됩니다. 5타수 중에 5번을 모두 홈런을 쳤다면, 장타율은 (5*4)/5 = 4가 됩니다. 따라서 장타율의 경우 값의 범위가 0이상 4이하가 됩니다. 

 

따라서, 출루율과 장타율을 더한 OPS의 경우 값의 범위가 0이상 5이하가 됩니다. KBO 리그 최고의 강타자의 OPS가 1정도 됩니다. 예를 들어, 2020 시즌에 가장 좋은 OPS를 기록한 로하스 선수의 OPS는 1.097이었고, 1을 넘은 선수는 총 세명 밖에 안 됩니다. OPS의 가능한 값의 범위는 0에서 5이지만 대다수의 선수들이 0과 1사이의 OPS를 갖고 있는 것입니다. 

 

OPS의 문제

OPS는 아주 유용한 스탯이지만, 사실 어설픈 면이 있습니다. 통계를 조금이라도 접한 사람들이라면 바로 문제 제기를 할 것입니다. 값의 범위와 값의 단위가 다른 값들을 단순히 더해서 만든 지표이기 때문입니다.

 

 

위에서 말씀드린 것과 같이 출루율의 범위는 0에서 1이고, OPS의 범위는 0에서 4입니다. 일반적으로 서로 범위가 다른 값을 더하면, 통계적으로 범위가 넓은 값의 영향을 훨씬 크게 받습니다. 그래서 표준화와 같은 과정으로 값의 범위를 맞춰주는 것이 일반적입니다. 그런데 그러한 표준화를 해주지 않고 그냥 더해버렸으니 과학적으로는 매우 어설픈 지표였던 것이죠. 

 

GPA의 출현

그래서 상대적으로 중요도가 정확히 반영되지 않을 수 있는 출루율에 1.8의 가중치를 줘서 계산한 것이 바로 GPA입니다. 2003년에 애런 글리만이라는 사람이 만들었습니다. 

 

GPA = (1.8*출루율 + 장타율) / 4

 

여기서 분자를 4로 나눠주는 이유는 타율과 비슷한 값이 되게 하려고 한 것이라고 합니다. 아무래도 야구 팬들에게 가장 익숙한 지표는 타율이니까요. 

 

GPA가 OPS보다는 좀 더 정교한 지표이지만, 단순함 때문에 그런지 몰라도 아직까지는 OPS가 좀 더 중용되고 있는 것 같습니다. KBO 공식 사이트인 koreabaseball.com에서도 GPA는 기본기록이 아닌 세부기록 안에 들어가 있습니다. 연구를 하면서 자주 느끼는 것이지만, 사람들은 단순하면서도 효과적인 것을 좋아합니다. 좀 더 복잡하게 계산해야 하는데 단순하게 계산한 것과 성능이 비슷하거나 아주 조금 더 우수하다면, 사람들은 대개 단순한 것을 채택합니다.

 

OPS를 개선한 것 중에는 OPS+라는 것도 있는데, 이것은 홈 구장이 타자 친화적이냐 아니냐, 리그 평균 출루율과 장타율이 어떠한가 등의 환경적 요소를 고려했기 때문에 OPS, GPA보다 훨씬 더 복잡한 방식으로 계산해야 합니다. 그렇지만 성능에 있어서 OPS와 그렇게 큰 차이가 나지 않는다고 합니다. 나중에 OPS+도 기회가 되면 다루도록 하겠습니다. 

 

마무리 인사

오늘은 OPS를 개선한 GPA에 대해서 살펴봤습니다. 유익하셨나요? 다음 시간에도 유익하고 재밌는 내용으로 찾아뵙겠습니다. 야구 데이터 분석가로 취업하는 그날까지~~~!

 

 

(이 글은 2022-5-8에 마지막으로 수정되었습니다)

 

 

bskyvision의 추천글

정규화(normalization)와 표준화(standardization), 머신러닝 성능 향상을 위한 필수 단계

[세이버메트릭스] 타율이 높은 팀 vs OPS가 높은 팀, 누가 이길까?

[세이버메트릭스] 타타타자로 시작하는 말-타석, 타수, 타율

 

참고자료

[1] namu.wiki/w/%EC%B6%9C%EB%A3%A8%EC%9C%A8, 나무위키, "출루율"

[2] namu.wiki/w/%EC%9E%A5%ED%83%80%EC%9C%A8, 나무위키, "장타율"

[3] en.wikipedia.org/wiki/Gross_production_average, 위키피디아, "Gross production average"