スコアリング仕様について

Ver.1.128

1. このページで説明するもの

このページは、MCBattle.jp の独自スコアがどう計算されているかを説明するためのページです。

ここでいうスコアは、単なる勝利数や優勝回数ではなく、試合結果をもとに現在の強さを数値化した推定値です。

ランキングは、このスコアをもとに並べた表示結果です。 つまり、主役はランキングではなく、スコアそのものの算出ロジックです。

2. スコアが表したいもの

このスコアが表したいのは、「今バトルに出た場合、どれくらい強いと推定されるか」です。

歴代最強や知名度の指標ではなく、過去の蓄積を残しつつ、最近の試合をより重く見た現在の強さを表すことを目的にしています。

そのため、単純な勝利数や優勝回数の足し算ではなく、誰に勝ったか、いつの試合か、どのラウンドか、負けをどう扱うかを組み合わせて計算しています。

3. スコア計算の対象

スコア計算には、2005年以降の対象大会の全試合を使います。

含めるもの

  • 国内主要大会における1on1本戦の試合結果

除外するもの

  • 予選
  • 不戦勝
  • 2on2・団体戦
  • エキシビション

つまり、スコアは対象となる本戦試合だけを用いて機械的に更新しています。

4. スコアの基本構造

現在の実装は、Elo を補助的な土台として使いながら、最終順位自体は独自の direct score で決める方式です。

まず各試合について、相手の評価差・ラウンド・開催日の重みを使って期待値を出し、そこからElo 系の更新を行います。

ただし、最終スコアはその Elo 値そのものではなく、重み付きの勝利加点・敗戦減点・補助ボーナス・Elo残差を合算した独自スコアです。

試合ごとの期待値とElo更新

expectedWinner = 1 / (1 + 10 ^ ((loserRating - winnerRating) / 400)) eloDelta = baseK × roundWeight × recencyWeight × (1 - expectedWinner) loserEloDelta = eloDelta × lossPenaltyRate winnerElo = winnerElo + eloDelta loserElo = loserElo - loserEloDelta

最終スコアの考え方

directScore = BASE_SCORE + weighted win sum - weighted loss sum + champion bonus + runner-up bonus + top opponent win bonus + win-rate bonus + undefeated bonus + small Elo residual
initialRating = 1500.00 BASE_SCORE = 1500.00 baseK = 20.00 lossPenaltyRate = 1.00 ELO_RESIDUAL_RATE = 0.18

5. 誰に勝ったか

スコアの中心は、対戦相手の強さです。

すでに高い評価を受けている相手に勝つほど、上がり幅は大きくなります。 逆に、評価が低い相手への勝利は、上がり幅が比較的小さくなります。

現在は、各試合ごとに期待値を計算したうえで、格上への勝利はやや大きく、格下への勝利はやや小さくなるように重み付けしています。

このため、同じ1勝でも価値は一律ではなく、勝利数そのものより「誰に勝ったか」を重く見ています。

6. 負けの扱い

このスコアでは、敗戦も反映します。

現在の実装では、Elo更新部分の敗者側減点は勝者側上昇分と同率で扱っています。

また最終スコアでも、重み付きの敗戦減点を明確に差し引いています。

つまり、負けは無視しておらず、勝ちだけでなく負けも現在評価にきちんと効く設計です。

7. いつの試合か

このスコアは「今の強さ」を見るため、試合の新しさも加味しています。

ただし、古い試合を切り捨てるのではなく、古い試合ほど効き方を弱める方式です。 そのため、昔の実績も残しつつ、最近の試合をより強く反映します。

  • 3年以内:1.15
  • 3年超〜5年以内:1.00
  • 5年超〜8年以内:0.92
  • 8年超〜13年以内:0.84
  • 13年超:0.76

つまり、2005年以降の全試合を使いながら、最近の試合ほど現在スコアに強く効くようにしています。

8. どのラウンドか

同じ1勝でも、大会の深いラウンドでの勝利ほど重く扱います

序盤よりも、準決勝や決勝の勝敗の方が価値が高いと考えるためです。

現在は、Final を最大、Best4〜Best64 付近を段階的に傾斜させる方式です。 また、Best8 以降はやや強めに効くように調整しています。

これも固定点を後から加える方式ではなく、各試合の変動幅そのものに掛けて反映しています。

9. 補助的に入れているもの

現在のスコアでは、試合ごとの勝敗評価に加えて、次の要素を補助的に加点しています。

  • 直近4年の優勝回数
  • 直近4年の準優勝回数
  • 直近4年における上位相手への勝利回数
  • 直近4年の勝率
  • 直近4年で一定試合数以上かつ無敗であること
  • Elo の最終値からの小さな残差

つまり、主役はあくまで試合単位の勝敗評価ですが、最近の実績の見え方を少し補正する補助要素も入れています。

10. 直接入れていないもの

このスコアでは、次のような要素は直接入れていません。

  • 人気
  • 知名度
  • 賞金額そのもの
  • 主観的な「全盛期」評価
  • 大会ごとの主観的な強度補正

つまり、人の印象ではなく、試合結果ベースで機械的に算出した指標です。

11. ランキングとの関係

スコアランキングは、このスコアを順位順に並べて表示したものです。

ただし、ランキング表示の対象は、直近4年以内に対象大会で1試合以上あるMCのみです。

そのため、スコア計算には過去試合が使われていても、長期不出場MCはランキング表示対象外となります。

対象外のMCについては、ランキングだけでなくMC詳細ページでもスコアを表示しません。

12. 仮想MCバトルとの関係

仮想MCバトルの「今の強さでシミュレーションする」モードも、基本的にはこのスコアの考え方を土台にしています。

そのため、ランキング表示対象外となる長期不出場MCは、シミュレーション候補からも外れます。

ただし、シミュレーションでは現在スコアをベースにしつつ、特定のMC同士の直接対戦相性も少しだけ加味しているため、順位と優勝率がそのまま1対1対応するわけではありません

13. 今後の見直し

スコアリングの考え方には、今後も改善の余地があります。

特に、敗戦の重み、最近の試合をどこまで強く見るか、ラウンド重みの傾斜については、継続的に見直していきます。

スコアリングの仕様について意見がある場合は、以下のフォームから連絡して下さい。(内容により返信できない場合があります)

問い合わせフォーム