Eloレーティングってなに? ― 野球の強さを、ひとつの数字で表す
Pennant Labでは毎朝、セ・パ12球団の優勝確率を計算し直して公開しています。その計算のいちばん土台にあるのが「Eloレーティング」という考え方なのですが、正直なところ、私自身も最初にこの仕組みを知ったときは「勝ち負けを数字にするって、順位表と何が違うの?」というくらいの理解でした。
なので、ここではできるだけ数式に頼らず、私が腑に落ちた順番でEloを説明してみます。
順位表だけでは、見えないものがある
まずは普通の順位表の話から。勝率は「勝った数 ÷ 試合数」で出ますよね。とても分かりやすいのですが、ひとつだけ物足りない点があります。強いチームに勝ったのか、弱いチームに勝ったのかが、まったく区別されないことです。
たとえば同じ「10勝」でも、独走している首位チームを相手に稼いだ10勝と、最下位相手に稼いだ10勝では、中身がぜんぜん違うはずです。でも勝率の上では、どちらも同じ1勝としてカウントされてしまう。ここが、順位表を眺めているだけだと引っかかる部分でした。
Eloは、この「相手の強さ」をちゃんと勘定に入れてくれる仕組みです。
勝てば上がり、負ければ下がる。ただし──
Eloはもともとチェスの強さを測るために作られたもので、いまではサッカーや将棋など、いろんな競技で使われています。ルール自体はびっくりするほどシンプルで、勝つと点数(レーティング)が上がり、負けると下がる。これだけなら順位表と大差ありません。面白いのはここからで、上がり幅・下がり幅が、対戦相手との「差」で変わるんです。
- 格上に勝ったとき → 大きく上がる
- 格下に勝ったとき → ほとんど上がらない
- 格下に負けたとき → ごっそり削られる
要するに「どれだけ意外な結果だったか」で、点数の動く量が決まる。順当な勝ちは評価が薄く、番狂わせは大きく評価される。この「意外性で動く」という発想が、私がEloをいちばん面白いと感じたところです。
数字は「予想外だったか」を測っている
もう少し言うと、Eloは試合の前に「このカードなら、たぶんこっちが勝つだろう」という勝率を、レーティングの差からあらかじめ見積もっています。そのうえで、予想どおりに強い方が勝てば点数はちょっとしか動かず、予想を裏切って弱い方が勝てば大きく動く、という調整をかけている。
だからシーズンを通してこの上げ下げを積み重ねていくと、単なる勝ち数ではなく、勝ち方の"重み"まで含んだ強さがそのままチームの数字に表れていきます。
正直に言うと、私は最初ここを取り違えていて、「強いチームが勝ち続ければ点数は無限に上がるのでは?」と思っていました。でも実際は、強くなるほど勝って当然と見なされて上がり幅が小さくなるので、レーティングは実力に見合ったところで自然と落ち着きます。この自己調整のうまさに気づいたとき、ようやく腑に落ちました。
Pennant Labでは、Eloをどう使っているか
Pennant Labでは、このEloをベースにしつつ、野球ならではの事情をいくつか味付けしています。ホームかビジターか(本拠地はやはり有利なので少し補正)、その日の先発投手は誰か、守備の堅さ(DERという指標)はどうか、といった要素です。
こうして「今日この2チームが戦ったら、どちらがどれくらい勝ちそうか」を1試合ごとに見積もり、残り試合を何万回もシミュレーションして、最終的な優勝確率を出しています。
ちなみにこの味付けの部分は、今も試行錯誤の真っ最中です。効くと思って入れた要素が、過去10年で検証してみるとほとんど効かなかった、ということもよくあります(このあたりは予測精度の検証のページに正直に載せています)。
強さをひとつの数字に押し込むと聞くと、少し乱暴に感じるかもしれません。私も最初はそう思いました。でも「相手の強さ」と「結果の意外性」をちゃんと織り込んでいると分かってからは、順位表とはまた違う角度でペナントレースを眺められるようになりました。このサイトの数字も、「勝率が高い」ではなく「強い相手からもぎ取った勝ちが多い」という目で見てもらえると、また違った面白さが出てくるはずです。