【マジックナンバー考察】

1.優勝マジックとは?
2.マジックナンバーとは?
3.隠しマジックとは?
4.マジックナンバーの計算方法

5.自力優勝消滅を見極める (08.08.08.追記)

 補足:ここでの解説は、2007年以降プロ野球で採用されている「最高勝率」順を基準に書いてあります。
最終結果で最高勝率チームが複数になった場合の順位決定方法は以下の順になります。

(セ・リーグ 2016年順決定方式)
 1) 最高勝率チームの中で、最多勝利数チーム
 2) 最高勝率チーム間の対戦勝率が高い順
 3)-1 最高勝率かつ、最多勝チームが3チーム以上の時、当該チーム間対戦勝率の合算が高い順
   -2 当該チーム間の対戦勝率の高い順
 4)前年度順位が上位チーム

(パ・リーグ 2016年順位決定方式)
 1)最高勝率チーム間の対戦勝率が高い順
 2)リーグ内勝率(交流戦結果を省いた勝率)が高い順
 3)前年度順位が上位チーム

(交流戦 2016年勝ち越しリーグ決定方式)
 1) 勝利数
 2) 総得点
 3) 勝ち越し球団数
 4) 最高勝率球団所属リーグ

(交流戦 2016年 最高勝率球団決定方式)
 1)最最高勝率チームの中で、最多勝利数チーム
 2)対戦勝率が高い順 (3チーム以上が並んだ場合は、この項目を比較しない)
 3)TQBが高い順 {1イニング平均得点 (総得点数を攻撃イニング数で割ったもの) − 1イニング平均失点 (総失点数を守備イニング数で割ったもの)}
 4)ER―TQBが高い順 {1イニング平均被自責点 (総被自責点数を攻撃イニング数で割ったもの) − 1イニング平均自責点 (総自責点数を守備イニングで割ったもの)}
 5)チーム打率が高い順
 6)前年度順位が上位チーム
(16.03.28. 修正)
 


1.優勝マジックとは?


 プロ野球も終盤を向かえると、「○○チームに優勝マジックが点灯!」なんて言葉が踊ったりします。そもそも優勝マジックとは、ある上位チーム(Aチームとします)があと何勝すれば優勝が決定するか?という事です。
 この優勝マジックとは、Aチームが各チームに出しているカード別マジック(“マジックナンバー”とはそもそもこれの事)の最大値。つまり全てのマジックナンバーを0にする為に必要な勝ち数という事になります。
 各チームに出したマジックナンバーはそのチームの試合の消化状況で変化するので、最大値になるチームが変化する場合もあります。この為にマジック対象チームとの直接対戦で勝っているにも関わらず、優勝マジックが1つしか減らなかったり、対象チームが変化したりします。
 それではそのカード別マジック(マジックナンバー)とは何なんでしょうか?



2.マジックナンバーとは?

 ある上位チーム(Aチームとします)がある下位チーム(Bチームとします)よりも上位でシーズンが終わる事が確定するまで何勝必要かという数字です。
 ある時点での勝敗、対戦成績から判断して、Bチームが残り試合に全勝した場合でも、AチームがBチームとの直接対戦以外の残り試合を全勝すればBチームに抜かれることが無くなる状態になればマジックナンバーが点灯します。
 Bチームが残り試合を全勝しても、それ以上に成績のいいチームがいる。つまりBチームの結果だけでは上位になれないチームができたという事で、これを自力優勝の消滅と言ったりしています。
 今“自力優勝”という表現をしましたが、これが2位以下のチームであっても、計算上自力での順位逆転の可能性が無くなればマジックナンバーが点灯します。ですから5位のチームであっても、最下位のチームに対してマジックナンバーが出ます。

 マジックナンバーが出ているか?その数はいくつ?という実際の計算方法については、4.マジックナンバーの計算方法で紹介します。そちらを参照して下さい。



3.隠しマジックとは?

 マジックナンバーはシーズン中盤から終盤になって点灯するものですが、シーズン序盤でも同じように目安となる数値を出す事が出来ます。これは隠しマジックとか、裏マジックとも呼ばれているようです。
 マジックナンバーの点灯時にはBが全勝すると仮定したとき、対戦するAチームは必ず負ける事になるので、それを踏まえて計算しています。これが隠しマジックの場合では無視してしまいます。
 Bチームが全勝しているのに対戦するAチームも全勝と計算しているため、矛盾するこの考え方を否定される事もありますが、あくまでマジックナンバー点灯までの目安の数なので深く考えない方がいいと思います。

 この隠しマジックの考え方だと、シーズンの開幕戦に勝ったチームにはその対戦相手に対して「隠しマジック143」(全試合数が144試合の場合で、「全試合数−1」です)が出ていることになります。
 ただしこの時点では本当に目安の数でしかないので、一般化しないようです。




