運用中の競艇AIで、最近モデルの回収率がやや下がっています。回収率とは、購入額に対して払戻がいくら戻ったかの割合です。
今回はモデルを作り直していません。代わりに、次の検証で使えるデータを増やす「基礎工事」を選びました。具体的には、選手タグの整理、事故情報の蓄積、レース短評の自動生成です。
作業の途中で、条件別タグの更新処理が夜間処理から漏れていたことも見つかりました。この記事は、そこまでを含めた開発記録です。開発中のブログ自動化システムで、実際の開発記録を記事にする実戦テストも兼ねています。
この記事のポイント
- 回収率が下がっても、短期間の成績だけでモデルを作り直さない
- 公式成績で取れる事実だけを使い、映像が必要な評価は使わない
- 選手タグを「基本タグ」と「条件別タグ」に整理し、根拠の数字をクリックで見られるようにした
- 条件別タグが9月16日から更新されていなかったのを見つけ、毎晩23時の更新に直した
- 追加データはすぐモデルに入れない。蓄積と比較検証を通ったものだけを採用する
競艇AIの回収率はどのくらい下がったのか
直近10日間の日別の成績は次のとおりです。購入条件は変えていません。
| 日付 | 購入額 | 払戻額 | 回収率 |
|---|---|---|---|
| 9月30日(速報・未確定26R) | 37,800円 | 23,290円 | 61.6% |
| 9月29日 | 51,300円 | 33,530円 | 65.4% |
| 9月28日 | 54,500円 | 42,460円 | 77.9% |
| 9月27日 | 62,300円 | 42,580円 | 68.3% |
| 9月26日 | 60,400円 | 53,340円 | 88.3% |
| 9月25日 | 53,600円 | 43,110円 | 80.4% |
| 9月24日 | 56,900円 | 53,540円 | 94.1% |
| 9月23日 | 58,600円 | 44,720円 | 76.3% |
| 9月22日(未確定12R) | 59,300円 | 48,800円 | 82.3% |
| 9月21日(未確定35R) | 43,000円 | 34,430円 | 80.1% |
日別の回収率は61.6%〜94.1%です。9月27日以降は60%台の日が目立ちます。
判断の目安として、筆者は過去3年のシミュレーションで回収率75%〜80%なら「普通」としています。この基準で見ると、ここ数日は普通を下回る日が続いています。ただし、10日程度の成績でモデルの良し悪しは決めません。理由は「筆者の判断」の章で書きます。
既存データで分かること・分からないこと
まず、手元のデータベース(DB)で何が取れて何が取れないかを整理しました。
| 区分 | 項目 |
|---|---|
| 取得できる | 平均ST(スタートタイミング)、STの安定度 |
| 取得できる | 着順のばらつき、3着内率、5着・6着率 |
| 取得できる | 1コース敗戦時の決まり手(勝ち方の種類) |
| 取得できる | 選手責任の事故率、フライング・出遅れ |
| 取得できる | 「抜き」(道中で前の艇を抜く決まり手)による1着回数 |
| 直接は取れない | ターンの膨らみ、旋回ミス |
| 直接は取れない | 周回ごとの順位変化(道中の順位上昇) |
公式成績には、選手責任の失格やフライングが載っています。保存済みの公式結果を調べると、転覆・落水・エンスト・妨害といった事故の種類も含まれていました。
一方で、ターンの質は映像を見ないと分かりません。今回は取得できる事実だけで特徴や短評を作り、映像が必要な評価は使わないと決めました。
選手タグを「基本」と「条件別」に整理した
これまでは「選手タグ」と「評価タグ」が別々にありました。これを「選手タグ」に統一し、中身を2種類に分けました。
| 種類 | 中身 | 例 |
|---|---|---|
| 基本タグ | 平均ST・安定度・事故率など | ST○ |
| 条件別タグ | 特定の条件での成績の変化 | 初日○、準優○、格上相手、格下○ |
準優は準優勝戦(優勝戦の出場者を決めるレース)のことです。「ST○」「初日○」「格下○」「準優○」は同じ場所に並べて表示します。タグをクリックすると、根拠の数字と説明を確認できます。

