
Brock2 Program
Information
By David Grabiner
The program takes as input a data file in the following format:
[first-line year] [first-line age] [second-line age] [last-line age]
[batting sustenance level]
G AB R H 2B 3B HR RBI BB
[cumulative stats through given age]
[yearly stats, each year on one line]
The first line of stats may be cumulative stats through any year, as
long as the rest of the data makes it possible to calculate cumulative
stats. If you have the player's entire career, include a first line for
the previous year with all zeros on the stat line. Superfluous stat
lines at the end will be ignored, so it is possible to project the same
player from different points in his career by changing only the
last-line age.
The algorithm looks at the last two years to project for age 22, three
years for ages 23-29, and four years for ages 30-41; thus you must give
two years of data (if appropriate) for players who were 21 last year,
three years for players who were 22-28, and four years for players who
were at least 29. It does not use data for seasons at an age of less
than 20; include such seasons in the cumulative stats, or lump them
together with stats at age 20.
To calculate the batting sustenance level, take the league average of
runs per game, subtract .4 for a DH league (Bill James did not suggest
this, but it seems reasonable), and then make the following adjustment
for the player's position:
LF/DH add .1
1B no change
RF subtract .4
3B subtract .5
CF subtract .6
C subtract .7
2B/SS subtract .8
You can also make a further adjustment for the player's defensive value.
Here is a sample input file (for Danny Tartabull, 1991 season):
1989 26 26 28
3.65
G AB R H 2B 3B HR RBI BB
603 2122 316 601 120 13 106 375 295
133 441 54 118 22 0 18 62 69
88 313 41 84 19 0 15 60 36
132 484 78 153 35 3 31 100 65
The first line says that the first row of stats are cumulative stats
through 1989, at which time Tartabull was 26 years old (age as of July 1
of that year), and the following lines are his stats at ages 26 through
28. The second line value of 3.65 is the sustenance level, which is .8
runs per game below the league average, since he is a right fielder in
the AL.