4.マジックナンバーの計算方法

 ここまではマジックナンバーがそもそもどんなものなのか?という事を書いてきました。
それではこのマジックナンバーはいったいどうやったら計算できるのか?自分でも計算してみたいという方のために、実際の計算方法などを解説してみたいと思います。

計算の例として、次の成績表を利用します。
順位 チーム 試合 勝率 直接対戦 直接対戦
109 55 47 .539 −−− 35 - (34) 28 23        
111 58 50 .537 0.0 33    - (28) 22 A−B B−C
110 52 56 .481 6.0 34       - (28) A−C B−D
117 50 60 .455 13.5 27         - A−D C−D


 AチームのCチームに対するマジックナンバー(カード別マジック)とは、Cチームが残り試合を全勝した場合に、AチームがCチームよりも上位の成績を残すために必要な勝利数ということです。
 Cチームが残り試合を全勝するということは、AとCが直接対決する残り試合ではAチームが全敗するということになります。
 Aチームの残り試合からCチームとの対戦数を差し引いた上で、Aチームがその残り試合に全勝すると仮定します。
 このことを踏まえ、最終的な勝率でAチームが上回るかを計算してみます。

《計算1》
  :この計算で、
「Cチーム以外の残り試合に全勝したAチームの勝率」>「全勝したCチームの勝率」
の判断をします。全勝のCチームに対して、Aチームの勝率が上回る事ができるか?の判断なので、式が不成立(Aチームの勝利数が上回らない)の場合は、マジックは出ません

A勝率={(Aの勝数)+(Aの残数)−(「A対C」の残数)}÷(全試合数−Aの引分)

C勝率={(Cの勝数)+(Cの残数)}÷(全試合数−Cの引分)

 で、A勝率 > C勝率 になるのか?


例に出した成績表だと、
 {Aの勝数(55)+Aの残(35)−A対Cの残(7)}÷(144−7)=0.6058

 {Cの勝数(52)+Cの残(34)}÷(144−2)=0.6056

なので成立します。ちなみにAとBの場合、BとCの場合は成立しません。


 以前の勝率と勝利数の両方が1位の場合、勝利数と勝率の2度確認の式がいりましたが、今の方式だと勝率さえ上位になれば優勝決定なので、マジックナンバーが出るか出ないかの判断はこれだけです。



《計算2》
  :マジックナンバーは、「後何勝すれば?」という数を求める計算ですが、現在の方式では勝率が基準ですので、勝率で対象チーム(ここではCチーム)より上回る最終結果を(勝率)を求める必要があります。

  :対象チームが残り試合を全勝した時の勝率は、《計算1》で求めた
C勝率={(Cの勝数)+(Cの残数)}÷(全試合数−Cの引分)

 {Cの勝数(52)+Cの残(34)}÷(144−2)=0.605633・・・

です。

  :このCチームの最終勝率を上回れば、Aチームの上位が確定するという事になるので、Cと同じ勝率の時のAチームの勝数を計算してみます。

C勝率と同じ時のA勝利数=C勝率×(全試合数−Aの引分) です。

 0.605633・・・×(144−7)=82.9718・・・

 ここで出た結果はC勝率と同じなので、この結果以上の整数「83」がAチームが上位確定に必要な勝利数となります

 通常、ここでの計算結果に小数点以下がある場合は、繰り上げして整数とすればよいのですが、結果が整数となった場合は、小数点以下の繰り上げができません。
 勝率で上回る為には、さらに1勝を加えて考える事が必要になります。

 引分数が同じチーム同士の場合では、そのまま同じ勝利数を返す計算になるために必ず整数になります。引分数が違う場合でも、まれに整数の結果が出る場合があるので、この場合は1勝を加えてください。


D勝率と同じ時のA勝利数=
  {(Dの勝数)+(Dの残数)}÷(全試合数−Dの引分)×(全試合数−Aの引分)


