PHP+MySQLで競馬データベースアプリを自作する方法・データ取得編
プログラムスキル向上のためにいろいろアプリを作っています。
今回は自作した競馬データのWEBアプリの作成手順をまとめていこうと思います。
自分が競馬に興味を持ったきっかけはゲーム・ダービースタリオンでした。
そこから競走馬の血統に興味を持ち、血統から競馬予想するようになってもう20年以上。
このへんの本は読んでいて楽しいです。
なので種牡馬の産駒成績ランキングをWEBアプリ化してみました。
種牡馬の産駒成績ランキングアプリ・詳細
産駒の集計項目は以下。
・芝/ダート別
・性別
・馬場状態別
・競馬場別
・距離別
・コース別距離成績
以上の条件の「勝率・連対率・複勝率・単回率・複回率・着数」を集計し一覧表示するものとなっています。
[トップ画面]

トップ画面。
[種牡馬個別データ画面]

・芝/ダート・性別・馬場状態別・コース別・距離別データ表示画面。
[コース別データ表示画面]

コース別データ表示画面。
構築環境
プログラム:PHP7.4
データベース:MySQL8.0
競馬予想ソフトのTARGETがあればもっと詳細なデータ分析ができるんですが、PCのデスクトップアプリなのでPCが無いと動かせません。
外出先で競馬予想をしてちょっとデータを確認したいという時に、WEBアプリならスマホやタブレットから見れて便利なのです。
産駒の成績データが肝
何は無くとも作成には大元となる産駒の成績データが必要です。
目的に合う(あわよくばなるべく加工する必要が無い)データさえ見つけられれば後はシステムを組むだけ。
実はシステムを作成することよりも条件に合うデータ探しに時間がかかりました。ですが今回の条件にぴったりなデータがあったんです。
JRA-VAN DataLabを使用
JRAが提供している競馬データサービスJRA-VAN、この中の「DataLab」を使用します。
JRA-VANの特徴
過去30年分のレースデータから、オッズ、提供しています。JRA-VANを使えば、パソコン向け競馬ソフトやスマートフォンで、競馬をより深く・便利に楽しむことができます。
JRA-VANホームページから
今回はJRA-VANのDataLabから成績データを入手しています。
DataLab詳細はこちら

*JRA-VAN DataLabは使用料として月額2,090円かかります。
JRA-VAN DataLabから得たデータはいくつか配布されているソフトを使用して閲覧しますが、今回は前述のTARGET frontier JVを使ってデータ抽出します。
TARGET frontier JVから産駒成績データを抽出する方法
1.TARGET frontier JVを起動し「種牡馬」をクリック

2.データを取得したい種牡馬名を入力、検索し種牡馬名をクリック

3.「産駒一覧→産駒一覧(登録馬のみ/本賞金順」をクリック

4.「全」をクリックして検索対象年齢を2~99にして再検索。その後、一括戦歴をクリック。

5.コースの芝、ダートを選択し次(選択馬の条件)をクリック

6.次(検索範囲の指定)をクリック

7.検索開始日を任意の範囲で指定→データがある限り無条件継続(1980年まで)→検索実行

8.出力→レース一覧・★画面イメージ(CSV形式)→保存

これで以下のTarget上の該当産駒データがカンマ区切りでcsv出力されます。
この中から自分は7つのデータ
・性別
・着順
・芝・ダ
・距離
・馬場状態
・単勝配当
・複勝配当
を抽出、集計してデータベース化しています。
芝コース内回り・外回り区分を追加する方法
で、作成後に気づいたんですが「レース一覧・★画面イメージ(CSV形式)」のデータにはコースの内回り・外回りの区別がありません。
外回り・内回りを厳密に集計したいのであれば「レース一覧・成績CSV形式(項目固定)」に「コースコード」という項目があるのでこちらを出力してください。
「レース一覧・成績CSV形式(項目固定)」で出力されるcsvでは「レース一覧・★画面イメージ(CSV形式)」と同じデータの並びで日付順に馬の成績データが出力されます。
このcsvをエクセルで開いて「コースコード」の列をコピーし「レース一覧・★画面イメージ(CSV形式)」のcsvの任意の列に貼り付けることで内回り・外回り区別データを追加したcsvを作ることができます。
詳細は以下のサイトの「トラックコード」参照してください。
これでシステムに必要なほぼ理想形のデータがゲットできました。
自分は年初に前年のサイアーランク1位~50位と気になる種牡馬のcsvデータを出力しています。
50頭以上なので1頭ずつcsv出力するのが地味に大変ですが、産駒の曖昧だった特徴がデータとして可視化できる第一歩なので非常に面白い作業でもあります。
競馬データベースアプリ・データベース設計編に続く

コメント