見出し画像

今年の阪神、バントをやめてたら何勝してたのか計算してみた

今年の阪神はよくバントをする。

そう思って調べたら、犠打80でセ・リーグ1位でした。2位の広島が76なので飛び抜けているわけではないのですが、見ている体感としてはやたら多い。

こういうときに毎回もやもやするのが、「じゃあバントをやめてたら何勝できてたんだ」を誰も数字で言わないことです。否定派は「アウトを1つ献上するのがどれだけ損かわかっていない」と言い、肯定派は「1点を取りに行かなきゃいけない場面がある」と言う。どっちも正しそうに聞こえるので、聞いているほうは判断がつきません。

なので計算しました。

NPBの公式サイトには、全試合の「試合経過」が公開されています。1打席ごとに、アウトが何個で、誰が塁にいて、誰が打って、どうなったかが全部書いてある。これを2024年から今年まで1,368試合ぶん取ってきて、阪神のバント89本を1本ずつ評価しました。

答えは最後に書きます。先に数字を置いてしまうと、そこで読むのをやめてしまうと思うので。

ひとつだけ言っておくと、計算していていちばん意外だったのは、バントが損か得かという話そのものではありませんでした。それは途中で出てきます。

まず、今年の阪神

8月22日を終えた時点で62勝47敗1分。412点取って、346点取られています。

得点と失点から期待できる勝率を出すと.575。勝ち星に直すと62.7勝です。実際が62勝ですから、ほぼ計算どおりに勝っている。つまり「本当はもっと勝てていたのに取りこぼしている」という状態ではありません。ここは先に潰しておきます。

犠打80はリーグ最多。143試合のペースに直すと104本になります。

バントの損得は、どう測るのか

野球には得点期待値という考え方があります。

いまアウトが何個で、誰が塁にいるか。その状況から、その回が終わるまでに平均で何点入るか。過去の全打席を数えれば実測できます。今回は今年のセ・リーグ、24,416打席から自分で作りました。

たとえば0アウト一塁だと、その回の残りに平均0.752点入ります。バントが決まって1アウト二塁になると、0.594点。

下がるんです。

走者は進むけれど、アウトを1つ渡している。そのアウトのほうが高くつく、というのがこの数字の意味です。差は0.16点。


阪神が実際にバントを仕掛けた場面を、多い順に。どの場面でも期待値は下がっている

阪神が実際にバントを仕掛けた場面を、多い順に並べてみました。43本といちばん多かった0アウト一塁で0.16点、7本あった0アウト一二塁だと0.24点。どの場面でも下がっています。

ここまでは、バント否定派の言い分どおりです。

89本を1本ずつ見ていく

ただ、これだけだとまだ足りません。

「バントしなかったら」を計算するには、その打者が普通に打っていたらどうなっていたかを見積もる必要があります。中野拓夢が打つのと投手が打つのとでは、期待できるものがまるで違うからです。

そこで、その場面でバント以外の打席が平均してどうなっているかというリーグ全体の実測値に、その打者自身の打力を足して補正しました。打席数が少ない選手が極端な値にならないよう、全体平均に寄せる処理も入れています。

そうやって89本を1本ずつ評価した結果がこれです。


プラスが「やめていればそれだけ点が入っていた」、マイナスが「バントが正解だった」

合計で6.90点。「バントをやめていれば、あと6.9点入っていた」という意味になります。

内訳がかなり面白いことになっていて、

野手の送りバント54本で5.61点。1本あたりにすると0.10点の損です。

スリーバント失敗6本で2.92点。1本あたり0.49点。

投手の送りバント26本はマイナス0.56点。こっちはバントして得をしています。

バントヒット3本はマイナス1.07点。これも得。

プラスが「やめていればそれだけ点が入っていた」、マイナスが「バントが正解だった」です。下の2つは、後で詳しく書きます。

投手のバントは、正しかった

内訳でいちばん意外だったのはここです。

投手の送りバント26本は、やめるとマイナス0.56点。バントしたほうが良かった、という結果になりました。

