Red Sox Roster Optimization

27 Jan

Now that San Francisco has won the World Series, the offseason has officially started.  Call me crazy, but I enjoy watching my team, the Red Sox, come together in the offseason almost as much as I enjoy watching the season.  This is especially true for me given the long season that the Red sox had.

With the offseason comes speculation.  Who goes where?  Who signs the big contract?  The speculation has become more quantitative in recent years.  However, there is much less conversation around building the best team.  Of the team conversations that do happen, they tend to be very qualitative in nature and come spring training it’s hard to tell if offseason goals have been accomplished.

Since I’ve been learning all sorts of methods on optimization, I thought it would be fun to see if I could use these skills to optimize a baseball team’s offseason.  So, I made an effort to optimize a lineup for the Red Sox based on their current roster and the available free agents.  To start, I have only optimized the offensive side of the roster.  There are a couple reasons for this that I will get into later, but for now I have an optimization model for the lineup and the bench.  The optimization is based on two things:  OPS and salary.  OPS, while not universal or comprehensive, is a common measuring stick to determine a player’s offensive value, and salary is the common limiting factor for every team.  To illustrate the correlation between team OPS and runs I ran a regression based on last year’s team data.  It should come as no surprise that the R^2 of OPS on runs is 97%, and hence a good measure of offensive output.

So, I’ve put together a model that optimized the team’s OPS.  This model adds free agents to the current roster to determine the optimal lineup.  Taking every free agent into account would take too long to do for free, so my model is limited to the free agents listed below:

Name

OPS

2012 Salary

Name

OPS

2012 Salary

Ryan Lavarnway

0.459

$500,000

Maicer Izturis (32)

0.634

$3,966,667

Guillermo Quiroz

0.625

$500,000

Kelly Johnson (31)

0.687

$6,375,000

Jarrod Saltalamacchia

0.742

$2,500,000

Jason Bartlett (33)

0.433

$5,500,000

Pedro Ciriaco

0.705

$500,000

Yuniesky Betancourt (31)

0.656

$2,000,000

Mauro Gomez

0.746

$500,000

Brian Bixler (30)

0.583

$500,000

Jose Iglesias

0.391

$500,000

Ronny Cedeno (30)

0.741

$1,150,000

Dustin Pedroia

0.797

$8,250,000

Marco Scutaro (37)

0.753

$6,000,000

Jacoby Ellsbury

0.682

$8,050,000

Eric Chavez (35)

0.845

$900,000

Ryan Kalish

0.625

$500,000

Brandon Inge (36)

0.658

$5,500,000

Che-Hsuan Lin

0.500

$500,000

Jose Lopez (29)

0.626

$800,000

Daniel Nava

0.742

$500,000

Scott Rolen (38)

0.716

$8,166,667

Will Middlebrooks

0.835

$500,000

Travis Buck (29)

0.595

$580,000

David Ortiz

1.026

$14,575,000

Melky Cabrera (28)

0.906

$6,000,000

Cody Ross

0.807

$3,000,000

Jonny Gomes (32)

0.868

$1,000,000

Ivan DeJesus

0.000

$480,500

Josh Hamilton (32)

0.930

$15,250,000

James Loney

0.630

$6,375,000

Andruw Jones (36)

0.701

$2,000,000

Danny Valencia

0.388

$515,000

Michael Bourn (30)

0.739

$6,845,000

Russell Martin (30)

0.713

$7,500,000

Scott Hairston (33)

0.803

$1,100,000

Mike Napoli (31)

0.812

$9,400,000

B.J. Upton (28)

0.752

$7,000,000

A.J. Pierzynski (36)

0.827

$6,000,000

Shane Victorino (32)

0.704

$9,500,000

Kelly Shoppach (33)

0.798

$1,350,000

Brian Bixler (30)

0.583

$500,000

Eric Hinske (35)

0.583

$1,600,000

Travis Buck (29)

0.595

$580,000

Casey Kotchman (30)

0.612

$3,000,000

Torii Hunter (37)

0.817

$18,500,000

Carlos Lee (37)

0.697

$19,000,000

Nick Swisher (32)

0.837

$10,250,000

Carlos Pena (35)

0.684

$7,250,000

