「優勝マジック」を初心者がいかにExcelで計算しているのか(2021年度版)

持っているもの

  • プロ野球の「優勝マジック」を自分で計算したい願望
  • 「優勝マジック」の基本的な定義の理解
  • 表計算ソフト(Excel等)の基本的な操作経験
  • プロ野球の結果を確認できる環境

持っていないもの

  • ニュース等で「優勝マジック」の数字が出てくるのを待つ忍耐力
  • 「優勝マジック」を分かりやすく簡単に説明する能力

プロ野球の「優勝マジック」。

多くの人にとっては、その仕組みや計算方法がよく分からないまま、いきなり数字が出て来たり、いきなり消えたりする。その「マジック」との言葉の通り―。(後付けですが)。

その計算方法について検索してみると、それらしい数式は出てくるものの、引き分けを考慮しないものだったりで、後から報道される数字と異なって、実際のプロ野球シーズンを追うのには役に立たないものが多い。(個人の検索結果による感想です)

当ブログでも、プロ野球での「マジック」について、これまで毎年、四苦八苦して説明しようとしてきたものの、一度もうまく伝えられた気がしない。うまく説明しようとすればするほど文章が長くなり、返って分かりにくくなっているのではと、落ち込んでしまう。

いっそのこと、マジックの数字は、中身が見えない魔法の箱の中で行われて答えが出るものだ、と割り切った方がいいかもしれない。

ただ、こうやって長々と述べているよりも、実際にどうやって計算しているかを見せた方が早いような気がしてきたので、今回は、個人的にどうやってマジックを計算しているのかを、公開したい。

[ExcelはMicrosoft社の商品です。当記事では、「Web版Excel」を使用しています(無料版。アカウント登録が必要)。ただ、基本的な表計算ソフトの計算機能しか使っていないつもりですので(というかそれしかできない)、他の一般的な表計算ソフト(マルチプラン、ロータス123、三太郎、spreadsheet、・・・適当に思いついたものを並べただけですので表現に正確さが欠ける場合があります)でも利用可能な内容だと思います。]

プロ野球の試合結果や日程についての情報は
一般社団法人日本野球機構ホームページ、http://npb.jp/ 
(参照は各記事の日付の当日、もしくは翌日あたり)

[(お断り):当記事は、実験的な面もあり、途中で修正する場合があります。また、個人の趣味レベルのため、計算間違いや、解釈の間違いが起こってしまっていたらゴメンナサイ。]

基本的な「マジックナンバー」の出し方

まずは基本的なこと。

スポーツニュース等で「マジック〇」《〇は数字》と見出しになっているのは、そのチームが、

優勝が決定するまでに「あと〇勝」すればいい

ことを意味している。

言い換えると、そのチームが残り試合で「あと〇勝」すれば、他のチームはどんなに頑張っても(たとえ残り試合を全勝したとしても)追いつけない計算だ。

その数字を出す具体的な手順は、

(他の各チームが)残り試合を全勝した場合の勝率

を計算し、順位で上回るには「あと〇勝」すればいいのかを算出する。

以上だ。

・・・以上なのだが、補足をしだすと長くなる。「実際には、各チームに対して上回るのに必要な『あと〇勝』の内、一番大きな数字がマジックナンバーとして表示される」、「同率の場合は?」、「引き分けの場合は?」、などなど、説明したい点はいっぱいある。

そして、そもそも、この説明では、マジックが点灯していることを前提にしていて、マジックが点いたり消えたりするタイミングが分からない。

マジックナンバーの説明がややこしくなる根本的な原因は、自力優勝が絡むところにある。自力優勝が有るか無いかでマジックは点いたり消えたりする。マジックの数字は、点灯している間でしか報道されないので、消えてるときは存在せず、点いたときに突然現れるように感じてしまう。

そこでまず、自力優勝を無視して、「順位で上回るにはあと〇勝」の数字を出すこととする。

各チームに対して上回るための「上位マジック」

優勝マジックを算出するには、いくつかの段階を踏む必要がある。(自力優勝や、他の全チームに対しての数字を把握など。)

中途半端な理解のまま、それを含めてまとめて説明しようとして、余計に分かりにくくなってしまう面もある。

そこでまずは、シンプルに、自チームが、

それぞれの個別のチームに対して上回るのに「あと〇勝」すればいい

という数字を算出する。

