'그 뭐더라'에서 '그' 를 설명하는 블로그
한국 경마 예측 : 머신러닝을 통한 경마 순위 예측 - part 1 본문
개요
이 글의 목적은 마사회 공개 API(서울·부산경남·제주)에서 수집한 경마 데이터를 바탕으로 각 경주의 우승마 또는 Top-3 를 예측하고, 실제 승식별 배팅 시뮬레이션으로 수익/손실을 검증하는 것입니다.
분석/모델링은 Python, Pandas, NumPy, scikit-learn, CatBoost, LightGBM, XGBoost로 수행했습니다.
데이터셋
데이터셋은 마사회에서 제공하는 open API에서 가져온 것으로 경주성적정보, 경주기록정보부터 질병, 마주, 기수... 혈통정보까지 다양한 API를 활용하여 2010년도부터 2025년까지 데이터를 수집하였습니다.
데이터는 총 110391회의 경주로 구성되어 있고 우승말은 10236마리 Top-3 말은 30699마리 데이터로 구성되어 있습니다.
경주 데이터에는 73개 피처들을 포함하고 있고 일부 피처에 대해 설명하겠습니다.
- rc_no : 경주의 고유 식별자
- rc_date : 경주날짜 YYYY-MM-DD형식
- meet - 3개의 숫자로, 3개 경주장 중 어디서 경주가 열렸는지 나타냄 : 1 = 서울 2 = 제주 3 = 부산
- rc_dist : 경주 거리
- track : 경주로의 상태를 문자열로 나타냄 : 건조 양호 다습 포화 불량
- wg_hr : 경주마 몸무게
- wg_hr_delta : 이전 경주 몸무게와 현재 경주 몸무게의 차
- wg_budam : 말이 부담 진 중량
- chul_no : 출주번호
- age : 말의 나이
- last_ord : 이전 경주 순위
- current_rc_time : 현재 경주 기록
데이터 탐색
경주 기록과 이어지는 몇 가지 중요한 변수들이 있습니다. 우리는 이러한 변수들을 탐색하기 위해 과거 데이터를 기반으로 어떤 유형의 말들이 우승하는지 분석하였습니다. 해당 분석이 유의미한지 다음 4가지 변수를 통해 보여드리겠습니다.
- chul_no : 출발 위치
- age : 말의 나이
- last_ord : 이전 경주 성적
- wg_budam : 경주마의 부담 중량
1. 출발 위치
출발 위치는 경마에서 중요한 변수중 하나입니다. 실제 과거 경주데이터를 분석한 결과 출발 위치가 1 번부터 3번 말들의 경우 10번 이상의 출발위치에 있는 말들에 비해 경주에서 우승할 확률이 약 3% 정도 더 높습니다. 출발 위치가 작을수록 말이 안쪽 코너에 더 가깝게 달려 거리가 짧아지기 때문입니다.

1-3번에 총 4314마리가 분포되어 있었고 이는 약 37% 정도 분포된 것입니다.
2. 말의 나이
말의 나이도 승률에 어느 정도 영향을 미칩니다.

--- 나이대별 분석 ---
2-3세: 전체=56948, 우승률=12.25%, Top3률=33.34%
4-5세: 전체=46304, 우승률=6.54%, Top3률=23.01%
6-7세: 전체=6417, 우승률=3.38%, Top3률=14.99%
8세 이상: 전체=722, 우승률=2.35%, Top3률=13.30%
나이대별로 분석한 결과 2세가 가장 14% 폭발적인 승률을 9세가 5% 최저 승률을 보였습니다.
3. 지난 경주 등수
지난 경주 성적은 전반적인 말의 능력을 보여줍니다. 말 자체의 능력을 반영하기 위해 경주 기록을 표준화해서 사용했지만 가장 유의미한 성과를 낸 것은 지난 경주 등수였습니다. 이전 경주 기록의 경우 그날의 경주로 상태, 출주번호, 함수량 등 외부 환경을 반영하지 못합니다. 더 자세하게 설명 하자면 같은 경주 능력을 가진말이 비오는날에 뛰었을때와 화창한날에 뛰었을때 기록이 달라지는것은 말의 능력 뿐만 아니라 외부 환경에 따라 결과에 편차가 있다는 의미입니다. 하지만 등수의 경우 상대적인 그 경주의 성적을 반영하기 때문에 모델에서 중요 피처로 작용합니다.

