heymingky

신뢰도 85%라고 적은 경기는 정말 더 맞았을까 — 오늘야구 618경기 채점 기록

오늘야구는 매일 KBO 경기의 승리 팀을 예측하고, 경기마다 신뢰도를 함께 적는다. 다음 날 결과가 나오면 맞았는지 채점한다. 이 글은 2026년 9월 26일까지의 618경기 고정 표본을 분석한다. 이후 쌓이는 누적 기록과 기간이 다르다.

적중률 하나만 보면 놓치는 게 있다. 신뢰도가 제 역할을 하는지다. 85%라고 적은 경기는 열에 여덟아홉은 맞아야 하고, 55%라고 적은 경기는 절반 조금 넘게 맞아야 한다. 이게 맞아떨어지는지를 보정(calibration)이라고 한다. 기록을 신뢰도별로 나눠 확인했다.

자료 확인 범위: 현재 보존된 예측 파일 중 31경기는 파일에 적힌 생성 시각이 경기 날짜보다 늦다. 당시 경기 전에 공개한 값과 지금 파일의 신뢰도가 같은지는 이 파일만으로 입증할 수 없다. 아래 전체 결과를 보여 주되, 그 31경기를 제외한 결과도 따로 적었다.

어떻게 셌나

2026년 4월 1일부터 9월 26일까지 예측한 경기 중 결과가 나온 KBO 정규시즌 경기만 셌다. 무승부와 국제대회는 뺐다. 기록 페이지와 같은 기준이다. 모두 618경기이고 351경기를 맞혔다. 적중률은 56.8%다.

중간에 규칙이 한 번 바뀌었다. 시즌 초(4월 1일~5월 1일)에는 신뢰도가 0.52부터 0.88까지 나왔다. 5월 2일 예측부터는 신뢰도 상한을 0.65로 묶어 0.50~0.65 사이로 좁아졌다(0.67이 나온 한 경기만 예외). 설정 파일에는 이 상한 조정에 "캘리브레이션 보정"이라는 주석이 달려 있다. 그래서 두 기간을 나눠서 본다. 아래에서 "시즌 초"는 이 121경기를 말한다. 월별 표의 4월(116경기)과는 범위가 다르다.

시즌 초: 신뢰도가 높아도 더 맞지 않았다

적은 신뢰도경기적중률평균 신뢰도
0.50~0.692060.0%63.3%
0.70~0.792157.1%74.7%
0.80~0.842958.6%81.8%
0.85 이상5156.9%87.0%
합계12157.9%79.7%

신뢰도를 높게 적은 칸일수록 적중률이 오르지 않았다. 네 칸 모두 57~60% 언저리다. 평균으로 보면 79.7%를 적고 57.9%를 맞혔다. 21.8%포인트를 부풀려 적은 셈이다.

표본이 작다는 점은 감안해야 한다. 가장 큰 칸인 0.85 이상도 51경기다. 이 칸의 실제 적중률은 95% 신뢰구간으로 43~69%다. 그래도 적어 둔 평균 87.0%는 그 구간 밖에 있다. 이 구간에서는 신뢰도를 적중 확률처럼 읽기 어려웠다. 다만 같은 팀·날짜의 경기 사이 의존성을 반영한 구간은 아니다.

5월 이후: 0.60을 경계로 갈렸다

적은 신뢰도경기적중률평균 신뢰도
0.50~0.546851.5%52.0%
0.55~0.599148.4%56.9%
0.60~0.646564.6%62.0%
0.65 이상27358.6%65.0%
합계49756.5%61.4%

상한을 낮춘 뒤로는 평균 차이가 4.8%포인트로 줄었다. 61.4%를 적고 56.5%를 맞혔다.

칸별로 보면 경계가 하나 보인다. 0.60 미만으로 적은 159경기는 49.7%를 맞혔다. 표본 안에서 적중률이 50%에 가까웠다. 이것만으로 동전 던지기와 통계적으로 동등하다고 증명한 것은 아니다. 0.60 이상으로 적은 338경기는 59.8%를 맞혔다. 차이는 10.1%포인트이고, 합동 비율을 쓰는 양측 두 비율 z검정에서 p값은 0.035다. 0.60은 기록을 본 뒤 나눈 탐색적 경계라 이 p값을 사전 지정한 가설의 확증으로 읽으면 안 된다.

