Jump to content
Brewer Fanatic

How to create VORP?


I have 5-years worth of baseball stats from an amateur baseball league and I'm trying to create a VORP stat using these numbers. I understand the idea behind VORP and what is measures but I have no idea how to figure it out. I know my data is far from perfect. I don't have any baserunning stats or player positions and the pitching stats are the barest of bones but I think I should be able to at least get some sort of useful/interesting results from the data.

 

So how do I go about finding who the mythical replacement player is?

Link to comment
Share on other sites

Recommended Posts

80% of league average is the mark in the pros. If you want to create a stat the values the amount of runs a player produces of above a replacement level player (more like WAR without defense, just wRAA) you need to figure out how many over 80% of the league average each player was worth. Good luck. The replacement level player is a concept that's somewhat limited to the pros, but comparing to average in runs could be useful.
Link to comment
Share on other sites

This is the 5-year stats for offense.

AVG OBP SLUG OPS AB H 2B 3B HR BB SO HBP
.231 .330 .286 .616 18634 4312 602 36 114 2265 3806 478

HTML Tables

By runs created I'm assuming you mean the stat Runs Created. I have to use the basic formula of OBP*SLUG*AB which comes out to 1758.387. I would guess you divide that by at bats to get Runs Created per at bat and get .094. Take that times average number of at bats per season. 18 games * 3 at bats per game and get 54. So 54 * .094 = 5.076. So if I'm correct so far the average player is 5.076 Runs Created per season. 80% over that is 9.14. So 9.14 RC would be replacement level? After entering that into my excel spreadsheet to show me only players who have put up seasons greater than or equal to that I got 48 out of 563 players, which is only 8.5% of the total seasons. Am I at least on the right track here?

 

Link to comment
Share on other sites

  • 2 weeks later...

First of all, sorry for the late response. I hope I can still be of help.

 

What consistutes "replacement level" for a particular league is going to depend on the talent distribution and number of available players, as well as number of positions that need to be filled. For example, if there are 10 teams with 25 man rosters, there are 250 positions to fill. If there are 500 available players to choose from and they are all exactly the same, talent-wise, replacement level would be 100% of the league average. People have a tough time deciding what the replacement level should be for the majors though, so it's a hard thing to pin down exactly.

 

I'm not really sure what "runs above replacement level" (RAR) is goining to tell you more than "runs above average" (RAA) anyway. Unless you are trying to put a dollar value on the performance, its just a baseline to measure against. I would just use average.

 

What you need to spend more time on is finding a better estimate for "runs created" Simple runs Created (ABxOBPxSLG) is a crude estimate at best. I would just keep it simple and use a crude linear weight approach. We know that a HR is worth about 1.4 runs in the majors, but that is dependant on the average number of base runners that are on when a HR occurs. You need to come up with your own custom run values for each batting event. You could use multivariable regression analysis. I think the better option might be to use tango's Markov based simulator:

 

http://www.tangotiger.net/markov.html

 

Now, there are going to be some issues with this approach. Your league has a lot more HBPs and I presume errors, so I would take runs/game with a grain of salt. Plugging in your data (I probably should have included HBP under BB), I get 3.06 runs/game. Here are the run values of each batting event:

 

BB: .348

1B: .464

2B: .778

3B: 1.105

HR: 1.545

Out: -.218

 

tango explains:

 

"The run values below are what you would use if you wanted to create a Runs Created-type calculation.

 

Linear Weights shows the run values relative to the existing context, and therefore, is a zero-sum game.

Runs Created shows the absolute number of runs created.

-0.105 : Runs Created OUT, excludes strikeouts

-0.105 : Runs Created SO

 

Basically, 3.1 runs per game /27 outs per game = .113 runs per out. .218 - .113 = .105

 

So I think you could just use this equation to calculate runs created for each player:

 

RC = .464 x 1B + .778 x 2B + 1.105 x 3B + 1.545 x HR + .348 x (BB + HBP) - .105 (AB - H)

Link to comment
Share on other sites

Thanks for the help. I'll plug that equation in when I get home tonight and see what the difference is from using the simple formula.

 

Not sure if this would make a difference but there are 7 teams with a roster of about 15 each. There is no way to tell what the size of the total talent pool would be.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

The Twins Daily Caretaker Fund
The Brewer Fanatic Caretaker Fund

You all care about this site. The next step is caring for it. We’re asking you to caretake this site so it can remain the premier Brewers community on the internet. Included with caretaking is ad-free browsing of Brewer Fanatic.

×
×
  • Create New...