理由は単純で、投手が打席で残す成績があまりに低いからです。今年のセ・リーグを数えると、野手は1打席あたりリーグ平均より0.006点多く稼いでいるのに対して、投手は0.140点少ない。

バントで払うアウト1つのコストより、投手に打たせるコストのほうが大きい。だから投手のバントは理にかなっています。

バントが悪いのではないんです。誰にバントさせるか、という話でした。

いちばん高くついたのは、スリーバント失敗

1本あたりの損がダントツで大きかったのが、追い込まれてからバントに行ってファウル、三振。いわゆるスリーバント失敗です。

6本で2.92点。1本あたり0.49点は、送りバント成功の0.10点の5倍近くあります。

走者は進まない、アウトは増える、打者は三振。書いていて当たり前ですが、全体の損失6.90点のうち4割強を、たった6本が持っていきました。

中野拓夢の20本

打者別に見ると、中野拓夢が20本で3.03点。以下、坂本誠志郎が6本で1.12点、元山飛優が3本で0.57点、伏見寅威が4本で0.56点と続きます。

中野の20本だけで、チーム全体の損失の4割強です。打率.286の打者にバントさせているので、当然そうなります。

念のため書いておくと、これは中野が悪いという話ではまったくありません。サインを出しているのはベンチです。

9回裏、同点、0アウト一塁

ここまでバントに厳しい話ばかりでしたが、はっきりした例外がありました。

点ではなく勝つ確率で計算すると、9回裏の同点、0アウト一塁での後攻の勝利確率は67.84%です。ここで送りバントが決まって1アウト二塁になると、68.00%になります。

上がるんです。わずかですが。

同点で迎える最終回は、大量点がいらない場面です。1点入ればいい。平均で何点入るかは下がっても、「1点でも入る確率」のほうは上がる。だからここのバントは正しい。

昔から言われてきた「終盤の同点なら送れ」は、少なくともこのモデルでは支持されました。個人的にはここがいちばんの収穫でした。

ただし1点ビハインドだと逆になります。0アウト一塁で28.00%だったのが、バント後は25.17%。2.8ポイント下がる。追いかけている側は2点必要なので、アウトを渡している余裕がないわけです。

他の5球団はどうなのか

阪神だけが損をしているのか気になったので、セ・リーグ全部やりました。


阪神は本数こそ最多だが、損がいちばん大きいのは広島

阪神は本数こそ最多ですが、損がいちばん大きいのは広島でした。76本で8.53点。阪神より4本少なくて、1.6点多く損しています。

面白かったのはヤクルトで、マイナス1.81点。バント数が32本と圧倒的に少ないうえ、そのうち10本がバントヒットです。送るのではなく、狙って転がして成功している。

で、結局何勝何敗だったのか

そろそろ最初の問いに戻ります。バントをやめていたら、何勝何敗だったのか。

本文の損得を合計すると6.90点でした。今年の阪神の得点環境だと、1勝するのに8.66点必要です。

6.90点を8.66点で割ると、0.80勝。

62勝47敗1分が、62.8勝46.2敗1分になる。

正直に言うと、この数字にはかなり幅があります。シーズンの試合を復元抽出して誤差を見積もったところ、95%の範囲はマイナス0.29点からプラス15.71点でした。勝ち星に直すとマイナス0.03勝からプラス1.81勝。ゼロをまたいでいます。

統計の言い方をすると、「バントをやめても勝敗は変わらなかった」という説を否定できない、ということになります。

しかも点ではなく勝つ確率で計算し直すと、数字はもっと小さくなりました。9回に1点差を追っている場面の1点と、3回に3点リードしている場面の1点では価値が違うからです。この方法だと0.15勝。ほぼゼロでした。

3年分やったら、話が変わった

ここがいちばん大事なところでした。

同じ計算を2024年、岡田監督の年と、2025年、藤川監督1年目にもかけてみたんです。


損が出たのは今年だけ。2024年と2025年は勝つ確率で見るとむしろ得をしている

まず本数。岡田監督の2024年が115本、藤川監督1年目の2025年が136本、今年が104本です(いずれも143試合換算)。1年目に増やして、2年目に減らしている。「藤川はバントしすぎ」という印象は、少なくとも本数では正しくありませんでした。

