2018の埼玉西武ライオンズ投手陣の貢献を、小松式ドネーションで検証してみる 

この記事は、[クローラー／Webスクレイピング＆RPA Advent Calendar 2018 Advent Calendar 2018](https://qiita.com/advent-calendar/2018/crawler) の、13日目の記事です。[「Baseball Play Study 2018 冬」](https://bpstudy.connpass.com/event/109688/) の、LT登壇の内容でもあります。

## はじめに

2018年は、埼玉西武ライオンズが10年ぶりにパ・リーグを制しました！

しかし、野球ファンの間では「強力な打撃陣」の話が中心で、西武投手陣については厳し目の論調が目立ちました。

西武ライオンズの投手陣は、優勝にどれだけ貢献したのか、「小松式ドネーション」を使い、西武投手陣の奮闘ぶりを数値化。貢献度を検証してみたいと思います。


## やること

2018年に登板した全投手データを取得し、投球内容を小松式ドネーションで数値化。

・チーム全体
・先発陣
・救援陣

の3つの尺度から評価する。

## 小松式ドネーションとは

投手の貢献度を数値化する方法。以下の算式で算出されます。[^1]


```
（投球回数×3）＋（勝利＋ホールド＋セーブ）×10＝KD
KD×1000＝ドネーション金額
```

元々は、オリックス・バファローズに所属する[小松聖投手](https://ja.wikipedia.org/wiki/%E5%B0%8F%E6%9D%BE%E8%81%96)が行っていた、社会貢献活動から来ていますが、

<strong>先発・救援という役割を超えて、投手の総合的な貢献度を表す式である</strong>

と、某巨大掲示板で話題に。それ以来、投手陣の活躍を算出する式として、度々話題になっています[^2]。

## 2018年の投手データの参照元

[「プロ野球データFreak」](https://baseball-data.com/)さんから、[免責事項](https://baseball-data.com/about.php)に基づき、[全投手のデータページのスクレイピング](https://baseball-data.com/stats/pitcher-all/era-1.html)をしました。

データ取得後、投手データを

- 先発
- 救援

と大きく2つに分け、それぞれ集計をしています。

先発・救援両方を担当した選手もいますが、一度でも先発をした投手はすべて「先発」として分類することにしました[^3]。


## Node.js を利用して、データをスクレイピング

Node.jsを利用。今回は[「cheerio」](https://github.com/cheeriojs/cheerio) を使いました。

cheerioは

```
Fast, flexible & lean implementation of core jQuery designed specifically for the server.
```
という説明の通り、jQueryのような書式でDOMの操作ができます。

以下の手順でスクレイピングを行いました。

- request でページへアクセス
- cheerio でデータをスクレイピングし、CSVに変換
- fs でローカルに保存

実行コードです。

```javascript
const request = require('request')
const cheerio = require('cheerio')
const fs = require('fs');

request('https://baseball-data.com/stats/pitcher-all/era-1.html', (e, response, body) => {

  if (e) {
    console.error(e)
  }

    const $ = cheerio.load(body)
    let list = $('tbody').html()
    list = list.replace(/<\/td>/g,',');
    list = list.replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,'');
    fs.writeFile('list.txt',list, function (err) {
    if (err) {
        throw err;
    }
  });
});
```

上記を実行すると、投手データをcsvに加工したファイル「list.txt」が生成されます。このデータを元に、集計を行いました。

※コード関連の話はここで終了。以下、プロ野球の話がだらだら続きます。

## 結果


西武ライオンズ投手陣の数値を検証するまえに、いくつかデータをピックアップしてご紹介します[^4]。

### 2018年、もっとも貢献度が高かった投手

先発・救援問わず、両リーグで最もKD値が高かった選手ベスト5です。

#### セリーグ

- 1 菅野智之(巨人)
    - 756,000
- 2 大瀬良　大地(広島) 
    - 696,000
- 3 石山　泰稚(ヤクルト) 
    - 669,600
- 4 近藤　一樹(ヤクルト)
    - 668,600
- 5 ガルシア(中日)
    - 634,600

#### パ・リーグ

- 1 多和田　真三郎(西武)
    - 676,600
- 2 増井　浩俊(オリックス)
    - 655,000
- 3 則本　昂大(楽天)
    - 640,300
- 4 森　唯斗(ソフトバンク)
    - 633,300
- 5 菊池　雄星(西武)
    - 629,600

セリーグでまず目に入るのは、巨人の菅野投手。2018年の沢村賞受賞投手であり、最多勝・防御率・最多奪三振・ベストナインと、あらゆるタイトルを獲得した、まさに2018年を代表する投手です。

大瀬良投手は、菅野投手と最多勝を分け合い、広島の優勝に貢献しました。

3位、4位はヤクルトの救援投手、石山と近藤両投手です。ヤクルトは交流戦優勝・ペナントでもセリーグ2位と、2017年の最下位から大躍進しました。強力な救援の2枚看板が大いに貢献したと言えそうです。

パ・リーグでは、優勝した西武から多和田・菊池の両投手がランクイン。多和田投手は最多勝、菊池投手はベストナインを獲得しています。この二人は西武の優勝に大きく貢献したと言って良いでしょう。

ソフトバンクの森唯斗選手のランクインも光ります。サファテ・岩崎という、救援の二枚看板を欠くSB救援陣の中で、セーブ王を獲得する奮迅ぶりでした。

こうやってみると、まずまず納得がいく評価である、と言えると思います。

### 2018年、西武ライオンズ投手陣の貢献度

西武ライオンズ投手陣のKD値を検証してみます。パ・リーグ6球団の全投手のKD値を算出してみたところ、こうなりました。


#### 投手総合

- 1 日本ハム
    - 6,184,600
- 2 オリックス
    - 6,184,600
- 3 ソフトバンク
    - 6,024,800
- <b>4 西武</b>
    - <b>5,898,200</b>
- 5 ロッテ
    - 5,729,700
- 6 楽天
    - 5,530,500

#### 先発総合

- 1 日本ハム
    - 3,592,600
- 2 ソフトバンク
    - 3,556,200
- <b>3 西武</b>
    - <b>3,543,300</b>
- 4 ロッテ
    - 3,528,000
- 5 楽天
    - 3,015,100
- 6 オリックス
    - 3,007,000


#### 救援総合

- 1 オリックス
    - 3,080,900
- 2 日本ハム
    - 2,592,000
- 3 楽天
    - 2,515,400 
- 4 ソフトバンク
    - 2,468,600
- <b>5 西武</b>
    - <b>2,354,900</b>
- 6 ロッテ
    - 2,201,700


優勝した西武ライオンズですが、投手のKD値としてはパ・リーグ中4位。
多和田・菊池両投手が頑張った先発陣は3位とまずまずですが、救援陣は5位という、厳しい結果。

- 西武は優勝したんだし
- 勝ち星もそれなりに上げているし
- 「KD値で見れば、西武投手陣もなかなかやるじゃん！」

…という結果を期待していましたが、割と印象通りの結果で、草も生えません。

やはり、涌井・岸・野上・牧田と、大黒柱達がFAでチームを離れていったのが悔やまれます。

2019年こそ日本シリーズ進出に向けて、頑張って欲しいものです。日本一を目指して、頑張れ埼玉西武ライオンズ。辻監督、2019年も期待しています！



## こぼれ話

せっかくデータを集めてみたので、いくつかご紹介します。

### セパ両リーグの先発陣

#### セリーグ先発陣

- 1 菅野智之(巨人)
    - 756,000
- 2 大瀬良　大地(広島) 
    - 696,000
- 3 ガルシア(中日)
    - 634,600
- 4 メッセンジャー(阪神)
    - 629,600
- 5 ブキャナン(ヤクルト)
    - 622,300


#### パ・リーグ先発陣

- 1 多和田　真三郎(西武)
    - 676,600
- 2 則本　昂大(楽天)
    - 640,300
- 3 菊池　雄星(西武)
    - 629,600
- 4 上沢　直之(日本ハム)
    - 605,300
- 5 岸　孝之(楽天)
    - 587,000

### セパ両リーグの救援陣

#### セリーグ救援陣

- 1 石山　泰稚(ヤクルト) 
    - 669,600
- 2 近藤　一樹(ヤクルト)
    - 668,600
- 3  中﨑　翔太(広島)
    - 618,300
- 4 山﨑　康晃(DeNA)
    - 588,300
- 5 パットン(DeNA)
    - 548,000


#### パ・リーグ救援陣

- 1 増井　浩俊(オリックス)
    - 655,000
- 2 森　唯斗(ソフトバンク)
    - 633,300
- 3 加治屋　蓮(ソフトバンク)
    - 548,600
- 4 宮西　尚生(日本ハム)
    - 545,000
- 5 内　竜也(ロッテ)
    - 534,600

いかがだったでしょうか？各球団ファンの皆様から見て、妥当なKD値だったでしょうか。
(自分的には、各球団とも、割と妥当なランクインだな、と感じました)


2019年も、プロの皆様の熱いプレーに期待したいですね！
いまから開幕が楽しみです。

[^1]: 詳しくは、[ニコニコ大百科の記事](https://dic.nicovideo.jp/a/%E5%B0%8F%E6%9D%BE%E5%BC%8F%E3%83%89%E3%83%8D%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3)を参照ください。

[^2]: 小松聖投手は新人王を受賞し、侍ジャパンの一員としてWBCでも活躍した名選手でした。ご参考まで。


[^3]: (例：ソフトバンクホークスの石川投手は、先発・救援ともに投げているため、分類としては先発にしています)

[^4]: この計算結果はあくまでネタ的なものであり、実際の選手成績や評価には一切関係がありません。あらかじめご理解・ご了承のほど、お願いいたします。