ARPG Seasons

데이터 방법론

ARPG Seasons가 시즌·리그 일정을 어떻게 수집·검증·추정·정정하는지를 공개합니다. 어떤 값이 공식 발표이고 어떤 값이 알고리즘 추정('예상')인지, 어떤 데이터가 비어 있는지를 숨기지 않습니다.

1. 데이터 출처

일정 데이터의 1차 출처는 게임사의 공식 채널로 한정합니다. 위키·뉴스 기사 등 2차 출처는 사실 확인 참고용으로만 보고, 그 내용을 그대로 복제해 데이터로 채우지 않습니다.

  • 공식 발표·개발자 블로그·패치노트
  • 게임사 공식 포럼 공지
  • 게임사 공식 RSS 피드

2. 검증 절차

수집부터 게시까지 아래 순서를 따릅니다. 자동 수집이 1차로 후보를 만들면, 사람이 공식 발표와 대조해 확정하거나 정정합니다.

  1. 자동 수집: 공식 채널을 크롤링해 시즌·리그 일정 후보를 모읍니다.
  2. 공식 대조: 각 후보를 게임사 공식 발표와 직접 대조합니다.
  3. 사람 검수·정정: 편집팀이 확정·수정 후 게시하고, 이후 오류가 발견되면 정정합니다.

3. 주기를 재는 방식

이 사이트의 거의 모든 파생 지표는 "주기"에서 나옵니다. 주기를 어떻게 정의하느냐에 따라 숫자가 통째로 달라지므로, 규칙을 먼저 밝힙니다.

  • 주기는 한 시즌 시작 → 다음 시즌 시작 간격입니다. 시즌 길이(종료일 − 시작일)는 쓰지 않습니다 — 종료일 상당수가 추정값이라, 길이로 재면 추정값을 확정값처럼 제시하게 되기 때문입니다.
  • 정기 슬롯을 확장팩이나 대형 업데이트가 채운 경우에도 그 항목을 주기 경계로 셉니다. 그 행을 빼면 실제로는 한 번도 끊긴 적 없는 발표 리듬에 가짜 간격이 생깁니다(디아블로 이모탈이 대표적입니다 — 28일 주기 두 칸을 확장팩이 채웠습니다).
  • 반대로 시즌 주기 자체가 없는 게임은 통째로 제외합니다. 확장팩만 내는 타이틀(그림 던)이나 시즌제를 도입하지 않은 타이틀(노 레스트 포 더 위키드)에 주기를 씌우면 없는 규칙을 만들어내는 셈입니다.
  • 같은 게임에서 시작 시각이 동일한 행이 둘 이상이면 하나로 합칩니다. 한 게임의 두 시즌이 같은 순간에 시작할 수는 없으므로, 그런 행은 주기 경계가 둘인 것이 아니라 같은 시즌이 두 번 적재된 것입니다. 합치지 않으면 간격 0일이 생겨 중앙값과 예측이 모두 오염됩니다.
  • 대표값은 평균이 아니라 중앙값을 씁니다. 한두 번의 장기 공백(개발사 사정으로 반년 이상 비는 경우)이 평균을 크게 흔들기 때문입니다.

4. 두 종류의 추정 — 종료일과 다음 시작일

이 사이트가 만들어내는 추정값은 두 가지이며 성격이 다릅니다. 둘 다 화면에서 확정 정보와 구분해 표시합니다.

① 종료일 추정

시즌 시작일은 대체로 공식 발표를 근거로 하지만, 공식 종료일은 대부분 발표되지 않습니다. 그래서 진행 중인 시즌에는 종료일을 붙이지 않고 비워 둡니다 — 열려 있는 시즌에 끝나는 날짜를 적으면 확정 정보처럼 읽히기 때문입니다. 이미 끝난 시즌의 종료일은 대부분 다음 시즌 시작일에서 역산한 값이며, 그 비율(종료일 보유 218건 중 166건, 76%)을 분석 페이지에서 공개합니다. 추정에는 규칙 기반 계산과 보조적인 언어모델(LLM) 추론이 함께 쓰일 수 있습니다.

추정이 종료일에 집중되는 실제 사례:

  • 패스 오브 엑자일: 추적 중인 리그 41개 가운데 종료일이 있는 것이 40개이고, 그중 39개가 추정값입니다(나머지 1개는 종료일 미확인).
  • 디아블로 III: 추적 중인 시즌 39개 중 38개의 종료일이 추정값입니다.
  • 시작일은 대부분 공식 발표 기반이며, 추정 대상은 주로 종료일입니다.

② 다음 시즌 시작일 예상