다만 그 위로는 더 올라가지 않았다. 0.65 이상(273경기)은 58.6%로, 0.60~0.64(65경기)의 64.6%보다 오히려 낮다. 같은 z검정의 p값은 0.375다. 이 표본에서 차이를 확인하지 못했다는 뜻이며, 두 칸이 같다는 증명은 아니다. 신뢰도 0.65가 전체의 44.2%인 273경기에 몰려 있는 것도 이 때문이다. 상한에 걸린 경기가 한 칸에 쌓여 그 안의 차이가 보이지 않는다.

버전별로도 확인했다. v2.3(292경기)은 0.60 미만 46.7%, 이상 59.0%였다. v2.5(153경기)는 53.3%와 63.9%였다. 같은 방향이다. v2.2(52경기)만 54.5%와 50.0%로 반대였는데, 표본이 가장 작다.

한 숫자로 줄이면: 브라이어 점수

신뢰도와 결과를 한 숫자로 비교하는 방법도 있다. 브라이어 점수는 적은 확률과 실제 결과(맞으면 1, 틀리면 0)의 차이를 제곱해 평균 낸 값이다. 낮을수록 좋다. 모든 경기에 50%만 적어도 0.25가 나온다.

시즌 초는 0.301이었다. 모든 경기에 50%를 적는 것보다 나빴다. 5월 이후는 0.2465로, 50%만 적는 것보다 조금 나은 정도다.

홈팀만 찍었다면

아무 분석 없이 홈팀만 찍어도 얼마나 맞힐 수 있는지 기준선을 잡을 수 있다. 618경기에서 홈팀은 315경기를 이겼다. 51.0%다. 오늘야구의 56.8%는 이 기준선보다 5.8%포인트 높다.

오늘야구는 376경기(60.8%)에서 홈팀을 골랐다. 실제 홈팀 승률보다 홈팀을 더 자주 고른 셈이다. 그래도 홈팀을 골랐을 때 56.4%, 원정팀을 골랐을 때 57.4%로 어느 쪽을 골랐는지에 따라 적중률이 달라지지는 않았다.

월별로는 흔들림이 크다

월경기오늘야구 적중률홈팀 승률차이
4월11658.6%51.7%+6.9p
5월12151.2%48.8%+2.5p
6월11656.0%56.9%−0.9p
7월9353.8%38.7%+15.1p
8월8360.2%59.0%+1.2p
9월8962.9%50.6%+12.4p

월별 적중률은 51.2%에서 62.9% 사이를 오갔다. 홈팀 기준선과의 차이도 −0.9%포인트에서 +15.1%포인트까지 벌어졌다. 7월은 홈팀이 38.7%만 이긴 달이라 홈팀 찍기가 크게 틀렸고, 그만큼 차이가 커졌다. 한 달이 83~121경기라 한두 달 결과로 좋아졌다거나 나빠졌다고 말하기는 어렵다.

이 측정의 한계

정리하면 이렇다. 시즌 초의 높은 신뢰도는 적중률로 이어지지 않았다. 상한을 0.65로 묶은 뒤로는 0.60 미만과 이상이 갈렸지만, 그 위 칸에서는 구분이 되지 않았다.

파일 생성일이 늦은 31경기를 빼면

현재 보존 파일의 생성 시각을 한국시간으로 바꿔 경기 날짜와 비교했다. 4월 7일·25일, 5월 15~17일·19~20일의 채점 경기 31개는 파일 생성일이 경기일 뒤다. 이 행을 빼고 같은 계산을 해도 전체는 587경기 334적중(56.9%)이다. 시즌 초의 브라이어 점수는 0.3044(111경기), 5월 이후는 0.2459(476경기)였다.

5월 이후의 0.60 미만은 152경기 중 75적중(49.3%), 0.60 이상은 324경기 중 195적중(60.2%)이다. 방향은 전체 표본과 같지만, 이 분석은 파일 생성일이 명백히 늦은 행만 뺀 민감도 점검이다. 남은 행을 모두 사전 예측의 독립적 증거로 보거나, 이 차이가 다음 시즌에도 유지된다고 해석할 수는 없다.