우승한 말의 약 36%는 이전 경주에서 1-2위를 했던 말이었습니다. 최저 성과는 약 3% 이전 경주에서 10위를 한 말입니다.
4. 부담 중량

부담중량의 경우 경주할 때 말이 지닌 무게이다. 그렇다면 부담이 적을수록 경주에 유리한 것이 아닌가 결론 내릴 수 있을 것 같지만 그렇지 않다.
한국 경마의 경우 rating 제도로 인해 잘하는 말에게 높은 부담을 부과한다. 따라서 높은 부담중량을 지닌 말이라는 건 원해 잘 뛰는 말이라는 의미이다. 따라서 분포도 부담중량을 지닌 말들의 우승비율이 높은 편이다.
베이스라인 모델
이제 수익 실천이라는 저희의 진짜 목표를 위해 실제로 돈을 벌 수 있는지 여러 실험을 진행해 보겠습니다.
이 부분에서는 2023년까지 학습을 진행한 후, 표본 외 데이터인 2024년 데이터만 사용하여 실험을 진행하겠습니다.
경주는 약 970개이고 한 경주마다 1000원을 배팅하여 맞추는 (배팅금 * 배당) - 1000원을 틀리면 -1000을 더하여 수익금을 계산하였습니다.
다양한 배팅 방법
먼저 알아야 할 것은 경마에서 다양한 승식 배팅 방식이 있다는 것입니다. 우리는 그중 두 가지에 집중하여 계산할 것입니다.
- 복승: 1·2등을 순서 무관으로 맞추면 적중
- 삼복승: 1·2·3등을 순서 무관으로 모두 맞추면 적중
1. 복승
복승은 1,2등을 순서 상관없이 맞추는 배팅 방식 중 하나입니다. 경주 시작 전에 말 두 마리를 선택합니다. 지면 배팅금을 100% 손실하게 되고 이기면 배당에 맞게 수익을 얻을 수 있습니다. 두 마리 말의 조합에 따라 배당이 정해져 있기 때문에 해당 배당에 맞게 수익금을 받을 수 있습니다.
2. 삼복승
삼복승은 1,2,3등을 순서 상관없이 맞추는 배팅 방식 중 하나입니다. 경주 시작 전에 말 세 마리를 선택하여 복승과 동일한 방식으로 진행됩니다.
실험
해당 모델이 유의미한지 알아보기 위해 경마 순위 예측 모델 없이도 긍정적인 수익을 얻을 수 있는지 실험해 보겠습니다.
아주 보편적인 접근법으로 복승과 삼복승을 비교해 보겠습니다.
- 랜덤 배팅
- 인기말 배팅
- 말의 성과에 따른 배팅
복승
1. 랜덤 배팅
말 그대로 무작위로 두 개의 번호를 선택하여 선택한 경주마가 1,2 순위로 들어오기를 기대하는 배팅 방식입니다.
랜덤 배팅 요약
각 경주에 1000원씩 배팅하여 무작위 말을 선택했습니다. 적중률은 2.31% 수익금은 -34.32%의 마이너스 수익이 나왔습니다.