問題は損得のほうで、2024年も2025年も得点ベースでほぼゼロ。それどころか勝つ確率で見ると、どちらも0.7勝ぶん得をしていました。損が出たのは今年だけです。

なぜかというと、バントは相手のエラーや野選を誘うことがあって、それが起きた年は損が帳消しになるからです。2025年は136本のうち10本、7.4%でエラーか野選を誘発しました。今年は80本中4本で5.0%。

運の振れ幅のほうが、戦術の巧拙より大きい。1シーズンぶんのバントの損得というのは、その程度のものでした。

バントは犯人だったのか

犯人ではありませんでした。

今年の阪神は2位の巨人に2.5ゲーム差をつけて首位です。1勝増えたところで順位は変わりません。

ただ、だからバントは好きにやっていい、という話でもないと思っています。

投手には打たせずにバントさせる。打てる野手には打たせる。追い込まれたらバントはやめる。この3つだけで、今年の6.9点はかなり削れたはずです。

1勝ぶんの話です。でも1勝で順位が変わる年は、必ず来ます。


計算のやり方

ここから先は計算の中身です。数字の根拠が気になる方向けなので、そうでなければ読み飛ばしてください。

どこからデータを取ったか

NPB公式サイトの「試合経過」ページです。各試合のページに playbyplay.html というのがあって、そこに全打席が載っています。アウト数、塁上の走者、打者、カウント、結果。盗塁で刺された場面まで独立した行になっているので、走者とアウトの状態が1プレーずつ完全に追えます。

取ったのは2024年、2025年、2026年の1,368試合。セ・リーグ同士の全試合と交流戦、それに阪神の全試合です。1.5秒間隔でアクセスして、robots.txtによる制限がないことも確認しました。

そのプレーで何点入ったかの復元

厄介だったのがここです。ページには打点は書いてあるのですが、「そのプレーで何点入ったか」は書いてありません。エラーや暴投で入った点は打点にならないので、打点をそのまま使うわけにいかない。

そこで状態の遷移から逆算しました。

塁上の走者数に、打席なら1を足す。そこから次の行の走者数と、増えたアウト数を引く。残ったのが、そのプレーで生還した人数。

イニング最後のプレーだけは次の行がないので、ラインスコアの回別得点から引き算しています。

この方法で復元した3シーズンぶんの成績が、公式記録と完全に一致しました。2024年が74勝63敗6分、2025年が85勝54敗4分、今年が62勝47敗1分で412得点346失点。全部合っています。

バントの本数も、セ・リーグ6球団すべてで公式の犠打数と一致しました。阪神80、広島76、中日69、巨人62、DeNA46、ヤクルト32。阪神は選手別まで合っていて、中野20、熊谷8、坂本6、伏見4、髙寺4、元山3、小幡3、福島2。ここが合わなければどこかが壊れているので、いい検算になりました。

得点期待値行列


2026年セ・リーグ24,416打席から算出。枠のセルが送りバントの前後で行き来する状態

「打っていた場合」の見積もり方

バント1本の得点価値は、バント後の得点期待値に、そのプレーで入った点を足して、バント前の得点期待値を引いたものです。セイバーメトリクスでRE24と呼ばれているものと同じ考え方です。

打っていた場合の期待値は、その状況でバント以外の打席が残した平均値に、その打者の1打席あたりの貢献からリーグ平均を引いた差を足しました。この2つの差が「やめていた場合の得点増」になります。

打者の打力は、打席数250を基準に全体平均へ寄せています。数打席しか立っていない選手が極端な値を持ってしまうのを防ぐためです。

投手か野手かの判定は、その打者がその試合で登板したかどうかで決めました。選手名で分けると、敗戦処理で登板した野手を投手扱いしてしまうからです。

点を勝ち星に直す

ピタゲンパット法を使いました。得点と失点の合計を試合数で割って0.287乗したものを指数xとして、得点のx乗を、得点のx乗と失点のx乗の和で割ります。

