방법론

Riftcast의 확률이 어떻게 산출되고, 경기가 끝난 뒤 어떻게 채점되며, 그 결과 나온 수치가 무엇을 의미하는지 설명합니다. 소개 페이지의 기술적 보완 문서입니다.

데이터 규모: 경기 15,622건 수집, 예측 35,844건 채점 완료. 이 페이지의 수치는 2026-09-10 03:03 UTC 기준입니다.

1. 우리가 하는 일

Riftcast는 과거 경기 데이터로 학습한 기계학습 모델을 통해 프로 리그 오브 레전드 경기의 양 진영 각각에 대한 확률을 공개합니다. 확률은 경기 시작 전에 생성해 저장하고, 경기가 끝나면 결과와 대조해 채점합니다. 예측을 사후에 수정하는 일은 결코 없습니다.

확률은 무슨 일이 일어날지에 대한 예보가 아닙니다. 비슷한 경기가 길게 이어질 때의 성질에 관한 진술입니다. 어떤 팀이 65퍼센트로 이긴다고 말할 때, 그 평가가 붙은 수많은 경기 가운데 100번에 약 65번을 이긴다고 주장하는 것입니다. 65퍼센트로 평가한 팀이 졌다고 해서 예측이 실패한 것은 아닙니다. 65퍼센트로 평가한 팀이 충분히 큰 표본에서 절반만 이긴다면 그것이 실패입니다.

우리는 예측된 승자를 판매하지 않습니다. 보정된 확률과 우리 자신의 성적을, 그 성적이 마이너스인 시장까지 포함해 공개합니다.

2. 모델

모든 경기에 네 개의 모델이 작동합니다. 같은 데이터로 각각 독립적으로 학습하기 때문에 자주 서로 어긋나는데, 이는 의도된 것입니다. 모델 사이의 간격 자체가 그 대결이 실제로 얼마나 확실한지를 알려 주는 정보이기 때문입니다.

FastTree

그래디언트 부스팅 결정 트리로, 다른 모든 모델을 재는 기준입니다. 학습이 빠르고 재학습을 거쳐도 안정적이며, 자리 잡은 리그에서 최근 기록이 충분한 두 팀이 맞붙는 일반적인 경우를 잘 처리합니다. 무료 등급에서 제공되는 모델이며, 팀의 데이터가 빈약할 때 성능이 가장 완만하게 떨어지는 모델이기도 합니다.

LightGBM

리프 단위 그래디언트 부스팅 구현입니다. 게임의 토대가 바뀔 때 FastTree보다 빠르게 적응하므로, 패치 전환 구간과 서로 다른 지역의 팀이 처음 만나 지역 내 성적이 참고가 되지 않는 국제 대회에서 더 강한 모델이 됩니다.

PCA Sweep

대규모 오프라인 탐색으로 하이퍼파라미터를 선정한 주성분 파이프라인으로, 분류기 앞에서 차원 축소를 적용합니다. 상관관계가 높은 팀 통계를 더 적은 성분으로 압축하면 팀 프로필에 담긴 사실상 중복된 다수의 특징에 대한 과적합이 줄어들며, 보통 세 기본 모델 가운데 가장 정확합니다.

Consensus

네 번째 모델이 아니라 위 세 모델을 가중 혼합한 것으로, 각 모델의 최근 로그 손실로 가중치를 주어 부진한 모델의 기여를 줄입니다. Consensus는 사이트에서 가장 신뢰할 수 있는 단일 수치이자 가장 보수적인 수치이기도 합니다. 개별 모델이 이따금 내놓는 극단적인 확률을 좀처럼 만들지 않습니다.

각 모델에는 두 가지 변형이 있습니다. 기본 변형은 경기 시작 전 팀과 선수의 폼으로 예측합니다. 드래프트 반영 변형은 챔피언 열 개가 모두 확정된 뒤 같은 경기를 다시 평가하면서, 챔피언 승률과 조합 내 시너지, 상성 카운터를 팀 폼 위에 더합니다. 드래프트 반영 변형은 챔피언 선택이 끝난 뒤에만 이용할 수 있으며, 경기 시작 직전에 예측이 바뀔 수 있는 이유가 여기에 있습니다.

3. 학습 데이터

  • 15,622 개별 경기 수집
  • 450 팀 추적
  • 230 대회 수록
  • 35,844 예측 채점 및 기록

두 가지 출처가 시스템을 떠받칩니다. 일정, 실시간 경기 상태, 챔피언 선택은 lolesports.com의 공식 LoL Esports API에서 가져옵니다. 모든 모델이 학습하고 모든 예측이 채점되는 기준인 종료 경기 통계는 gol.gg 수집 데이터에서 가져옵니다. 두 출처가 결과를 두고 어긋나면 gol.gg를 사실의 기준으로 삼고 실시간 정보는 버립니다.