{Dの勝数(50)+Dの残(27)}÷(144−7)×(144−7)=77

 この場合、Aチームが対象チームよりもあと1勝多ければ勝率でDチームを上回るので、単純に対象チームの残り全勝(勝数+残り試合数)に1を加えればOKです。


  :マジックナンバーは「後何勝すれば?」という数値ですので、ここまでで出た数値から、現在の勝利数を引くと、残りの必要勝利数が出てくる事になります。

Aの最終必要勝利数−(Aの現勝数)=残り必要勝利数(マジックナンバー)

 Cに対しては、83−55 =28
 Dに対しては、78−55 =23

となります。

 これでAチームのカード別マジックが出ました。
他のすべての球団に対しても計算し、全チームからマジックが出たときが「優勝マジック」点灯と言うことになります。

 この部分は文章作成者の勘違いで、「引分数が同じ」場面での+1のみとしていました。実際には「整数」が出る場合でも+1する事が必要でした。エクセルファイルの修正に伴い、こちらの紹介分も訂正しました。(07/09/15)


 補足:シーズン終盤になって気付いた事で、慌てて修正しました。このページの最初に示した通り、今季の順位決定方式では、勝率が同じ場合でも直接対戦での勝率が上回っていれば上位となります。
 引分が同じ数のチーム通しの場合等で、直接対戦での勝ち越しが決まっていれば勝率が同じ場合でも上位になるという事です。

 上記で書いている、上回る為のあと1勝分の「+1」をするという事が不要になる状況です。
(07/09/23)




 マジックナンバーを計算してもマジックは出なかった。そんな場合でも「隠しマジック」が出ている場合があります。基本的な考え方は同じです。直接対戦での勝敗を無視してしまうので、その分だけ式が変わっています。
 以下に式だけ載せておきます。

A勝率={(Aの勝数)+(Aの残数)}÷(全試合数−Aの引分)

C勝率={(Cの勝数)+(Cの残数)}÷(全試合数−Cの引分)

 で、A勝率 > C勝率 になるのか?で判断します。

 隠しマジックを求める《計算2》部分はそのままです。



5.自力優勝消滅を見極める

 以前、マジックナンバーが点灯する際、「下位チームより上位チームの方に先に点灯しているのはなぜ?」という質問を頂きました。この答えを単純に言うと、試合数を多く残していると、現在下位のチームでも上位チームより挽回するチャンス可能性が多くなる為です。

 後、どれくらいで自力優勝が消滅するのか?という状況も計算式でその数を確認する事ができます。

 マジックナンバーを計算した時同様に、下位チームが全勝した時の勝率と同じ勝率になる上位チームの勝利数を計算します。

{(Bの勝数)+(Bの残数)}÷(全試合数−Bの引分)×(全試合数−Aの引分)

 {Bの勝数(58)+Bの残(33)}÷(144−3)×(144−7)=88.4184・・・

 同じように、この結果を上回る整「89」数がAチームが上位確定に必要な勝利数となります

この結果をAチームが対Bチーム以外に全勝した場合の勝利数から引くと

Aの必要勝利数−{(Aの勝数)+(Aの残数)−(「A対B」の残数)}

 89−(55+35−6)=5

 AチームがBチーム以外に全勝しても、必要勝利数の89勝に届きません。ここで出てきた差の5勝が、Bチームが自力での逆転(自力優勝)を残している事になります。

 同様に対Cチームの場合だと、82.9718・・・

 83−(55+35−4)=−3

 Aチームが対Cチーム以外に全勝すれば必要勝利数を上回るので、既に自力で逆転(自力優勝)の可能性が無くなっている事がわかります。


 ここでの計算結果が0以下になった場合が、その下位チームの自力上位(自力優勝)への可能性がなくなったという事です。



 マジックナンバーは、そのチームの勝利で「−1」。相手チームの敗戦で「−1」と簡易に計算が可能ですが、ここで紹介した自力上位(自力優勝)の計算結果も、同様に簡易計算が可能です。

 以下にはその基準を紹介しておきます。(AチームからBチームを見た場合)

 ・AチームがBチーム以外との対戦で勝利した時、「変化なし」
 ・AチームがBチーム以外との対戦で敗戦した時、「+1」

 ・BチームがAチーム以外との対戦で勝利した時、「変化なし」
 ・BチームがAチーム以外との対戦で敗戦した時、「−1」

 ・AチームがBチームとの直接対戦で勝利した時、「−2」
 ・AチームがBチームとの直接対戦で敗戦した時、「変化なし」



 マジックナンバーは、Bチームの全勝や、AチームがBチームに対しての全敗を仮定して計算しているので、勝利する事が前提条件になります。逆に敗戦した時は、その条件に変更が加わるため数値に変更が起きるからです。

 例えば上位チームが敗戦して、既に点灯しているマジックナンバーが消滅したとします。その翌日の試合で上位チームが勝ったからといって、すぐに再点灯とならないのはこういう条件計算をする為です。

 逆に言うと、前提条件である直接対戦で負けても、マジックナンバーの消滅や自力上位が復活する事にはならないという事です。

  (08.08.08.追記)





