NPB公式サイトの打撃成績ページで、いつもの打率の横に、もう少し落ち着いた「推定打率」と「推定区間」を表示する Chrome 拡張をつくりました。
本拡張は非公式のツールで、NPB公式とは無関係です。利用者のブラウザ内で表示を加工するだけで、NPB公式サイトの内容を改変・再配布するものではありません。
「.280」みたいな数字を見ると、つい「この選手はそれくらいの実力なんだな」と思ってしまいます。でも実際には、打率はその日その日の上振れ・下振れを含んだ、けっこう不安定な数字です。とくに開幕すぐの時期は、たまたまの当たり外れがそのまま打率に出ます。
この拡張は、その不安定さを表に出して、「だいたいこのあたりに収まりそう」という幅で見るためのものです。
なぜつくったか
打率には、本来こういう問題がついて回ります。
- 同じ「.340」でも、50打数17安打と500打数170安打では信頼性がまったく違う
- シーズン序盤の高打率は、たまたまの上振れをかなり含んでいる
- 不調期の低打率も、たまたまの下振れを含んでいる
- それでも私たちは、表示されている数字をそのまま「実力」として読みがち
打率は、本来こう読みたい指標です。
> 限られた打席から推定された、ぶれを含んだ数字
なので、
- 点ではなく幅で見たい
- 短期の上振れ・下振れに振り回されにくい指標が欲しい
- それを「いつも見ているNPBの打撃成績ページ」の上で、そのまま見たい
というのが、つくった動機です。
拡張がやっていること
NPBのページにすでにある「打率」(=観測打率。実際の安打数 ÷ 打数)はそのまま残します。
そのうえで、打撃成績テーブルに次の2列を追加します。
- 推定打率(その選手の打率がだいたいこのあたり、という値)
- 推定区間(その「だいたい」の幅。95%ぶんを表示)
表示例:
| 観測打率(元から表示) | 推定打率(追加) | 推定区間(追加) |
|---|---|---|
.372 | .324 | .267–.381 |
この行はこう読めます。
> 「表に出ている打率は .372 だけど、打数のぶれを考えると、本当の打力はだいたい .267〜.381 のどこかに収まりそう。中央値あたりは .324」
打数がまだ少ない選手ほど、区間が広く出ます。打数が多くなるほど狭く、はっきりした値に近づきます。これは、観測が増えるほど推定が安定する、という当たり前の性質をそのまま表したものです。

中で何をしているか(短く)
中身はベイズ推定です。リーグ平均を「最初の見立て」として置いておき、そこに観測(打数・安打)を足し合わせて、もっとも妥当そうな打率の分布を出します。
- prior strength は
100 AB - リーグ平均打率はページ上で手動入力
- 入力が空欄や不正値のときは
.250を使う - 打率
.000の選手は、推定打率・推定区間ともに.000表示
詳しい設計思想と限界は、同梱の `README.md` に書いてあります。
ダウンロード
以下から ZIP ファイルをダウンロードしてください。
https://drive.google.com/file/d/1g-xNKZo3gKk09KTVn0rOn1kn_OebWcjP/view?usp=sharing
導入手順(ZIP配布版)
1. ZIPファイルをダウンロードして展開(解凍)
2. Chromeで `chrome://extensions` を開く
3. 右上の「デベロッパー モード」を ON
4. 「パッケージ化されていない拡張機能を読み込む」をクリック
5. 展開したフォルダ(`manifest.json` があるフォルダ)を選択
6. NPBの対象ページを再読み込み
正常に導入できると、打撃成績テーブルの近くに「リーグ平均打率」の入力欄が表示され、テーブル末尾に「推定打率」「推定区間」が追加されます。
よくあるつまずき
- ボタンが押せない
→chrome://extensionsの「デベロッパー モード」が OFF になっていないか確認 - 読み込みエラーが出る
→ ZIPを直接選んでいないか確認(必ず展開後のフォルダを選ぶ) - 列が表示されない
→ 対象ページか確認し、Ctrl + Rで再読み込み
補足
この拡張は、選手の「本当の打力」を当てる道具ではありません。
そうではなく、
> 表に出ている打率を、どの程度まで真に受けてよさそうか
を、目で見てわかる形にするためのものです。
打率が「点」から「幅」に変わると、シーズン序盤の極端な数字に過剰反応しにくくなります。上振れにも下振れにも、少し落ち着いて付き合えるようになります。そういう読み方の補助として使ってもらえたらうれしいです。