Excelでレートに基づいて期待勝率を計算する(Elo rating)

Excelでレートに基づいて期待勝率を計算する方法

Excelを使って、対戦ゲームやスポーツなどでのプレイヤー間の期待勝率を計算する方法をご紹介します。この方法は、プレイヤーの技能レベルを数値で示すイロレーティングシステム(Elo rating)に基づいています。イロレーティングシステムは、対戦相手との技能差に応じて、勝つ確率を数値化するものです。

期待勝率の計算式

期待勝率は、自分と対戦相手のレーティング差から計算されます。具体的な計算式は以下の通りです:

=1/(1+10^((相手のレート-自分のレート)/400))

この式を使うことで、任意のレーティング差に対する勝利の確率を求めることができます。

たとえば自分のレートが1500で、相手のレートが1600ならば以下の計算式により、自分の勝率は36.0%と推定されます。逆に相手の勝率は64.0%と推定されます。(自分のレートの方が低い、期待勝率も低い)

=1/(1+10^((1600-1500)/400))

Excelでの計算手順

Excelで期待勝率を計算するには、次の手順に従ってください:

  1. A1に「自分のレート」、B1に「相手のレート」として、右にそれぞれのレーティングを入力します。
  2. B3にレート差を計算するための式
    =B2-B1

    を入力します。相手のレートから自分のレートを引きます。

  3. B4に自分の勝率を計算するための式
    =1/(1+10^(B3/400))

    あるいは

    =1/(1+10^((B2-B1)/400))

    を入力します。

  4. 同様に、B5に相手の勝率を計算するための式
    =1/(1+10^((B1-B2)/400))

    を入力します。もちろん

    =100%-B4

    の式でも同じです。

これで、任意のレート差に対する両者の期待勝率を簡単に計算することができます。

サンプル表

Aのレート1500
Bのレート1600
B-A=B2-B1
Aの勝率=1/(1+10^((B2-B1)/400))
Bの勝率=100%-B4

参考:期待勝率の早見表

抜粋:レート差と期待勝率の早見表(10ずつ、1000差まで小数第3位表示)
イロレーティング(Elo rating)に基づく、レーティング差と期待勝率の早見表です。レート差と勝率の早見表(2ずつ、50まで、小数第3位表示)小数第4位以下は四捨五入しています。K値は「32」でも「16」でも期待勝率には影響はありません...

コメント