【ご注意】
 以上が考え方、計算式等です。どうでしょう?わかりました?
やっぱり複雑?という場合は、どのくらいわかっている人から見て、どんな点がわからなかった。という事を教えて頂ければ、その点を改善していきたいと思います。 

 また順位表やマジックを計算についてはフリーソフトを作っている方もいるので、計算が面倒で嫌、やっぱりわからないという方にはそれらのソフトを探される事をオススメします。

 個人的に順位確認等に使用しているエクセルファイルを若干修正して公開します。あくまで個人的利用のファイルを公開するので、使い勝手の面は考慮していません。
 それでも使いたいという方はこちら(エクセルで作った順位表のページ)からどうぞ。

また、間違いの指摘等あればよろしくお願いします。徐々に読みやすいものにしていきたいと思います。

【ご意見・感想等はこちら】
  掲示板 もしくは メールで。
e-mail:sin4imamiyagmail.com
(スパム対策の為、メールは直打ちでお願いします)

  

           

【更新履歴】
16.06.25. Jリーグ順位表 マジックナンバー計算部分で内部式の修正。
   03.23. NPB順位表 2016年版公開。内容は昨年と変化なしです。
      14. 二軍順位表更新。イースタンも中止時の再試合を設定しない方式になった為、中止数カウントの項目を設定。
   02.20. Jリーグ版順位表 2016年のチーム構成に変更済み。他は変更ありません。 

15.09.09. NPB順位表 追加で発表されたセ・リーグの順位決定方式に対応。
   07.29. Jリーグ順位表 J1の結果入力覧にリンクミスがあったので修正。
   05.26. NPB順位表 交流戦のリーグ総得点部分の集計がリンクされていなかったのを修正。
   04.18. NPB順位表 同順位時の判定がうまくいってなかった部分で、内部式を修正。
   03.08. Jリーグ順位表 内部式で残り試合数の集計が正しく反映できてなかった点を修正。
   03.07. Jリーグ順位表 球団色変更時、J1結果シートの横列の色反映がズレていたのを修正。
   01.28. 二軍順位表更新。ウエスタンの対戦数が一定でない為、試合数集計部分の内部式を修正。
      27. 交流戦結果でリーグの優劣を決める様になった為、項目追加と順位表位置修正。
      24. NPB順位表 2015年版公開。昨年版とは対戦数が変わっただけです。
          Jリーグ版順位表 2015年の2ステージ制対応版に更新してみました。

14.08.12. 「自力上位消滅カウント」の内部式について、結果が正しく出ない場合が出る部分を修正しました。
      03. 順位表右側の「自力上位消滅カウント」の内部式について、結果が正しく出ない場合が出る部分を修正しました。
   03.26. NPB順位表2014年用公開。ファイル名は変えていますが、全体構造に変化はありません。
   02.12. Jリーグ版順位表を作ってみました。続けられるかはわかりませんが。

13.09.24. 内部式の判定部分に一部記述漏れがあった部分を訂正
      20. 二軍順位表、イースタン(7チーム側)順位表のマジックナンバー内部式を修正。
      07. 前回同様、パ・リーグのリーグ内順位の判定がうまく機能しなかったので、判断方法を変更。
      04. パ・リーグのリーグ内順位の判定が、正しくされていなかったのを修正。
   08.02. 「残り試合数よりも多くても、隠れマジックを表示」のチェック項目を追加。下位からの隠れマジックも見られる様にしました。
   06.18. 交流戦順位表で、日程終了時、同率での順位判定で「×」が出てなかった部分に、最終戦後には出る様に修正しました。
   03.16. 「必要勝利数」と「隠れマジック」を置き換える式に間違いがあったので修正。
      02. 環境変化に伴い、ファイル形式をエクセル2010、2007等で使うマクロ有効ファイル(xlsm)形式に変更。

