BoatraceCSV

Programs(事前情報)

レース開催前から取得可能な、選手・モーター・近況等の事前情報を集めた CSV 群です。 すべて data/programs/ 配下に配置されます。


Race Title

per-race レース名

race.boatcast.jp の getHoldingList2_YYYYMMDD.json を起源とする、1レース1行の sidecar ファイルです。Programs と同じ「レース名」(予選 / 予選特別 / 準優勝戦 / 優勝戦 / ドラドキ目玉 等) を、開催24場すべてについてレースコードキーで提供します。

race_cards / recent_national / recent_local / motor_stats には レース名 列が無いため、Programs CSV (大きい) を全部ロードせずにレース名だけを取りたい場合に使えます。

サンプルデータ(1行目)

レースコード,レース日,レース場コード,レース場,レース回,タイトル,日次,グレード,ナイター,レース名,電話投票締切予定,中止状態
202605020101,2026-05-02,01,桐生,1R,第53回上毛新聞社杯,2日目,IP,N,予選,確定,

列の詳細説明

スケジュール: daily-sync.yml から python scripts/race-title.py --date $TODAY_JST --force が毎日 JST 00:10 に実行され、当日分が再生成されます。boatcast は当日/直近のみを返すため、過去日の本格的バックフィルは不可。

用途: per-race レース名(優勝戦判定など)を Programs を読まずに取得。レースコード で他CSVに JOIN。


Race Cards

出走表詳細

race.boatcast.jp の bc_j_str3 を起源とする出走表詳細データです。Programs と並行して提供される 追加情報 で、Programs にない項目(全国/当地3連対率、全国平均ST、賞除フラグ、F/L本数、モーター/ボート3連対率、節間14スロット成績)を含みます。学習特徴量の拡張として利用してください。Programs CSV はそのまま維持されます。

サンプルデータ(1行目、抜粋)

レースコード,レース日,レース場コード,レース回,
艇1_登録番号,艇1_選手名,艇1_期別,艇1_支部,艇1_出身地,艇1_年齢,艇1_級別,
艇1_賞除,艇1_F本数,艇1_L本数,
艇1_全国平均ST,艇1_全国勝率,艇1_全国2連対率,艇1_全国3連対率,
艇1_当地勝率,艇1_当地2連対率,艇1_当地3連対率,
艇1_モーターフラグ,艇1_モーター番号,艇1_モーター2連対率,艇1_モーター3連対率,
艇1_ボートフラグ,艇1_ボート番号,艇1_ボート2連対率,艇1_ボート3連対率,
艇1_早見,
艇1_節D1走1_R番号,艇1_節D1走1_進入,艇1_節D1走1_枠,艇1_節D1走1_ST,艇1_節D1走1_着順,
... (節D1走2 〜 節D7走2 まで14スロット × 5項目)
艇2_… (同形式) ...
... 艇6まで ...
202604251712,2026-04-25,17,12R,
3941,池田 浩二,81期,愛知,愛知,48,A1,
,0,0,
0.13,7.88,53.2,71.9,
0.0,0.0,0.0,
0,57,42.9,56.2,
0,35,34.2,52.1,
,
,,,,,12,1,1,0.1,1,5,6,6,0.07,4,11,3,3,0.2,1,...

列の詳細説明

基本情報:

艇N 基本プロフィール (N=1..6, 各艇26列):

全国/当地成績(Programs より粒度が高い):

モーター/ボート:

早見:

節間14スロット成績 (各艇 14 × 5 = 70列):

データソース: https://race.boatcast.jp/hp_txt/{jo}/bc_j_str3_{ymd}_{jo}_{race}.txt。利用可能なのは概ね 2025-05-02 以降。それ以前は Programs を参照してください。

用途: ML特徴量の強化(コース別なし/節間R番号・進入・枠・ST・着順の構造化/3連対率・全国平均ST)。Programs と レースコード で JOIN して利用します。


Waku10 (枠番別過去10走)

枠番別過去10走

race.boatcast.jp の bc_j_waku10 を起源とするデータです。各選手が 今回と同じ枠番 で出走した直近10走の着順・進入コース・グレードと、枠番別の集計値(勝率・平均ST・平均スタート順)を含みます。1行 = 1レース(4 メタ列 + 6艇 × 34列 = 208列)。

列の詳細説明

基本情報: レースコード / レース日 / レース場コード / レース回(Race Cards と同形式)

艇N 枠番別集計 (N=1..6):

艇N 過去10走 (各走3列、過去1走 = 前走 → 過去10走 = 10走前の新しい順):

出走歴が10走に満たない場合、古い側のスロットは全列空欄です。

データソース: https://race.boatcast.jp/hp_txt/{jo}/bc_j_waku10_{ymd}_{jo}_{race}.txt(bc_j_str3 と同時に毎朝取得)

用途: 枠番適性の特徴量(同一枠での実績・ST 安定性)。Race Cards と レースコード + 艇番で JOIN して利用します。


Monthly Schedule (月間開催日程)

月間開催日程

race.boatcast.jp の bc_mon_2_{YYYYMM}_{jo} を起源とする全24場の節(開催)一覧です。ソースファイルは取得月を超えて 数ヶ月先の節まで 含むため、将来の開催予定の先読みに使えます。毎日再取得して 月ファイルを上書き するため、月中の日程変更は git 履歴で追跡できます。

列の詳細説明

行順は 場コード → 節開始日 の昇順です。

用途: 開催スケジュールの先読み、節単位の集計キー(節開始日は Recent Form・モーター履歴系のキーとしても機能)


Recent National Form

全国近況5節