게임사가 차기 시즌을 아직 발표하지 않은 구간에도 "다음은 대략 언제인가"에 답하기 위해, 해당 게임의 과거 간격 분포로 시작일을 추정합니다. 산출 규칙은 다음과 같습니다.

  • 점 추정 = 마지막 확정 시즌 시작일 + 그 게임의 중앙 간격.
  • 예상 구간 = 같은 기준일에 25 백분위와 75 백분위를 더한 두 날짜. 점 추정만 내면 불확실성이 감춰지므로 항상 구간을 함께 표시합니다.
  • 간격이 4개 미만인 게임은 날짜를 내지 않습니다. 화면의 중앙값 표기 기준(3개)보다 엄격하게 잡았습니다 — "중앙값이 며칠이다"는 관측 요약이지만 "다음은 이 날짜다"는 더 강한 주장이기 때문입니다.
  • 신뢰 등급은 절대 일수가 아니라 중앙 간격 대비 구간 폭의 비율로 매깁니다. 28일 주기 게임의 ±10일과 120일 주기 게임의 ±10일은 전혀 다른 불확실성입니다.
  • '예정일 경과'는 두 가지 중 하나를 뜻합니다 — 게임사의 발표가 늦어지고 있거나, 이미 시작한 시즌을 저희가 아직 1차 출처로 확인하지 못해 싣지 못했거나입니다. 어느 쪽인지 단정하지 않습니다.

5. 예측 기록부 — 지금부터 쌓습니다

저희가 내놓는 예측은 만든 날짜와 함께 기록되고, 이후 실제 시작일과 대조됩니다. 다만 기록일 이후에 시작한 시즌만 결과로 인정합니다. 그 이전 시즌을 끌어오면 예측해서 맞힌 것이 아니라 이미 알고 적은 것이 되기 때문입니다. 같은 이유로 과거 예측을 소급해 재구성하지 않습니다 — 기록이 없는 예측을 지금 만들어 넣는 것은 이력이 아니라 창작입니다. 그래서 적중률은 시간이 지나야 의미를 갖습니다.

예측 기록부 보기(분석 페이지) →

6. 발표 리드타임의 범위

"게임사는 시즌 시작 며칠 전에 날짜를 알려주는가"를 정리한 표에는 공식 발표 페이지에 게시일이 직접 표시된 항목만 싣습니다. 2차 보도의 "며칠에 발표됐다"는 서술은 근거로 쓰지 않습니다. 실제로 여러 매체가 어떤 리그의 발표일을 공개 방송 날짜로 적었지만, 출시일을 명시한 게임사 공식 글은 그보다 열흘 앞서 올라와 있었습니다. 여기서 말하는 발표일은 리그가 처음 언급된 날이 아니라 시작 날짜가 공개된 날입니다. 그래서 이 표는 전체 시즌이 아니라 확인된 범위만 다루며, 범위는 표 아래에 명시합니다.

발표 리드타임 표 보기(분석 페이지) →

7. 정정 정책

오류가 발견되면 게임사 공식 발표를 기준으로 정정합니다. 예정 시작일이 실제로 연기(slip)된 경우처럼 사후에 확인된 사실은 소급해 확정 값으로 갱신합니다. 오류 제보는 언제든 환영합니다.

8. 데이터 결손을 숨기지 않습니다

일부 게임은 과거 일정을 1차 출처로 확인하지 못한 만큼, 그 구간을 2차 출처로 채우지 않고 비워 두었습니다. 알려진 공백은 다음과 같습니다.

  • 언디셈버: 초기 일부를 확인하지 못해 시즌 7개만 수록했습니다.
  • 패스 오브 엑자일: 극초기(2013년 무렵) 일부 리그 날짜는 근사값입니다.
  • 노 레스트 포 더 위키드: 정기 시즌을 아직 도입하지 않아 확장·업데이트 항목만 수록했습니다.
  • 그림 던: 시즌제가 아니라 확장팩 모델로 운영됩니다.

9. 표시 시간대 기준

시즌 시작·종료 시각은 데이터베이스에 UTC로 저장하고, 화면에 그릴 때만 언어별로 고정된 기준으로 변환합니다. 한국어 화면은 KST(한국 표준시), 영어 화면은 UTC를 쓰며 날짜 옆에 기준 배지를 함께 표기합니다. 접속자의 브라우저 시간대는 표시에 사용하지 않습니다 — 같은 페이지가 접속 지역에 따라 다른 날짜를 보이면 자료를 인용하거나 화면끼리 비교할 수 없기 때문입니다.

다만 캘린더·분석의 월 축과 표시 기간은 언어와 무관하게 UTC로 고정합니다. 집계 구간의 경계를 언어별 시간대로 잡으면 창이 9시간씩 어긋나, 최대 동시 진행 시즌 수 같은 수치가 한국어와 영어에서 서로 다르게 나옵니다. 축을 UTC 하나로 고정해야 두 언어의 집계 결과가 같아지므로, 월 축은 분석용 고정 축으로 두고 그 기준을 화면에 UTC로 명시합니다.