2. 인기말 배팅
인기말은 배당이 가장 낮은 말을 의미합니다. 경주 배당률은 경주가 열리기 전에 설정되며 시작될 때까지 변할 수 있습니다. 이 배당률은 전문가들과 대중들에의해 설정됩니다. 이들은 전문가이기 때문에 승리 가능성이 높은 말에게 높은 배당률을 주지 않습니다. 말 그대로 승리 확률이 높은 말에 사람들의 돈이 몰려 배당이 떨어집니다.
여기서는 각 경주마다 가장 낮은 복승 배당률을 가진 말을 우승 후보마로 선택하겠습니다.
인기말 배팅 요약
인기말 배팅 방식은 적중률 16.70%, ROI -25.24%와 같은 결과가 나왔습니다. 물론 랜덤방식보다 훨씬 좋은 배팅 방식이었습니다. 하지만 적중률이 16%인 거에 비해 긍정적인 수익을 얻기에 충분하지 않았습니다.

3. 말의 과거 성과를 기반으로 배팅
말의 성과는 마사회에서 제공하는 데이터가 아닌 학습을 위해 피처 엔지니어링을 통해 생성된 데이터입니다.
말의 성과 = ((1등 한 횟수 * 1) + (2등 한 횟수 * 0.6) + (3등 한 횟수 * 0.3)) / (경주 횟수)를 하여 구한 값입니다.
해당 피처가 말의 능력을 가장 대표하는 피처라고 생각하여 말의 성과를 기준으로 배팅을 진행하였습니다.
말의 과거 성과 배팅 요약
말의 과거 성과를 기준으로 한 배팅은 적중률 11.27%, ROI -35.27%/경주와 같은 결과가 나왔습니다. 예상외로 가장 낮은 수익률을 보였습니다.

삼복승
1등과 2등 3등 말을 순서 상관없이 맞추는 승식입니다. 예를 들어, 3/7/9을 선택하면 (1등 7번 2등 3번 3등 9번) , ( 1등 3번 2등 9번 3등 7번), (1등 9번 2등 7번 3등 3번).... 여섯 가지 경우 수익금을 얻을 수 있습니다.
1. 랜덤 배팅
무작위로 세 개의 번호를 선택하여 선택한 경주마가 1,2,3 순위로 들어오기를 기대하는 배팅 방식입니다.
랜덤 배팅 요약
각 경주에 1000원씩 배팅하여 무작위 말을 선택했습니다. 적중률 0.90%, ROI -30.47%/경주의 마이너스 수익이 나왔습니다.

2. 인기말 배팅
인기말 배팅 요약
인기말 배팅 방식은 적중률 9.22%, ROI -28.17%와 같은 결과가 나왔습니다.

3. 말의 과거 성과를 기반으로 배팅
말의 과거 성과 배팅 요약
말의 과거 성과를 기준으로 한 배팅은 적중률 3.38%, ROI -63.29%/경주와 같은 결과가 나왔습니다.

실험 결과
결국 어떠한 배팅 방식도 돈을 벌게 해주지 못했습니다. 매우 기본적인 방법으로는 우승할 경주마를 올바르게 추측할 수 없습니다.
복잡한 경마 속에서 머신러닝 모델을 활용하여 우승할 경주마를 올바르게 예측해 보겠습니다.
지금까지 진행한 순진한 접근법은 머신러닝 모델이 얼마나 효과적인지 비교하는 참고자료가 될 것입니다.
이렇게 첫 번째 파트를 마무리하면서, 단순한 배팅 방식으로는 수익을 벌 수 없음을 확인했습니다. 다음 파트에서는 모델에 사용한 일부 데이터 피처들을 보여드리고 모델의 성능과 함께 실제 배팅을 진행하며 얻은 결과를 보여드리겠습니다.
'경마' 카테고리의 다른 글
| 한국 경마 예측 : 머신러닝을 통한 경마 순위 예측 - part 2 (2) | 2025.09.16 |
|---|---|
| 8월 9일 경마 예측 (6) | 2025.08.10 |
| 8월 8일 경마 예측 (5) | 2025.08.10 |
| 8월 2일 경마 예측 (4) | 2025.08.02 |
| 8월 1일 경마 예측 (9) | 2025.08.01 |