race.boatcast.jp の bc_zensou を起源とする、各艇の全国近況5節(直近の節間成績)を集約したファイルです。Programs にない「節グレード」「節期間(開始日〜終了日)」「着順時系列の生文字列」を含み、ML特徴量として強力です。

サンプルデータ(1行目、抜粋)

レースコード,レース日,レース場コード,レース回,
艇1_登録番号,艇1_選手名,
艇1_前1節_開始日,艇1_前1節_終了日,艇1_前1節_場コード,艇1_前1節_場名,艇1_前1節_グレード,艇1_前1節_着順列,
艇1_前2節_… (同形式) …
… 前5節まで5ブロック ×(艇2〜艇6 同形式)…
202604251712,2026-04-25,17,12R,
3941,池田 浩二,
2026-04-12,2026-04-17,01,桐生,GⅠ,641 216 4 56,
…

列の詳細説明

基本情報:

艇N 識別 (N=1..6):

艇N 前K節成績 (K=1..5、K=1が最新):

データソース: https://race.boatcast.jp/hp_txt/{jo}/bc_zensou_{ymd}_{jo}.txt。場×日×1ファイル(全選手の縦持ち)から、B-fileの艇番↔登録番号で逆引きして横持ちCSVに変換。新人選手で5節未満の場合は末尾セッションが空になります。

用途: 直近の調子・節グレード推移・休場頻度を時系列特徴量化。艇N_前K節_着順列 を文字単位で集計すれば「直近X日の連対率」「F発生数」などを派生できます。


Recent Local Form

当地近況5節

Recent National Form と同一スキーマで、ソースだけ bc_zensou_touchi に差し替わったファイルです(当該レース場での直近5節のみが収録される)。当地適性をML特徴量化するために利用してください。

データソース: https://race.boatcast.jp/hp_txt/{jo}/bc_zensou_touchi_{ymd}_{jo}.txt。スキーマ・列名は Recent National Form と完全一致しているため、両ファイルを (レースコード, 艇N_*) で同列名の prefix 違いとして取り扱えます(実装時は CSV ファイル分離のためそのまま JOIN 不可、必要なら pandas で suffix 付与)。

用途: 当地で過去どのような戦績だったか、当地特化の特徴量に。


Motor Stats

モーター期成績

race.boatcast.jp の bc_mst (モーター期起算日) + bc_mdc (期内モーター詳細) を起源とする、1モーター1行のスナップショットファイルです。

収録範囲: 1日あたりの収録は 当日開催のある場のみ(B-fileから抽出)。24場のうち通常 14〜16 場 (~62%) しか含まれません。休場日のある場は当日のレコードが欠けるため、ML 時系列で利用する際は前回スナップショットからのフォワードフィルを推奨します。

重要な注意: race.boatcast.jp は現在のモーター期のみを返却するため、過去日のバックフィル不可。記録日 以降の日次スナップショットを継続蓄積する設計です。日次バッチ運用が始まった日から有効データが溜まり始めます。

サンプルデータ(1行目、抜粋)

記録日,モーター期起算日,場コード,モーター番号,
勝率,勝率順位,2連対率,2連対率順位,3連対率,3連対率順位,
1着回数,1着順位,2着回数,2着順位,3着回数,3着順位,
連対外回数,出走数,
優勝回数,優勝順位,優出回数,優出順位,
raw_col_21,raw_col_22,
平均ラップ秒,平均ラップ順位,期内初使用日,
整備種別1回数,整備種別2回数,整備種別3回数,整備種別4回数,整備種別5回数,整備種別6回数,
直近メンテ日
2026-04-25,2025-10-19,17,25,
8.1,1,80.0,1,90.0,1,
5,1,3,4,1,26,
1,10,
1,1,1,1,
677,8,
14.89,1,2025-10-22,
0,3,2,0,0,0,
2025-10-24

列の詳細説明(確度ラベル付き)

確度ラベル: ★★★ = JS実装またはデータ分布で確証あり/★★ = 強い状況証拠あり/★ = 仮説段階。

メタ情報:

勝率系(rate × 100 を /100 に変換し小数点表記、順位は1位が最高):

着順回数(順位は最大値が1位):

Raw 列(意味未確定):

優勝・優出(boatcast の MotorHistory.js で確認済み):

ラップタイム:

日付・整備:

データソース:

用途: Programs の モーター2連対率 の上位互換。3連対率・優勝回数・整備履歴・平均ラップまで取れるため、モーター強さの強力な特徴量に。日次更新で時系列追跡可能。(記録日, 場コード, モーター番号) を主キーとし、programs の 艇N_モーター番号 と JOIN して使用。


Motor History (モーター履歴)

モーター履歴

race.boatcast.jp の bc_mrireki_{節終了日}_{jo} を起源とする、モーター番号ごとの 節単位の使用履歴 です。各ファイルはその節終了日を基準としたスナップショットで、モーターごとに直近約3節分の {使用期間, グレード, タイトル, 使用者名, 着順列} を含みます。1行 = 1(モーター × 過去節)。

Motor Stats (bc_mdc) が期集計値のみなのに対し、こちらは どの選手がいつ使ってどんな着順だったか の生履歴が取れます。また bc_mdc と異なりソースが過去節分も保持(実測 1ヶ月以上)しているため、導入時点からの短期バックフィルが可能です。

列の詳細説明

取得・更新ルール

データソース: https://race.boatcast.jp/hp_txt/{jo}/bc_mrireki_{節終了日yyyymmdd}_{jo}.txt

用途: モーターの素性追跡(直近の使用者の腕を補正したモーター評価、乗り換わり分析)。場コード + モーター番号 で Motor Stats / Race Cards の 艇N_モーター番号 と JOIN して使用。