모델이 보는 것은 이동 구간으로 본 최근 팀 폼, 지역 수준과 지역 간 결과를 반영해 조정한 Elo 방식 전력 평가, 진영별 승률, 오브젝트와 골드 통계, 현재 로스터 선수 개개인의 폼, 그리고 드래프트 반영 변형에서는 실제로 선택된 챔피언입니다. 특징은 양 진영에 대칭으로 계산하므로, 어느 팀이 먼저 표기되었는지에서 모델이 무언가를 배우는 일은 없습니다.

모든 모델은 매일 00:10 UTC에 그 시점까지의 전체 기록으로 재학습하며, 학습이 끝나면 다가오는 경기의 예측을 다시 생성합니다. 재학습과 재학습 사이에 모델 파일을 손대는 일은 없습니다.

학습에서 제외하는 대회는 없습니다. 이전 파이프라인에서는 일부 소규모 대회와 국제 대회를 제외했지만 2026년에 중단했습니다. 제외했던 대회가 바로 모델이 데이터를 가장 필요로 하던 대회였기 때문입니다.

4. 정확도를 기록하는 방법

경기 시작 전에 내놓은 예측은 영구히 기록으로 남으며 이 수치들을 계산하는 데 사용됩니다. 공개된 예측을 삭제하거나 수정하거나 소급해 다시 채점하는 수단은 존재하지 않습니다.

예측은 해당 경기가 수집된 결과 데이터에 나타난 뒤에야 채점됩니다. 실시간 경기 상태는 결코 정산에 쓰지 않습니다. 최선의 노력으로 얻은 정보일 뿐 이따금 틀리기 때문입니다. 수집 데이터로 승자를 아직 확정할 수 없는 경기는 추론으로 해결하지 않고 채점하지 않은 채로 둡니다. 실시간 정보를 읽는 것보다 느리며, 공개된 성적이 결과보다 몇 시간 뒤처질 수 있는 이유가 이것입니다.

평가는 날짜 기준 홀드아웃입니다. 모델은 학습 시점에 아직 일어나지 않았던 경기에 대해서만 측정되며, 매일 재학습하는 시스템에 대해 이것이 유일하게 정직한 검증입니다. 채점된 예측은 모두 아래 수치에 들어갑니다. 성적이 나쁜 주를 걸러내는 편집상의 단계는 없으며, 성적이 나쁘다는 이유로 감추는 시장도 없습니다.

공개하는 지표

적중률
맞힌 선택의 비율이며, 언제나 그 뒤에 놓인 선택 건수와 함께 표시합니다. 그 자체로는 약한 지표입니다. 확실한 우승 후보만 고르는 모델도 높은 적중률을 낼 수 있지만, 그것은 시장을 그대로 따라가는 것 이상의 가치를 전혀 더하지 않습니다.
브라이어 점수
제시한 확률과 실제 결과의 평균 제곱 차이입니다. 낮을수록 좋습니다. 무엇에나 50퍼센트라고 답하면 0.25가 되므로, 0.25를 넘는 값은 선택에 붙인 확신이 없느니만 못했다는 뜻입니다. 적중률만으로는 잡히지 않는, 확신을 갖고 틀리는 모델을 잡아내는 지표입니다.
로그 손실
같은 예측에 대한 또 하나의 채점 규칙으로, 확신에 찬 오류를 브라이어 점수보다 훨씬 가혹하게 벌합니다. Consensus 혼합에서 각 모델이 현재 얼마만큼의 가중치를 받을지를 정하는 것이 바로 이 지표입니다.
투자 수익률
조건을 충족한 모든 선택에 1유닛씩 균등하게 넣었을 때, 경기 전에 제시되어 있던 시장 배당으로 얼마가 돌아왔는지를 나타냅니다. 맞힌 선택은 배당에서 1을 뺀 만큼이 이익이 되고, 틀린 선택은 1유닛을 잃습니다. 수익률은 순손익을 선택 건수로 나눈 값입니다. 여기서 유일하게 가격을 반영한 지표이며, 모델이 정확하면서도 수익이 나지 않을 수 있는 지표이기도 합니다.

모델별, 시장별, 리그별 전체 기록 보기

5. 보정

모델이 보정되었다는 것은, 모델이 제시한 확신의 정도가 큰 표본에서 현실과 맞아떨어진다는 뜻입니다. 60퍼센트로 판단한 경기 가운데 60퍼센트에 가까운 수가 실제로 이겼어야 합니다. 옳은 쪽을 고르면서도 지나치게 확신하는 방식으로, 정확하면서 동시에 보정이 나쁜 모델도 있을 수 있습니다.

모델의 원시 출력은 그 자체로 잘 보정되어 있지 않으므로 표시 시점에 보정 계층을 적용합니다. 보정은 과거의 채점된 예측만으로 맞추며, 지금 예측하려는 경기로는 결코 학습하지 않습니다. 저장된 예측에 새겨 넣는 대신 페이지를 읽을 때 적용하기 때문에, 과거 기록은 공개된 그대로 남고 그 뒤의 보정만 계속 개선됩니다.

