見出し画像

Bリーグのスタッツを使ってレーティングを計算する

昨日Bリーグの無料招待券が当選したので試合観戦に行きました。試合自体も印象的だったのですが、試合前に宣伝していたWINNERというスポーツくじの売り上げがクラブチームに還元されるという宣伝文句を見てどんな仕組みか気になりました。

WINNERの説明ページ

上の図は公式ページに書かれていた掛け金の配分です。相変わらずtotoと同じように主催者側が50%取っていくので当選倍率は大したことないと思います。しかもクラブチームに還元することを宣伝文句にしている割にどれだけ配分するかが明確でないですし、割合も相当に少なそうです。

ただWINNERは1試合に絞った予想が楽しめるのでファンのチームだけの勝敗を予想できるのが魅力だと思いました。
同時にバスケットボールにも野球でいうところの「セイバー・メトリクス」みたいな、よりゲームの勝利に貢献したことを示す指標があるのか興味を持ち、帰ってから調べることにしました。

1.アドバンスド・スタッツ

得点、アシスト数、リバウンド数など数字に表せるもので選手やチームを評価する方法をトラディショナル・スタッツとすると、様々な成績を組み合わせることで目に見えない勝利への貢献度を計算するのが、この評価方法です。

その中でも代表的な指標がオフェンシブ・レーティングとディフェンシブ・レーティングだそうです。その計算式が同じ値を何度も使って計算している感じがするのですが、とにかく煩雑です。

プログラムで関数化すると結構シンプルになりそうなので整理も兼ねて、近々プログラムで書いてみたいと思います。しかしその前にこの計算で使うスタッツがBリーグの公式サイトで公開されているか確認したいと思います。

2.Bリーグの公式サイトにすべて情報はある

Bリーグの公式サイトはかなり情報が充実しています。スタッツの説明もかなり詳しく書いてあり、オフェンシブ・レーティング、ディフェンシブレーティングの用語説明もあります。

早速、オフェンシブ・レーティングとディフェンシブ・レーティングの計算で使いたいデータを確認しました。分類すると3種類のデータが必要です。

2-1.個人スタッツ

項目は全部で以下の13種類です。スタッツ名はBリーグ公式の表現に合わせています。

  • FGM(フィールドゴール成功数)

  • FGA(フィールドゴール試投数)

  • 3FGM(3ポイントゴール成功数)

  • FTM(フリースロー成功数)

  • FTA(フリースロー試投数)

  • PTS(得点数)

  • MIN(出場時間)

  • AS(アシスト数)

  • OR(オフェンシブ・リバウンド数)

  • DR(ディフェンシブ・リバウンド数)

  • ST(スティール数)

  • BS(ブロック数)

  • F(ファール数)

2-2.チームスタッツ

チーム全体のデータも必要です。個人スタッツで挙げたスタッツのチーム全体データに加えてターンオーバー数が必要です。スタッツ名の先頭にTeam_と入れて表現します。

  • Team_TOV(チーム全体のターンオーバー数)

2-3.対戦チームスタッツ

対戦相手チーム全体のデータも必要になります。スタッツ名の先頭にOpponent_を入れて表現します。

  • Opponent_FGM(相手チーム全体のフィールドゴール成功数)

  • Opponent_FGA(相手チーム全体のフィールドゴール試投数)

  • Opponent_FTM(相手チーム全体のフリースロー成功数)

  • Opponent_FTA(相手チーム全体のフリースロー試投数)

  • Opponent_PTS(相手チーム全体の得点数)

  • Opponent_MIN(相手チーム全体の出場時間)

  • Opponent_TR(相手チームの総リバウンド数)

  • Opponent_OR(相手チームのオフェンシブリバウンド数)

  • Opponent_TOV(相手チームのターンオーバー数)

3.今後やっていきたいこと

実現までにはいくつかステップがありそうなので、今回はそのステップを考えるとこまで進めたいと思います。

3-1.スタッツのスクレイピング

Bリーグ公式ページから計算に必要な成績情報をスクレイピングしてデータベースにまとめたいと思います。以前に紹介した下の記事と考え方は同じです。

3-2.アドバンスド・スタッツの算出プログラムの作成

作成したデータベースからオフェンシブ、ディフェンシブ、Netの三種類のレーティングを算出するプログラムを作成します。こういう意味付けの根拠が分かりにくい計算式は、Excelでも間違えると思いますので、スクレイピングのついでにPythonで計算します。

対戦チームを2チーム選択すると必要なデータをデータベースから参照、計算して結果を表示するソフトウェアをイメージしています。

3-3.WINNERの結果と比較する

これだけで予想が当たるわけがないのですが、実際に求めたレーティングの値の試合結果の相関を見たいと思います。

3-4.次回予告

次回から数回に分けて紹介していきたいと思います。もしよろしければ、最後までお付き合いいただければ幸いです。

この記事が参加している募集

Bリーグ

この記事が気に入ったらサポートをしてみませんか?