これを、

「上位マジック残り〇(対△△チーム)」

と表現したい。

△△チームに対してあと〇勝すれば上回ることが確定する、と言う数字だ。

具体的な手順は、

( △△チーム が)残り試合を全勝した場合の勝率・・・《あ》

を計算し、 △△チーム を上回るには、自チームが残り試合で〇勝すればいいのかを算出する。

以上だ。

・・・と言っても、やっぱり分かりにくいと思うので、ざっと手順を説明する。

まず、勝率について計算する。

プロ野球での勝率とは、勝ち負けの内、勝った割合を示すので、

勝率 = (勝利数)/(勝利数+敗北数)

で計算される。

補足)
引き分けの数は、勝率計算の際に、総数に含めていないことに注意。
話はそれるが、野球では打率計算も、打数の内、安打になった割合を示しており、四死球の打席結果は含めていない。これは、引き分けや四死球は勝負がついていないものとして計算に含めない、という考え方によるものだろう。

そして、「 ( △△チーム が) 残り試合を全勝した場合の勝率・・・《あ》」を出すには、 ( △△チーム の) 勝利数に残り試合数を加えればいいので、

《あ》=(勝利数+残り試合数)/(勝利数+残り試合数+敗北数)

が、( △△チーム の)《あ》の 数字となる。(分母と分子の両方で残り試合数をプラスすることに注意)。

この《あ》が出たら、次は、この《あ》の数字を上回るためには、自チームが「あと〇勝」すればいいかを算出する。

ただ、ここから先は、簡単な四則計算では算出できない。基本的には手作業となる。(もちろん、複雑な条件式を作って自動で計算することも可能だと思えるが、私にはそれを作成する能力も説明する能力もないので、手作業で算出する。)

「《あ》を上回るためには〇勝すればいいか」を調べるために、まず、自チームの最終予想勝率を、1勝刻みで作成する。(残り試合での勝敗予想については、引き分けのケースを含めると複雑になるので、すべて勝ちか負けであったと想定して、予想勝率の表を作成する)。

自チームの残り試合数をAだとして、残り試合の予想成績が、

全勝(A勝0敗)した場合の最終勝率
(A-1)勝1敗した場合の最終勝率
(A-2)勝2敗した場合の最終勝率
・・・
1勝(A-1)敗した場合の最終勝率
全敗(0勝A敗)した場合の最終勝率

を計算して表《い》にする。

そして、そのそれぞれの最終勝率と、( △△チーム の) 《あ》の数字と比較する。

《あ》の数字を上回る、《い》の最終勝率の内、一番小さな数字が、

それぞれの個別のチームに対して上回るのに「あと〇勝」すればいい

の「あと〇勝」の数字となる。[ただし、同率で並んだ場合で別の条件で上位が決まっているケース(例えば「直接対決での勝ち越しが決まっている」など)では、それより1つ小さい同率での数字が、「あと〇勝」の数字となる]。

これを、

「上位マジック残り〇勝(対△△チーム)」

と表現する。

・・・と長々と説明したが、具体例がないと分かりにくいと思うので、2021年シーズンのセリーグのペナントレースに即して、上位マジックについて説明したい。

2021年9月12日終了時点での阪神の上位マジック(対ヤクルト)

当記事執筆時点(2021/9/12の試合終了時点)での、セリーグペナントレースを例にする。

この時点での首位は阪神で、二位はヤクルト。

そこで、阪神が、二位ヤクルトを最終的に上回るには「あと〇勝」すればいいかを、計算してみる。

まずはこれを、

阪神の上位マジック残り〇(対ヤクルト)

と表現することにする。

まずは、上の手順で示した通り、

二位ヤクルトが 「残り試合を全勝した場合の勝率・・・《あ》」を計算する。

ヤクルトの《あ》の数字は、その時点の、勝敗(分を含む)と残り予定試合数が分かっていれば出る。

備考)
さらに言うと、残り予定試合数は、全試合数からこれまでに行った試合数を引けば算出されるので、「シーズン全試合数」と「これまでの勝敗(分を含む)」が分かれば、《あ》は計算できる。

一応、この時点(2021年9月12日終了時点)での、ヤクルトの勝率を計算しておくと、まず、現時点の勝敗分は、

51勝41敗12分

なので、勝率の計算は、

51勝/(51勝+41敗)=0.554