계산을 다시 따라가는 방법

예측 파일의 경기 ID와 실제 결과의 경기 ID를 연결한다. 예측 파일 날짜(YYYYMMDD)로 ID가 시작하는 정규시즌 경기만 남기고, 결과가 없거나 무승부인 경기는 뺀다. 이 글은 날짜를 다시 2026-04-01~09-26으로 제한했다. 버전 기록이 없는 121경기와 v2.2 이후 497경기를 나눴으며, 서로 다른 경기 618개인지도 확인했다.

신뢰도별 칸은 원래 재집계 코드처럼 신뢰도 × 100을 정수로 반올림한 값으로 나눈다. 평균 신뢰도와 브라이어 점수는 반올림 전 값을 쓴다. 0.60 이상 칸은 338경기 중 202적중, 미만 칸은 159경기 중 79적중이다.

계산사용한 방법이 글의 검산 예
적중률적중 수 ÷ 채점 경기 수351 ÷ 618 = 56.8%
95% 신뢰구간이항 비율 Wilson score 구간, z=1.9629 ÷ 51의 구간은 약 43.3~69.5%
두 칸의 비율 차이합동 비율을 쓰는 양측 두 비율 z검정79/159 대 202/338, z=2.11, p=0.035
브라이어 점수각 경기에서 (신뢰도 − 적중 여부)의 제곱을 평균시즌 초 0.301, 5월 이후 0.2465

z검정의 합동 비율은 두 칸의 적중 수 합계를 경기 수 합계로 나눈 값이다. 표준오차는 합동 비율 × (1 − 합동 비율) × (1/첫 칸 경기 수 + 1/둘째 칸 경기 수)의 제곱근이다. 두 적중률 차이를 이 표준오차로 나눈 z값에서 양측 p값을 계산했다. 연속성 보정과 다중비교 보정은 적용하지 않았다. Wilson 구간과 두 비율 검정의 계산 배경은 NIST 문서에서 확인할 수 있다.

이 계산은 경기별 결과를 독립적인 관측처럼 취급한다. 같은 팀·연속된 날짜의 상관, 여러 경계를 살펴본 효과, 버전 변경과 경기 구성 차이는 보정하지 않았다. p값은 다음 시즌의 적중률이나 베팅 수익을 보장하지 않는다. 이후의 별도 기간에서도 같은 방향이 유지되는지는 이 글에서 검증하지 않았다.

기록 출처와 확인 범위

독자는 오늘야구 경기별 기록에서 예측·채점 기록을 볼 수 있다. 공개 누적 통계는 갱신되는 파일이므로 이 글의 9월 26일 표본과 현재 경기 수가 다를 수 있다.

운영 저장소의 예측·결과 파일을 읽는 scripts/build-stats-site.js의 loadJoined()와 별도 Python 재집계 코드 ops/article-checks/article-kbo-check.py를 같은 종료일로 제한해 대조했다. 2026년 10월 7일 다시 확인한 결과 618경기·351적중, 경기 ID·적중 여부·신뢰도·버전이 행 단위로 같았다. 운영 저장소의 코드는 공개 링크가 아니지만, 이 글의 고정 표본에서 필요한 열만 뽑은 618경기 CSV와 표를 다시 계산하는 Python 파일을 공개한다. 두 파일을 같은 폴더에 저장하고 Python 3에서 계산 파일을 실행하면 전체·기간별 적중률, 브라이어 점수, 31경기 제외 결과를 확인할 수 있다.

CSV의 예측팀 코드와 신뢰도(0~1), 실제 승리팀 코드와 적중 여부(1/0)로 글의 기본 표를 다시 셀 수 있다. 파일 생성 시각은 UTC로 적었고, 마지막 열이 1이면 한국시간으로 바꾼 생성일이 경기 날짜보다 늦다. 이 자료는 사이트가 보존한 예측·결과 파일의 추출본이다. 파일 생성 시각이나 CSV 자체가 당시 공개한 내용의 불변 원본임을 입증하지는 않는다.

이어서 보기

← 읽을거리 목록