競艇のAI予想ツールを作りたい、あるいは誰かのAI予想を参考にしてみたい。そう思ってこの記事に来た人は、まず一度立ち止まってほしい。
データを理解せずにモデルを作っても、意味のある特徴量は生まれない。予想を使う側にしても、なぜその予想が出たかを理解できなければ、結局は「おみくじ」と同じだ。
私はエンジニアとして競艇AI予想システムを自作した経験がある。その過程で痛感したのは、「競艇の構造を理解していないまま機械学習に突っ込んでも、精度が出ない」 という現実だった。
この記事は、そのときの自分に向けて書いている。
まずこの5つを知れば「競艇×AI」は動き出す
細かい話の前に、結論をまとめておく。AIで競艇予想をするうえで最低限必要な知識はこの5つだ。
- レースは6艇・3周で決まる(変数が少なく、モデルが作りやすい)
- コース(枠番)には有利・不利がある(特に1コースは別格)
- 賭け式によって期待値が全然違う(何を予測するかでモデル設計が変わる)
- 公式APIでほぼすべてのデータが取得できる(AI予想に向いた数少ない競技)
- 控除率は25%。回収率100%超えは相当難しい(心構えとして必須)
この5点を頭に入れながら読んでほしい。
競艇の基本ルール:6艇・3周・6つのコース
レースの基本構造
競艇(ボートレース)は、モーターボートで1周600メートルのコースを3周し、着順を競う公営競技だ。1レースに出走するのは最大6艇。競馬のように16頭、18頭が出てくるわけではない。
この「6艇という少なさ」が、AI予想との相性をよくしている理由の一つだ。3着以内に入る組み合わせを考える際、変数の数が圧倒的に少ない。
コースの構造
レース場のコースは内側から1コース・2コース・3コース・4コース・5コース・6コースと番号がつく。
号艇番号(選手に割り当てられた番号)とコース番号は必ずしも一致しない。スタート前に選手同士がポジションを争う「ピット離れ」と呼ばれる動きで、実際に走るコースが決まる。ただし多くのレースでは、1号艇が1コースから走るケースが大半だ。
スタートの独自ルール
競艇のスタートには「フライングスタート」という独自のルールがある。スタート時刻の前後1秒以内にスタートラインを通過しなければならない。早すぎると「フライング(F)」、遅すぎると「出遅れ(L)」として欠場扱いになる。
このルールがレース結果に大きく影響する。スタートタイミングの早さ(展示タイム)は、AI予想の重要な入力変数の一つになる。
賭け式の種類と還元率:何を予測するかでモデルが変わる
競艇の賭け式は全部で7種類ある。AIで予想する際は「どの賭け式で回収率を最大化したいか」を先に決めることがモデル設計の出発点になる。
| 賭け式 | 内容 | 難易度 | 還元率(払戻率) |
|---|---|---|---|
| 単勝 | 1着を当てる | 低 | 75.0% |
| 複勝 | 2着以内を当てる | 低 | 75.0% |
| 拡連複(ワイド) | 2着以内に入る2艇を順不同で当てる | 中 | 74.8% |
| 2連複 | 1・2着を順不同で当てる | 中 | 74.8% |
| 2連単 | 1・2着を順番通りに当てる | 高 | 74.8% |
| 3連複 | 1・2・3着を順不同で当てる | 高 | 74.8% |
| 3連単 | 1・2・3着を順番通りに当てる | 最高 | 72.5% |
AI予想との関係で重要なのは3点だ。
1点目:単勝・複勝は的中しやすいが配当が低い。
1コースの単勝はオッズが1.5倍〜2倍程度になりやすく、的中しても利益が出にくい。AIでの運用では、期待値(オッズ×的中確率)でプラスになる賭け式を選ぶことが重要だ。
2点目:3連単はハイリターンだが難易度が高い。
6艇の3着以内の順列は120通りある。高配当が出るレースもあるが、AIモデルが1着・2着・3着すべてを正確に予測するには相当な精度が必要だ。
3点目:2連単は「精度とリターンのバランス」が取りやすい。
予測対象を1着と2着の2艇に絞れるため、モデルの作りやすさと期待値のバランスが良い。入門向けのモデル設計には向いている。
还元率はいずれも74〜75%程度だ。購入金額の25〜26%は控除される(競艇場の取り分)。この控除率を超えて回収率をプラスに保つことが、AI予想の究極の目標になる。
データが公開されている特徴:なぜ競艇はAI予想に向いているのか
競艇がAI予想に向いている理由は、「機械学習に使えるデータがきれいに揃っている」という一点に尽きる。
公式APIの存在
競艇には「Boatrace Open API」という公式データAPIが存在する。エンジニアにとって非常にありがたい環境だ。取得できる主なデータは以下の通りだ。
- 出走表(programs): 選手名・号艇・コース・モーター番号・直近の成績指標
- レース結果(results): 着順・タイム・支払配当
- 展示タイム(previews): スタート展示・旋回展示のタイム
これらのデータが構造化されたJSON形式で提供される。スクレイピングの泥仕事が不要で、データ収集に時間をかけずにすむ。
数値化しやすい指標が多い
競艇のデータは数値指標が充実している。
- 選手の勝率・2連対率・3連対率: 直近の成績を期間別に確認できる
- モーター成績(モーター2連率など): 乗り物の性能差を数値で把握できる
- 展示タイム: 当日のモーターとスタートの状態を数値で確認できる
- 気象条件: 風速・風向き・波高などレース環境も記録されている
これだけの変数が揃っている公営競技は珍しい。競馬の馬場状態や騎手の体重管理ほど曖昧な要素が少なく、数値として扱いやすい。
過去データの蓄積量
全国24カ所のレース場で年間を通じてレースが行われている。1日あたり多いときには100レース以上のデータが蓄積される。学習データの量として申し分ない。
初心者がよく誤解すること:「1コースが有利」の罠
「1コースの1号艇を買っておけば当たる」という話を競艇入門者はよく耳にする。これは半分本当で、半分は危険な思い込みだ。
1コースの勝率は確かに高い
全国の競艇場を平均すると、1コース艇の1着率はおよそ50〜55%前後だ。つまり2回に1回は1コースが勝つ。これはデータが示す厳然たる事実だ。
しかし「買い続けると損する」
問題はオッズだ。1号艇の単勝オッズは人気を集めるため、多くのレースで1.3倍〜1.8倍程度になる。
仮に的中率55%・平均オッズ1.5倍で計算すると、回収率は55% × 1.5 = 82.5%だ。控除率25%の壁を超えるどころか、大きく下回っている。「確率が高い」ことと「儲かる」ことは別の話だ。
AI予想でも同じ罠にはまりやすい
機械学習のモデルを作ると、多くの場合は「1号艇の勝率が高い」という特徴をモデルが過学習する。結果として、1号艇を常に予測するモデルが出来上がる。的中率だけ見ると良さそうに見えるが、回収率は75%を下回るという本末転倒な状況に陥る。
AI予想で見るべき指標は「的中率」ではなく「回収率(ROI)」だ。
回収率 = 払戻金額合計 ÷ 購入金額合計 × 100
この数値が100%を超えて初めて、AI予想が機能していると言える。
AI予想を使う前の心構え:資金管理と期待値の話
控除率25%は動かせない前提
競艇の控除率は25%だ。全国民がランダムに賭け続けた場合、全員の平均回収率は75%になる。AIで予想しても、平均的な参加者は長期的に損をする。
AI予想の役割は、その75%という平均値を上回る「優位性のある賭け」を発見することだ。優位性とは、オッズが過小評価している(買われていない)高確率の結果を見つけることを指す。
期待値がプラスな賭けだけを選ぶ
AIで予想を作る際、目指すべきは「すべてのレースを買う」ことではなく、「期待値がプラスになるレースだけに絞って賭ける」ことだ。
期待値 = オッズ × 自分のモデルが予測する的中確率
この値が1.0を超えるとき(例:オッズ3.0 × 予測的中率40% = 1.2)にのみ賭けるというルールを設けると、長期的な回収率は上がりやすくなる。
資金管理がなければどんなAIも機能しない
単発の的中率が高くても、一度の大きな負けで資金を失えばゲームオーバーだ。競艇AI予想に使う資金は、失っても生活に影響しない「遊興費の範囲」に限定することを強くすすめる。
一般的なリスク管理として、1回の賭けに使う金額は総資金の2〜5%以内にとどめる。これはトレードやポーカーでも使われる基本的な資金管理の原則だ。
「必ず勝てる」AIは存在しない
モーターの調子・選手の体調・天候・他の選手の戦略など、数値化されていない要素は常に存在する。競艇AIはあくまで「確率的に有利な選択を支援するツール」であり、勝利を保証するものではない。
長期的に見て期待値がわずかにプラスである状態を維持すること。それがAI予想を実用的に使うための現実的なゴールだ。
関連記事:競艇AIを実際に作った話
競艇の基礎知識を理解したうえで、実際にAI予想システムを自作した体験談に興味があるなら、以下の記事を参考にしてほしい。
[競艇のAI予想をClaude Codeで作ったら、ROI96.3%まで来た話]
上記の記事では、エンジニアとして競艇AI予想システムをゼロから構築した過程を詳しく書いている。この記事で解説したBoatrace Open APIを実際にどう使ったか、どの変数を特徴量として採用したか、回収率をどう計測しているかなど、実装レベルの話まで踏み込んでいる。
まとめ:AIで競艇予想をする前に押さえておくべき5点
この記事で伝えたかったことを最後に整理する。
| ポイント | 内容 |
|---|---|
| レース構造 | 6艇・3周・フライングスタート。変数が少なくモデルを作りやすい |
| コースの特性 | 1コースは確かに有利だが、オッズが低く回収率は出にくい |
| 賭け式の選択 | 2連単は精度とリターンのバランスが取りやすい。目標回収率を先に決める |
| データ環境 | 公式APIで数値化された変数が揃っている。AIとの相性が良い |
| 資金管理 | 控除率25%が前提。期待値プラスの賭けに絞り、1回の賭けは総資金の2〜5%以内に |
競艇は「データが整った、変数の少ない予測問題」だ。AIエンジニアにとっては、機械学習の実践環境として面白い素材であることは間違いない。
ただし、どれだけ優れたモデルを作っても、賭けている以上は損をする可能性がある。それを前提としたうえで、技術的な挑戦として楽しむのが正しい向き合い方だと私は思っている。
基礎知識を固めたら、ぜひ自分のモデルを作ってみてほしい。
関連ツールを見る
この記事で紹介したツール・サービスをまとめてチェック。
![]()