となる。[小数点第4位以下四捨五入]。表現を変えると、5割5分4厘だ。

そして、ヤクルトが 「残り試合を全勝した場合の勝率・・・《あ》」 を算出するには、この時点での勝敗に残り試合予定数をすべて勝ちに加えたら、計算できる。

2021年のプロ野球シーズンの全試合数は143(予定)。したがって、ヤクルトの残り試合数は、

全試合数143-消化試合数(51勝+41敗+12分)=残り試合数39

この残り試合数を、ヤクルトがすべて勝利した場合の勝率を計算すると、

《あ》=(51勝+残り試合39)/(51勝+残り試合39+41敗)
   =0.687

となる。 [小数点第4位以下四捨五入]

次に、阪神の、最終予想勝率を1勝刻みで作成する。

一応、この時点(2021年9月12日終了時点)での、阪神の勝率を計算しておくと、まず、現時点の勝敗分は、

61勝45敗4分

なので、勝率の計算は、

61勝/(61勝+45敗)=0.575

となる。[小数点第4位以下四捨五入]。表現を変えると、5割7分5厘だ。

2021年のプロ野球シーズンの全試合数は143(予定)。したがって、阪神の残り試合数は、

全試合数143-消化試合数(61勝+45敗+4分)=残り試合数33

阪神の残り試合33試合を、全勝したケースから、全敗したケースまでの最終勝率を、1勝刻みで表にする。

一つ一つ手作業で計算して書き込むのは大変なので、表計算ソフトを使って作成すると、

2021年9月12日終了時点での阪神の成績と残り試合を1勝刻みで予想した最終勝率の表《い》の一部( Web版Excel を使用)[2021-09-13作成]

となる。(・・・表《い》の一部)

(先ほどは、「手作業」と表現しましたが、実際には、Excelの表計算ソフトを用いれば、作業の省略につながっています。また、画像での数式表記は、どのセル数字を参照しているのか分かりやすくするために、シンプルな表示にしており、実際に使っている計算式と異なる場合があります。Excel等の経験者であればわかると思いますが、後の作業を考えて一部を絶対参照にしたり、また、分母に関しては「総試合数-引き分け数」でも算出できるので、上記の計算式がベストではありません。)

この表《い》での数字と、《あ》の0.687とを比べることになるのだが、問題がある。表《い》には、0.687を超える数字がないからだ。

数字がないのなら、数字を増やせばいい。これが数学の考え方だ(テキトー)。

2021年9月12日終了時点での阪神の成績と残り試合数の上限を無視して1勝刻みで予想した最終勝率の表《い》の一部( Web版Excel を使用)。ヤクルトの予想最終最高勝率を比較のために追記。[2021-09-13作成]

この拡張した表では、ヤクルトの予想最終最高勝率《あ》0.687を上回るためには、阪神は残り試合を35勝すれば0.690となって、ヤクルトが残り試合を全勝したとしても上回ることが分かった。

つまり、

阪神の上位マジック残り35(対ヤクルト)[2021/09/12終了時点]

と算出される。

・・・と言っても、「ちょっと待って、阪神の残り試合が33試合しかないのに、35勝しなければ上回らないということは、阪神は自力では優勝できないの?」と、思う人がいてもおかしくない。

ここでの、「阪神が残り試合を35勝すればヤクルトが残り試合を全勝しても上回る」、と言うのは、現実に残り試合で35勝できるかどうかは関係がない。現実(自然界)には存在しないマイナスにまで概念を拡張して、そこ(残り試合でマイナス2敗)から出された数式上での数字だ。

ただ、だからと言って、現実とは全く関係ない数字でもない。

実際には、阪神とヤクルトは直接対決が7試合残っている(2021/09/12試合終了時点)。

つまり、阪神が残り試合を全勝するということは、阪神がヤクルト戦で7勝するとことであり、ヤクルトが阪神戦で7敗するということである。これを考慮したヤクルトの予想最終最高勝率は残り試合32勝7敗として計算した数字になり、これだと阪神がヤクルトを上回る。つまり、現時点で、阪神が残り試合を全勝すれば、結果的にヤクルトを上回る。(逆に、ヤクルトは残り試合を全勝すれば、文句なしに阪神を上回ることができるので、ヤクルトにも自力は存在している。)