12.06.25. 内部式のマジック点灯判定の部分にあった間違いを修正。
   06.19. A順位表のマジック点灯時、色変更できなくなっていたのを修正。
   06.16. 交流戦内部式の記述ミスを修正。
   06.13. 内部式を修正、接戦になる状態で正しく出ない場合がまだある様です。
   05.30. リーグの入れ替えをした後、マジック点灯時の色変更ができなくなっていたのを修正しました。
   05.17. B順位表のチーム色変更ができなくなっていたのを修正しました。
   05.16. チーム名表示方法。リーグの入れ替え時に結果も移動させる等、対応しました。

11.06.12. 交流戦式で対象チームより上位にならない事が確定した場合の“×”が出る判定を修正しました。
   06.08. 交流戦式で○、×の結果が逆に出るようになっていたので修正しました。
   05.17. 交流戦のマジックナンバー式内(順位表への引用部分)にもミスがあったので修正しました。17夜〜深夜にかけて、数回更新しています。
      16. 交流戦のマジックナンバー計算式内にミスがありましたので修正しました。
   04.13. 今年もプロ野球が開幕しました。早速ですが、開幕戦の引き分け含みの結果について、並び順の違和感修正の為に手直ししましたが、暫定的な処置です。


10.10.01. マジックナンバー判定部分で同勝率、同勝数時の対戦数判定が正しく動作していませんでしたので修正しました。
   09.21. 順位表の横に表示箇所を追加しました。使わないまま終わりそうだが。
   06.11. エクセルファイルの修正をしました。「交流戦」マジック計算部分で、自力勝利判定を完全上位のみとなっていたのを、
         前年度順位比較で同率でも自力勝利と判定する様に変更しました。
   05.30. エクセルファイルの修正をしました。「交流戦」表示部分の残り試合と、内部式の直接対戦数の参照に間違いがあったのを修正しました。
   04.19. エクセルファイルの修正をしました。一部不要部分の削除のみで、式など内部は基本的に変化ありません。
   02.01. 順位決定方法についての変更情報が出てこない様なので、昨年同様の方式で2010版として公開しておきます。

09.10.08. エクセルファイルの非表示部分の式を修正しましたが、表示される部分には大きな影響はありません。
   09.29. この時期にエクセルファイルの表示エラー出現。修正しました。
   05.20. エクセルファイル紹介側から、このページへの案内リンクが旧ページのままだったので修正。
      18. 交流戦順位表の判定式修正。
   04.13. 二軍用ファイルの判定式修正。
   04.08. ↓のミスとは別の事で判定式関係を補正。
      07. 関数式のコピーミスを訂正。
   02.25. エクセルファイル、さらにちょっと変更、修正しました。
      22. エクセルファイルの順位判定を変更しました。

08.08.08. 自力優勝消滅ラインの判定計算式について、追記しました。
   05.21. 同率時の勝利数判定(パ・リーグは非採用)で、エクセルファイルの判定式を若干変更してみました。

07.09.22. 直接対戦の成績により、同率でも上位になる場合に非対応でした。修正しました。
   09.15. 若干修正箇所ありました。
   08.24. 2007年の順位決定方式対応に書き直しました。
   04.02. メール変更したの忘れたままでした。

05.10.14. エクセルファイルで「逆転現象の場合について」の説明を追加。
      11. エクセルファイルの式中にミスがあり、修正しました。
   09.09. 冒頭にひと言追加。
   08.17. エクセルファイルの順位表を少し修正。
   08.10. 文面ちょっぴり修正。
   07.29. エクセルファイル公開。
      23. 掲示板リンク復活。もうしばらくしたら、計算用エクセルファイルも公開するかも。

04.09.14. ちょっと手直しして、再公開。

03.10.14. 掲示板は今のところナシです。
   08.15. 冒頭にマジックそのものについての解説を入れてみました。
   07.28. 冒頭を一部削除。掲示板設置
      08. 冒頭の言い回しを手直し。
      01. 昨年(02年)公開したものを元に、文章再構成

2003年 7月
文・構成       
 新今宮 純一