보정은 리그 단위로 묶어서 수행하므로, 채점된 경기가 적은 리그는 소수의 결과를 믿는 대신 더 넓은 표본에서 빌려옵니다. 최소 표본에 못 미치는 리그를 저정확도로 표시하고 대표 수치에서 빼는 이유도 같습니다. 결과가 나빠서가 아니라, 아직 의미를 가질 만큼 쌓이지 않았기 때문입니다.

6. 밸류 픽

밸류 픽이란 같은 결과에 대해 우리의 확률이 시장이 내포한 확률보다 높은 경우를 말합니다. 시장 가격과의 견해 차이일 뿐, 확실한 결과에 대한 예고가 아닙니다.

기대값 = (모델 확률 x 시장 배당) - 1

이 값이 0보다 클 때 시장은 우리 평가 기준으로 지나치게 후한 가격을 제시하고 있는 것이며, 해당 픽이 기록됩니다. 기록된 모든 픽은 확률, 가격, 공개 시각과 함께 저장되고 이후 다른 예측과 똑같이 채점됩니다. 저정확도로 표시된 리그의 픽은 추적은 하되 공개 수익에서는 제외합니다. 소수의 결과에 대한 백분율은 잡음일 뿐이기 때문입니다.

어떤 시장이 무언가를 대표하려면 채점된 픽이 최소 50건 있어야 합니다. 그 기준에 못 미치는 수치도 표본 크기와 함께 전체 표에 계속 공개하지만, 성적으로 취급하지는 않습니다.

현재 기록상 가장 강한 시장은 시리즈 승자의 PCA Sweep으로, 채점된 130건에 대해 수익률 +10.1퍼센트입니다. 이 수치는 골라낸 것이 아니라 도출된 것이며, 결과가 쌓이면서 달라집니다.

손실을 낸 시장까지 포함해 모든 시장 보기

7. 자주 묻는 질문

시리즈 안의 개별 경기를 예측할 수 있나요?

예측하며, 각각 따로 채점합니다. 경기 단위와 시리즈 단위 예측은 분모가 다른 별개의 시장이며 하나의 수치로 섞지 않습니다. 5전 3선승제에는 여러 경기가 들어 있어 함께 평균 내면 긴 시리즈가 짧은 시리즈보다 조용히 더 크게 반영되기 때문입니다.

비공개 정보나 내부 정보를 사용하나요?

사용하지 않습니다. 모델이 보는 것은 모두 공개 정보입니다. 공표된 경기 결과, 공식 일정, 그리고 중계되는 챔피언 선택입니다. 스카우트 조직도, 비공개 로스터 정보도, 팀이나 선수와의 접촉도 없습니다.

새 패치는 어떻게 처리하나요?

모델이 매일 재학습하므로 패치는 수작업 조정이 아니라 그 패치에서 치러진 경기를 통해 반영됩니다. 따라서 대형 패치 직후 며칠은 사이트에서 가장 신뢰도가 낮은 기간이며, 챔피언 단위 통계가 팀 단위보다 먼저 움직이기 때문에 드래프트 반영 변형이 가장 빨리 회복합니다. 패치에 맞추어 모델을 손으로 조정하지는 않습니다. 그렇게 하면 공개한 정확도를 재현할 수 없게 되기 때문입니다.

무승부나 치러지지 않은 경기는 어떻게 처리되나요?

끝내 치러지지 않은 경기에 대한 예측은 실패로 세지 않고 무효 처리하며, 무효가 된 픽은 모든 수치에서 제외합니다. 합계가 정확히 기준선에 걸리는 경우처럼 시장이 비길 수 있는 상황에서도 픽을 무효로 하고 투입한 1유닛은 반환 처리합니다. 수집 데이터에 점수가 불완전한 상태로 나타난 시리즈는 빠진 경기가 채워질 때까지 채점하지 않고 둡니다.

가장 좋은 모델 하나만 쓰면 되지 않나요?

어느 것이 가장 좋은지가 계속 바뀌고, 그것은 지나고 나서야 알 수 있기 때문입니다. 세 모델은 각각 서로 다른 시장과 시기에 선두에 섰고, 순위는 패치를 건너뛰며, 또 지역 대회와 국제 대회 사이에서도 뒤바뀝니다. 최근 로그 손실로 혼합하면 어떤 단일 모델보다 안정적인 수치가 나옵니다. 대신 특정 시장에서 가장 좋은 값이 되는 일은 드뭅니다.

예측은 기계학습 모델이 생성하며 결과를 보장하지 않습니다. 이 페이지의 수치는 채점이 끝난 과거 예측을 설명하는 것이며 향후 성적에 대한 예상이 아닙니다. 정보 제공 목적으로만 제공되며 금융 자문이 아닙니다.