マジックの計算で、自力優勝や直接対決が関係したり、マジックの数字が一挙に二つ減ったりするのは、このためである。

上位マジックが35あって、残り試合が33しかなかったとしても、優勝をあきらめる必要はない。対象となる相手チームに直接勝てば、数字は(基本的に)減っていくのだから。

対ヤクルト以外の2021年9月12日終了時点での阪神の上位マジック

同様にして、阪神の上位マジックを対ヤクルト以外のチームに対して算出していく。

各チームの残り試合を全勝した場合の最終勝率《あ》は、

巨人 0.664
中日 0.589
横浜 0.581
広島 0.579

だ。[2021/09/12試合終了時点での算出。小数点第4位以下を四捨五入]

この数字と、表《い》での数字を比べて、阪神が上回るには、それぞれ、何勝必要かを算出する。

現時点での結果は、

阪神の上位マジック残り32(対巨人)
阪神の上位マジック残り21(対中日)
阪神の上位マジック残り20(対横浜)
阪神の上位マジック残り20(対広島)

と表記できる。[2021/09/12試合終了時点]。

これに、対ヤクルトの上位マジックを含めて比較すれば、一番大きな数字は、対ヤクルトの35なので、もし仮に、阪神以外のチームの自力優勝ルートが喪失(自力優勝の可能性の消滅)していれば、35が優勝マジックの数字で、対象チームはヤクルト、ということになる。(あくまで、優勝マジックが点いていた場合で、実際には、今現在、点灯はしていない。)

マジック点灯の判断方法

次に、マジックが点灯するかどうかの判断の仕方について説明する。

マジック点灯は、他のすべてのチームの自力優勝ルートが喪失(自力優勝の可能性の消滅)した時点で行われる。

以上だ。

・・・以上なのだが、これもまた、分かりにくい。すべてのチームの自力優勝ルートの喪失を確認した上で、初めてマジックという表記でオモテに出てくるため、唐突にも感じてしまう。

そこでまずは、各チームに対しての上位マジック(個別マジック)で、各チームの自力優勝ルートの喪失の判定方法を説明をしたい。

自力優勝が有るか無いかの判定は、残りの直接対決数に左右される。

直接対決の試合が残っていれば、その試合分だけ、「自力」で相手の負け数を増やすことができる。(逆に、直接対決で負ければ、一挙に相手の勝ちと自らの負けによって二つ分、引き離されることになる。直接対決でマジックが二つ進んだりするのもこのためだ。)

一方、直接対決が残っていなければ、「自力」では相手を引きずり落とすことはできず、「他力」頼みになる。

このように、自チームが残り試合を全勝した場合の勝率と、他チームが残り試合を全勝した勝率に差があったとしても、直接対決によって逆転できる可能性がある限りは、「自力」は存在する。反対に、その時点で「自力」で引きずり落とすことはできなければ、(優勝の可能性が完全に消滅するまでには)「他力」によって「自力」が復活するのを待つしかない。

(下位チームが)自力で上回れるか、自力では上回れないかの判定は、

「対(下位チーム)上位マジック数」(あと何勝すれば上回るか)
「上位チームの残り試合数」
「残り直接対決数」

の関係で決まる。

下位チームにとっては、「対上位マジック数」と「残り直接対決数」の合計が、「上位チームの残り試合数」より上であれば、直接対決により相手の最高勝率を自力で下げることができる。(自力ルートが存在)

逆に、 「対上位マジック数」と「残り直接対決数」の合計が、「上位チームの残り試合数」以下であれば、直接対決で相手の最高勝率を下げれたとしても、届かないケースが存在する。 (自力ルートの喪失)

不等式で表すと、

(対上位マジック数)+(残り直接対決数)>(上位チームの残り試合数)

であれば、「自力」(上位)ルートが存在し、

(対上位マジック数)+(残り直接対決数)≦(上位チームの残り試合数)

であれば、「自力」(上位)ルートが喪失している。

具体的に、現時点での、セリーグの状況に即して説明する。

例えば、現在最下位の広島の成績は、42勝56敗10分で、仮に残り試合を全勝した場合は、上で示したように、0.579になる。

一方、現在首位の阪神は、上で示したように、残り試合で20勝すれば、その広島の予想可能な最高勝率0.579を上回る(対広島の上位マジック20)。