今年の阪神だとxが1.740で、期待勝率が.5754。ここから得点を1点増やしたときの勝率の変化を求めると、1勝あたり8.66点になります。

勝つ確率の計算

得点期待値は平均で何点入るかしか見ないので、終盤の1点差を正しく評価できません。そこで勝利確率のモデルも作りました。

全打席の「前の状態から後の状態へ、何点入って移ったか」を集計してマルコフ連鎖にして、各状態から回終了までに入る得点の分布を反復計算で求める。あとはその分布を使って、回と表裏と点差から勝利確率を後ろ向きに計算していきます。

検算として、1回表開始時点の後攻の勝利確率が0.5000になること(対等なモデルなので0.5が正解)、1イニングの平均得点が0.3835になって得点期待値行列の0.384と独立に一致すること、無得点で終わる回が78.2%になることを確認しました。

誤差

シーズンの全試合を復元抽出するブートストラップを400回まわして、評価モデル側の誤差を推定しました。

中央値が6.90点で、95%区間はマイナス0.29点からプラス15.71点。勝ち星ではマイナス0.03勝からプラス1.81勝です。

ゼロを含んでいます。「バントで1勝ぶん損した」は点推定としてはそうなのですが、統計的に有意な差とは言えません。

この計算でできていないこと

バントを試みてファウルになり、追い込まれてから打ちにいった打席は数えられていません。公式記録には結果しか残らないからです。バントの本当のコストは、これより大きい可能性があります。

バントシフト、つまり内野の前進守備の影響も測れていません。「打っていた場合」はバント警戒がない状況の平均値を使っているので、バントを匂わせた効果は入っていない。

その日の相手投手や打者の調子も考慮していません。監督が「今日のこの打者はこの投手から打てない」と判断してバントさせているなら、この計算はバントを不当に低く評価しています。

勝利確率のモデルは、両チーム互角で平均的な投手という前提です。阪神は防御率がリーグ1位の2.89なので、実際にはリードを守る価値がもう少し高くて、バントの評価も少し上がるはずです。

そして今年のぶんは8月22日時点の途中経過です。シーズンが終われば数字は変わります。

出典

NPB公式サイトの試合結果・試合経過(npb.jp/scores/)と、チーム勝敗表・チーム打撃成績(npb.jp/bis/)。集計と作図はPythonで書きました。得点期待値行列も勝利確率モデルも、どこかの公表値を借りずに、上の試合経過データから全部自前で出しています。


最後に

ここまで淡々と数字を並べてきましたが、最後に白状しておきます。私は阪神ファンです。

数字を出せば白黒がつくと思って始めました。出てきたのは、ゼロをまたぐ区間でした。バントは今年の阪神を弱くもしていないし、強くもしていない。正直なところ、ほっとしています。はっきり損だと出ていたら、これを書くのはもっとしんどかった。

それでも計算してよかったと思っています。損が全体に薄く広がっているのではなく、スリーバント失敗と、打てる野手のバントという決まった場所に寄っているとわかったからです。やめるかどうかではなく、どこでやめるかの話でした。使ったデータはNPBの公式サイトに全部そのまま置いてあるので、もやもやしている方はご自分でも数えてみてください。

そもそも、藤川監督は去年すでに優勝しています。就任1年目でリーグを獲って、2年目の今年も、この記事を書いている8月23日の時点で首位。2位の巨人に2.5ゲーム差、残り33試合。連覇が見えているところです。

その監督のバントに、外から6.9点だの1勝だのと言っているわけです。我ながら小さい話をしている。

こんな計算をしておいて何ですが、9回裏に代打が出れば私はテレビの前で立ち上がります。0アウト一塁でバントの構えを見れば行けと思うし、決まれば拍手します。得点期待値が0.752から0.594に下がると知っていても、です。

野球はそういうものだと思っています。数字は数字で正しくて、それでも見ているほうは、数字の外側で勝ってほしいと願っている。

連覇してほしい。そのうえで、今度こそ日本一になってほしい。あの6.9点は、そのときに拾ってくれれば十分です。

藤川政権万歳。

いいなと思ったら応援しよう!