The use of these particular free agents is completely arbitrary; no free agent is left off for any particular reason.   Also, to simplify things for right now, I’m using last year’s OPS and salary for each free agent.  I understand that this is not ideal, but I will add these pieces into the equation at a later point.  To begin, I simply want to test the theory.  So, using this information I get the following offensive roster for the 2013 Red Sox.

Name

Position

OPS

2102 Salary

Mike Napoli (31)

C

0.812

$9,400,000

Carlos Lee (37)

1B

0.697

$19,000,000

Dustin Pedroia*

2B

0.797

$8,250,000

Will Middlebrooks*

3B

0.835

$500,000

Marco Scutaro (37)

SS

0.753

$6,000,000

Melky Cabrera (28)

OF

0.906

$6,000,000

Jonny Gomes (32)

OF

0.868

$1,000,000

Josh Hamilton (32)

OF

0.93

$15,250,000

David Ortiz

DH

1.026

$14,575,000

A.J. Pierzynski (36)

C

0.827

$6,000,000

Ronny Cedeno (30)

SS

0.741

$1,150,000

Eric Chavez (35)

3B

0.845

$900,000

Scott Hairston (33)

OF

0.803

$1,100,000

Total Offensive Salary:

$89,125,000

Average OPS:

0.834

*Under contract, not part of optimization.

There are a couple of things to note with this offensive group.  First, by design, there are no salary constraints in this first run.  This would explain the $6 million backup catcher and the $90 million offensive payroll.  This is simply a first step sanity check to prove that the model will in fact pick out the optimal combination of players.  Also, there’s only two current Red Sox that are on this roster.  This was mostly due to the fact that Pedroia and Middlebrooks are the only two currently signed Red Sox players who you can write into the 2013 plan in ink.  While there are others under contract, there’s at least some speculation around everyone else.   Plus, the model is more interesting with more moving parts.  I’ll replace interesting with accurate as I go through the steps of refining the model, but for a first pass I give preference to interesting.

Ok, now that I’ve shown that the model works, let’s start refining the model so that it is useful.  The first thing that I will tackle is salary constraints.  There are two types of salary constraints built into the model: individual position salary constraints and a total salary constraint.  Since Pedroia and Middlebrooks are set, we don’t have to worry about them.  I’m going to set every other position at $10 million, except for DH because Ortiz had been identified as a priority.  I’m also going to set the bench position maximum salaries at $5 million.  Also, given the trade during the season, I’m going to assume that the Red Sox are not going to break the bank this offseason.  Taking this into consideration, I’m going to set the total offensive salary at $60 million.  Using these constraints, we get the following results:

Name

Position

OPS

Salary

A.J. Pierzynski (36)

C

0.827

$6,000,000

Carlos Pena (35)

1B

0.684

$7,250,000

Dustin Pedroia

2B

0.797

$8,250,000

Will Middlebrooks

3B

0.835

$500,000

Marco Scutaro (37)

SS

0.753

$6,000,000

David Ortiz

DH

1.026

$14,575,000

Melky Cabrera (28)

OF

0.906

$6,000,000

Jonny Gomes (32)

OF

0.868

$1,000,000

Cody Ross

RF/LF

0.807

$3,000,000

Kelly Shoppach (33)

C

0.798

$1,350,000

Ronny Cedeno (30)

SS

0.741

$1,150,000

Eric Chavez (35)

3B

0.845

$900,000

Scott Hairston (33)

OF

0.803

$1,100,000

Total Salary:

$57,075,000

Average OPS:

0.822

This looks more like a potential 2013 roster than the first roster.  Obviously, there are a lot of different iterations that can be done by playing with salary variables which can affect the roster.

So, to some extent I’ve proven that an optimization model can be used as some sort of tool for developing a roster which means that I will continue to develop the model.  At this point it there are two roads that this analysis can go down.  One is to do all the research ahead of the transactions (this would involve predicting 2013 OPS and salary) and use this as a predictive model.  The other is to see what the Red Sox and other teams actually do this offseason and use this information to analyze the Red Sox offseason.  I’m choosing to do the latter right now.  So, I will continue to refine and add data as decisions are made and update at interesting points during the offseason.

-Erik Clark

Sources:

www.espn.com/mlb

www.mlbtraderumors.com

http://www.baseballprospectus.com/compensation/cots/

Leave a comment