これは、阪神の残り試合が33試合なので、残り試合を20勝(13敗)でも広島の予想可能な最高勝率上回ることを意味する。逆に言えば、広島が残り試合を全勝しようが、阪神は13敗しても大丈夫だということだ。

そして、そのうち、阪神と広島の直接対決は残り7試合。

つまり、阪神は広島の直接対決にすべて敗れた(7敗)としても、それ以外の残りの試合で20勝以上(6敗以内、引き分けを無視)すれば、広島を上回るということだ。(もちろん、例えば、広島が残り試合を全勝して、阪神が残り試合を19勝14敗で終われば、広島が阪神を最終的に上回るので、広島にも優勝の可能性が完全に消滅したわけではない。)

同様にして、阪神にとって、各チームに対する上位マジック数と直接試合対決数を表記すると、

上位マジック残り35(対ヤクルト)残り直接対決7
上位マジック残り32(対巨人) 残り直接対決7
上位マジック残り21(対中日) 残り直接対決9
上位マジック残り20(対横浜) 残り直接対決3
上位マジック残り20(対広島) 残り直接対決7

となる。[2021/09/12試合終了時点]

それぞれの上位マジック数と残り直接対決数の合計を、阪神の残り試合数33と比べた場合、

ヤクルトと巨人は、阪神の残り試合数33を上回り、
中日、横浜、広島は、阪神の残り試合数33を下回る。

つまり、2021/09/12日時点では、

ヤクルトと巨人には、阪神に対して自力で上位になるルート(自力優勝の可能性)が存在していて、
中日、横浜、広島には、阪神に対して自力で上位になるルートを喪失(自力優勝の可能性が消滅)している。

そして今後、阪神に優勝マジックが点灯するためには、
・ヤクルトと巨人が、ともに、阪神に対して自力で上位になるるルートを喪失し、
・中日、横浜、広島も「他力」で自力ルートを復活させることができず、
・自力優勝ルートが阪神に限られる
ことが必要になる。

現時点では、セリーグにマジックは点灯していない。

全てのチームに対して

(対上位マジック数)+(残り直接対決数)≦(上位チームの残り試合数)

となった時点で初めて、マジックが点灯し、各チームへの上位マジックの内、一番大きな数字のものが、「マジックナンバー」として、表示される。

マジックの計算手順のまとめ

以上より、プロ野球での優勝マジックの計算手順は、

  1. 各チームの、「残り試合を全勝した場合の勝率」を出す・・・《あ》
  2. 自チームの、残り試合での勝敗結果に応じた勝率予想を1勝刻みで表にする・・・《い》
  3. 自チームが、「各チームを上回るためには何勝すればいいのか」を、《あ》で出した数字を見て、表《い》からそれぞれ各チームごとに割り出す・・・《対上位マジック数》
  4. 全ての他のチームに対して、《対上位マジック数》と《残り直接対決数》の合計が、自チームの残り試合数を下回っていれば、マジック点灯
  5. 各チームに対する、《対上位マジック数》の内、一番大きな数字が、「マジックナンバー」となる

と、まとめられる。

補足)
3.での「各チームを上回るためには何勝すればいいのか」については、基本的には、《あ》の勝率数字と表《い》での勝率数字を比較して、何勝で上回るかを判定する。同率の数字になる場合は、同率の場合の順位決めに従って、同率でも上回ることが確定しているかしていないか(直接対決での勝ち越しが決まっているかどうかなどの条件)で、判定する。


以上、表計算ソフトを使った、マジックの個人的算出方法を説明した。

表を作って、予想最高勝率を見比べて、各チームに対してそれぞれの上位マジック数を算出する。

試合結果ごとに数字が変わるので、「手作業」でしていた昔の人は大変だったと思う。今では、表計算ソフトが、こうした様々な代数を入力する計算を、簡単に出してくれる。ありがたいことだ。

Excelでの条件式などを使いこなせば、入力や判定もさらに自動化できそうだが、それは初心者の私の能力には及びそうにない。それ以降の工夫は、能力のある別の人に任せたい。

当記事が、「優勝マジックを自分で計算したい」と思っている人の参考に、少しでもなれば幸いである。


《広告》
楽天市場

Xserverドメイン エックスサーバー お名前.com ムームードメイン ★LOLIPOP★ wpX A8.netの申し込みページ 日本最大級ショッピングサイト!お買い物なら楽天市場

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください