블로그 목록
개발 스토리
⚙️

승률 예측 알고리즘의 비결 — 우제트(Woozet) 베이스볼 개발기

2026-04-089분 읽기

초단위로 갱신되는 실시간 야구 데이터를 어떻게 처리하고, AI는 어떻게 승부 예측을 수행할까요? 우제트 베이스볼의 백엔드 아키텍처, 머신러닝 모델 Algol-1의 설계 원리, 그리고 가장 어려웠던 기술적 도전들을 소개합니다.

야구와 AI의 만남, 우제트 베이스볼

어떻게 하면 야구를 더 스마트하게 즐길 수 있을까? 이 질문에서 우제트 베이스볼 프로젝트가 시작됐습니다. 야구는 모든 플레이가 기록으로 남는 기록의 스포츠이기에, 데이터를 다루는 개발자에게 가장 흥미로운 도전 영역 중 하나입니다.

프로젝트의 출발점: 기존 야구 앱의 한계

시중에 존재하는 야구 앱들의 공통된 한계는 명확했습니다. 실시간 스코어와 순위표는 제공하지만, "왜 저 팀이 이겼는가?"에 대한 데이터 기반의 인사이트가 없었습니다. 단순 스코어 중계를 넘어서는 분석적인 서비스를 만들어보자는 것이 우제트 베이스볼의 첫 번째 목표였습니다.

초단위 실시간 데이터 동기화의 도전

개발 과정에서 가장 큰 기술적 난제는 실시간성이었습니다. 경기장의 상황이 TV 중계보다 빠르게 앱에 반영되어야 했습니다. 이를 위해 여러 데이터 소스를 결합하는 분산 처리 파이프라인을 구축했습니다.

  • 실시간 파싱: 외부 API와 웹 소켓을 연동하여 스트라이크, 볼 하나하나의 이벤트를 수 ms 내로 캡처합니다.
  • 동적 스키마: 경기마다 다르게 발생하는 예외 상황(강우 콜드, 비디오 판독 취소 등)을 유연하게 처리하는 데이터 구조를 설계했습니다.
  • 이벤트 버퍼: 끝내기 홈런 직후 같이 순간적으로 폭발하는 트래픽을 안정적으로 처리하는 인메모리 큐 시스템을 구축했습니다.

초기 프로토타입의 평균 지연 시간(Latency)은 1.8초였습니다. 이후 아키텍처를 개선하여 현재는 평균 340ms 이하로 줄였습니다. TV 중계의 평균 딜레이가 8~12초임을 감안하면, 사용자가 TV로 경기를 보면서 앱을 켜도 화면의 승률 변화가 실제 경기 상황보다 먼저 반응하는 경험을 제공할 수 있게 됐습니다.

Algol-1: 승률 예측 모델의 탄생

우제트의 핵심인 승률 예측 모델 Algol-1은 단순히 현재 스코어만 보지 않습니다. 현재가 몇 회인지, 아웃 카운트는 몇 개인지, 주자 상황이 어떠한지(RE24 지표 활용), 다음 타순의 상대 전적은 어떠한지를 종합적으로 계산합니다.

Algol-1의 훈련 데이터로는 과거 20,000여 건 이상의 KBO 경기 플레이 바이 플레이 로그를 사용했습니다. 각 경기의 모든 플레이 이벤트(경기당 약 250~300개)에 최종 승패 결과를 레이블로 붙인 데이터셋을 구성했습니다.

초기 모델은 단순 로지스틱 회귀를 사용했지만, 이후 Gradient Boosting 앙상블 기법을 도입하여 예측 정확도가 크게 향상됐습니다. 현재 Algol-1의 경기 시작 시점 결과 예측 정확도는 72.3%이며, 경기가 진행되면서 데이터가 누적될수록 정확도가 높아져 8회 이후에는 평균 89.1%를 기록합니다.

가장 어려웠던 도전: 이상 경기 탐지

승률 예측에서 가장 어려운 케이스는 이른바 이상 경기였습니다. 한 회에 7점 이상이 나는 빅이닝, 선발 투수의 갑작스러운 강판, 9회 말 끝내기 같은 드라마틱한 역전 상황에서 모델 신뢰도가 급격히 떨어졌습니다.

이를 해결하기 위해 이상 탐지(Anomaly Detection) 레이어를 추가했습니다. 현재 경기 상황이 학습 데이터의 정상 분포에서 얼마나 벗어나 있는지를 실시간으로 측정합니다. 이상 상황으로 분류되면 예측 신뢰도 지표를 함께 표시하여 "이 경기는 데이터 기반 예측이 불안정합니다"는 시그널을 사용자에게 제공합니다.

앞으로의 방향: 개인화된 선수 패턴 분석

우제트 베이스볼의 다음 목표는 팀 단위 분석을 넘어 선수 개인의 특성을 반영한 예측 엔진입니다. 특정 타자가 특정 투수 타입에 어떤 패턴을 보이는지, 특정 감독이 어떤 상황에서 번트나 도루를 지시하는 경향이 있는지를 개인화된 행동 데이터로 학습시키는 작업이 진행 중입니다.

스코어보드를 넘어, 야구라는 스포츠 속에 숨겨진 수많은 데이터 레이어를 팬들이 직관적으로 경험할 수 있도록 만드는 것이 우제트 베이스볼이 향하는 방향입니다.