代表的なタグの基準
- ST○:過去1年の成績から作成します。平均STが全選手の上位25%以内の選手に付きます。表示例は「直近1年の平均ST 0.15・速い方から19%」です。
- 初日○:過去2年の成績から作成します。その選手自身の勝率を基準にして、初日だけ成績が上がるパターンを示します。表示例は「273走・期待成績との差+4.7ポイント」です。
再計算では条件別タグ4,878件を更新しました。サイト全体では、1,835人に合計8,050件のタグが付いています。
夜間処理の更新漏れを見つけて直した
タグを整理している途中で問題が見つかりました。条件別タグが9月16日以降、更新されていなかったのです。原因は、条件別タグの更新処理が夜間処理(夜中にまとめて自動実行する処理)から漏れていたことでした。
そこで、更新の流れを次のようにまとめ直しました。
- 基本タグを更新する
- 条件別タグを更新する
- 事故情報を更新する
- 選手短評用のデータを更新する
これらを夜間処理でまとめて実行します。条件別タグは修正後、毎晩23時に更新されます。
事故情報・レース短評・選手コメントの扱い
事故情報
事故の種類は、2026年9月13日以降の分を蓄積しています。数か月から1年ほど貯めてから検証する予定です。
事故が多い選手を、そのまま「弱い」とは扱いません。荒れる条件や、L4・L5との組み合わせで成績がどう変わるかを調べたいと考えています。
L1〜L5は、配当がどのくらいになりそうかの目安です。AIが出した配当の見込みから、レース前に5段階へ分けています。
| 段階 | 意味 |
|---|---|
| L1 | 堅い |
| L2 | やや堅い |
| L3 | 並み |
| L4 | やや荒れ |
| L5 | 大荒れ |
レース短評の自動生成
確定したレースのデータから、短評を自動で作れるようにしました。使う材料は、着順、進入コース、ST、決まり手、事故、事前予想、実際の結果です。
短評の例は「3号艇がトップスタートからまくり。1号艇はインから残せず2着」です。まくりは、外側の艇が内側の艇を一気に抜いていく決まり手です。短評は、将来1日の振り返り記事にも使う予定です。
選手コメント
一部の競艇場は、前検(開催前の試運転)や直前のコメントを公開しています。ただ、場ごとに形式が違い、過去の分を大量に集めるのは難しい状況です。
今後は、取得できるコメントを自前のDBに貯めていきます。全文は転載しません。「序盤は伸びに不満」「3日目から回り足の評価が改善」のように、傾向だけを使う方針です。将来は、本人のコメントと実際の成績がどのくらい一致するかも調べたいと考えています。
筆者の判断:追加データはすぐモデルに入れない
回収率が下がっても、短期間の成績だけでモデルを判断しません。まずは、今まで使っていなかった情報の価値を整理します。モデルの大幅な改修より、次の分析材料を増やす基礎工事を優先しました。
追加したデータも、すぐにはモデルへ入れません。過去データの検証で一時的に良くなっても、本番で効かない場合があるからです。
採用までの流れは次のとおりです。
- 事故情報などのデータを蓄積する
- 十分なサンプルが集まるまで待つ
- 過去3年のシミュレーションで既存モデルと比べる
- 回収率が75%〜80%(普通の水準)を超えれば、研究の余地ありとする
- 検証中のサイトへ移し、リアルタイムの計測に採用する
本当に回収率が良くなるものだけを採用します。たとえば「回収率120%」でも数十レースしかなければ、標本が少なすぎて判断できません(これは説明用の仮の例で、実績ではありません)。
開発ログは大量に投稿しません。人が読める形に整理してから記事にします。
まとめ
- 競艇AIの回収率がやや下がりました。購入条件は変えておらず、直近10日の日別回収率は61.6%〜94.1%でした
- モデルはすぐ作り直さず、選手タグ・事故情報・短評を整える基礎工事を選びました
- 公式成績で取れる事実だけを使います。ターンの質など映像が必要な評価は使いません
- 選手タグを基本タグと条件別タグに分け、クリックで根拠の数字を見られるようにしました
- 条件別タグの更新漏れを直し、毎晩23時に更新されるようにしました
- 追加データは蓄積と既存モデルとの比較を経て、回収率が本当に良くなるものだけを採用します
サイトは「今日の予想」が中心でした。今後は選手データ、短評、事故の傾向、条件別成績から、結果や条件によって成績がどう変わるかを確認できるサイトへ広げていく予定です。タグの詳しい基準は、サイト内の説明でも案内しています。
参考資料
- https://boat.takenokolab.link/index.html#recent
- https://boat.takenokolab.link/guide.html
- https://boat.takenokolab.link/tags.html
あわせて読みたい



よくある質問
Q. 回収率が下がったら、すぐにモデルを作り直すべきですか?
A. この記録では、すぐには作り直していません。短期間の成績だけでモデルを判断せず、今まで使っていなかった情報の価値を先に整理する方針にしました。過去データの検証で一時的に良くなっても、本番で効かない場合があるためです。
Q. 公式成績のデータだけで、選手の特徴はどこまで分かりますか?
A. 平均ST、STの安定度、着順のばらつき、3着内率、5着・6着率、事故率、フライング・出遅れなどは取得できます。一方で、ターンの膨らみや旋回ミスは公式成績からは判断できません。周回ごとの順位もないため、道中の順位上昇も直接は測れません。
Q. L4・L5とは何ですか?
A. 配当がどのくらいになりそうかの目安です。AIが出した配当の見込みをもとに、レース前にL1(堅い)からL5(大荒れ)までの5段階に分けています。L4は「やや荒れ」、L5は「大荒れ」です。

コメント