The Ides of March are come – but not yet gone.

As a round of cuts hits the spring teams, I don’t have cuts – I have adds. I’ve been digging through a slew of other stats, and now have translations up for – get this – 17 leagues not previously listed for 2016.

I’ve got 5 foreign leagues – the Japanese Central and Pacific leagues, and the Korean league, which I’ve had before. But new this year – the Dutch and Italian leagues.

And then we’ve got six winter leagues – Arizona Fall, Australian, Venezuelan, Puerto Rican, Dominican, and Mexican Pacific.

And to top it off – a half a dozen independent leagues. The American Association, the Atlantic League, Frontier, Canadian-American, Pecos, and Pacific leagues.

Now, the fun part of this for me wasn’t so much where the players fell within their leagues, but where the leagues fell with respect to each other.

The Pecos League, a 12-team league playing a 72-game schedule in the Southwest, was the weakest of the leagues I reviewed.  The common players I found in Organized Baseball came from low-level leagues – Arizona, Gulf Coast, Pioneer, and a few AB in the South Atlantic. The rating comes in at .245 – meaning that every run in the Pecos league was only worth a quarter of a run in the majors.

Next up was the Dutch league, which rated .269. Really hard to say much, though, since the rating depends almost entirely on Nick Urbanus and Kevin Moesquit, who played in the SAL and Midwest leagues.

The Pacific Association, a four-team group operating in northern California, checks in at .273.

For reference, we now hit a set of OB leagues. The GCL and Arizona leagues come in at .338 and .333; the Pioneer and Appalachian leagues register at .387 and .381. And, not far above, the short-season As – the Northwest league rated .387 in 2016, while the New York-Penn drew .406.

The weakest of the winter leagues was the one in Australia – which, ironically plays in the (Australian) summertime. They draw a variety of players, quite a few from AA. It comes in at a New York-Penn equivalent of .406.

The Frontier League comes in with a .433 rating. The majority of the common players came from the slightly-stronger mid-A leagues, the Midwest and South Atlantic.

I was surprised by the Italian League’s rating, a robust .504, splitting the difference between the South Atlantic (.476) and Midwest (.511) leagues.  They even had a former major leaguer, in Ronny Cedeno.

The next set of OB leagues up are the high-A leagues. In 2016, the Carolina rated .556, the California was at .577, and the Florida State league led with a .595. Fitting neatly into them would be the new American Association, at .587. The 12 teams of the AA mainly lie along a north-south line running between Laredo, Texas, and Winnipeg, Manitoba; the team in Gary, Indiana is the only one significantly off the line.

Between the high-A and AA leagues are the highest independent leagues – the Canadian-American league at .617 and the Atlantic league at .644. Both are primarily in the northeast US region. The Can-Am common players are primarily from AA and high-A, which is a little surprising. Generally speaking, independent leagues made up of players from league X tend to plat a level somewhat below X – they were, after all, players who did not move up in Organized Baseball. The Atlantic fits better – it is highly regarded, with many players from AA, AAA, and even recognized major league players.

The Mexican league, at .652, also falls in here. Matching it is the Puerto Rican winter league.

Double-A leagues come in at .667 (Texas), .671 (Southern), and .697 (Eastern). The Arizona Fall League, at .667, steps right in at the lower end of AA.

Just on the high side of AA are three more winter leagues, surprisingly equal to one another. The Venezuelan rated .701, the Mexican Pacific was at .708, and the Dominican was on top with .733.

The Korean Baseball Organization rates .734.

The Triple-A leagues are at .759 (PCL) and .802 (International).

The Japanese Central league (.809) and Japanese Pacific (.840) are the highest leagues outside of the majors…

which is the only thing left, the National League at 1.000 and the AL (1.107).



Similar to the last one, for hitters. I believe I used a 50 IP requirement, with a caveat for anyone projected to get at least 5 saves. There were 229 pitchers in the totals.

Just going to drop everything in at once, starting with 2016’s best. Pecota really killed it on pitchers last year, particularly with BB and SO.

Stat W L SV G GS IP H R ER HR BB SO ERA (R) WHIP (BR) SO(R) BB(R) sum rates roto
pecota 2.67 2.18 2.66 7.41 4.08 25.75 24.17 0.00 12.09 4.41 9.45 26.98 10.06 15.16 11.72 7.22 166.01 44.16 57.53
steamer 2.55 2.26 2.52 7.92 4.32 28.43 27.54 0.00 13.24 4.72 10.24 28.06 10.06 15.59 11.75 7.68 176.89 45.08 58.78
clay 2.87 2.34 2.46 9.23 4.24 27.50 26.79 0.00 12.98 4.75 10.24 28.04 10.01 15.78 13.14 7.60 177.96 46.52 59.16
rotowire 2.95 2.25 2.21 7.38 4.51 29.23 27.23 0.00 12.77 4.82 10.22 28.71 10.81 17.08 12.08 7.91 180.17 47.89 61.77
zips 3.05 2.60 4.33 7.99 5.05 30.03 28.80 0.00 14.17 5.09 10.90 29.53 10.16 15.64 11.81 7.86 187.02 45.48 62.71
autoclay 2.94 2.61 2.77 8.59 6.70 30.94 30.13 0.00 14.72 4.84 11.10 30.58 10.75 15.56 12.44 7.55 192.21 46.30 62.60
2013-15 mj + mnr/2 3.04 2.87 2.93 9.72 5.80 33.49 33.53 0.00 16.25 5.79 11.24 32.55 11.22 17.10 11.72 7.77 205.05 47.81 66.85
2015mj 3.81 3.08 2.96 8.52 5.45 34.12 32.42 0.00 15.80 5.26 11.75 32.56 12.49 18.54 13.35 8.81 208.94 53.20 70.37

Note: The “R” category is zero for all because one stat I tried to use didn’t have it – so I just cut it from everybody’s.




When it comes to trying to determine who had the most accurate projections, there are a lot of things to consider. And, if you try to consider them all, you won’t have a post – you’ll have  a book.

You can use straight statistics, or you can bias-adjust. You can use whole stats. Rate stats. One-on-one comparisons for individual players. All stats. Just fantasy-relevant stats.

What I’ll do, here, is a fairly straightforward comparison between the numbers projected and the results. I’ll do some comparisons with and without bias adjustments, although part of your forecast skill should include not having large biases in the first place. And, for today, we’ll limit ourselves to hitters.

I’m going to be looking at average forecast errors for multiple statistics. If you’re going to do that, you really need to make sure that you are dealing with a consistent set of players. Having someone included in stat A but not stat B’s list can distort things badly. I eventually came up with a list of 256 players to form my focus group, if you will. These 256 were people that I thought, in the 2016 pre-season, would get at least 200 PA in 2016. But not just me – they only made the list if I, and Steamer, and Pecota, and Rotowire, all agreed they would get 200 PA, and then really did. We all made forecasts for these players, and they played enough to make a reasonable grade.

For projections, I have my own, of course, two varieties – the pure computer printout (“Autoclay”), and what I get from plugging those projections into lineups and depth charts and making my own judgments of playing time (“Clay”). I took these from copies I had on my computer from April 3; the latter were the ones I used for my own fantasy league drafts, last April 2 and 3. The fellows at helped me out by sharing copies they had made for Zips and Steamer (FanGraphs) last spring. I had downloaded stats from Pecota (Baseball Prospectus) and Rotowire, and I could run a variety of stats myself.

Now, the simplest, most naive forecast you could make, would be to simply use each player’s 2015 major league performance as his 2016 projection. That yields this

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
2015 real 118.22 34.65 8.14 1.86 6.78 14.44 30.10 20.82 22.75 4.55 2.07 12.33 17.33 10.21 22.84 327.09 62.70 67.24

The numbers for PA through CS are simply the raw, average, absolute value of the differences, between forecast and reality, for all 256 players. The number for batting average shows the average difference, in hits, between projected and actual batting average, given real atbats. For example – suppose someone really went 100-for-400, a .250 batting average. The forecast was .293 – so the error is 17.2 hits (.293 minus .250, times 400). Similarly, the ISO number shows the difference in extra bases between actual and forecast isolated power. bbrate is the difference, in walks, between real and forecast BB/PA, for actual PA; so rate is the same thing for strikeouts. The “Sum” box is the simple sum of the 15 category boxes; “rates” sums just the four rate statistics; “roto” sums the R, HR, RBI, SB, and BA categories. So a 327 sum – that’s you’re naive baseline.

You can do a little better by taking 2013-15 average, instead of just 2015:

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
2013-15 real 119.13 34.55 7.78 1.49 6.41 15.01 24.65 21.37 22.49 4.26 1.90 11.54 15.40 9.77 23.50 319.27 60.21 66.08

Your next step up in sophistication is to start adding some minor league stats into the ratings. When I run a simple 2013-15 DT for each player, and use that for my forecast – this will have no park factors, no adjustments to league average, and the PA will generally be projected into a 650-PA total, so they won’t project part-time PA at all – well, that gets me this:

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
2013-15 DT 152.04 41.39 9.25 1.95 7.25 17.37 29.25 25.11 24.32 5.83 2.62 9.91 14.06 8.30 10.15 358.80 42.43 72.42

which isn’t really very good at all, thanks to the way PA are thrown off, and all the counting stats along with it. Projecting to a 650_AP season is definitely NOT the way to go. But the rates stats are dramatically better. Lets improve on the previous by taking a simple average of the three years 2013-15, with one little added wrinkle – minor league stats only count for 50% of major league stats.

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
13-15 DT+ 104.98 30.73 6.74 1.40 5.95 12.99 17.96 17.64 19.78 4.08 1.88 9.85 14.13 8.29 9.90 266.28 42.17 57.29

That figure, by itself, is comparable to most of the other stats I’ll run. That value is pretty much the primary input to the autoclay – the computer printout, without any further help from me:

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
autoclay 98.70 27.64 6.41 1.52 5.94 11.37 22.47 16.04 16.38 3.81 1.50 9.37 14.43 7.34 12.80 255.72 43.94 51.53

Next was ZIPS, taking another step forward:

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
zips 94.80 26.82 6.39 1.66 6.22 11.56 22.96 16.08 16.72 3.97 1.67 8.98 15.07 8.16 11.92 252.99 44.14 51.98

Followed by Rotowire’s projections;

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
rotowire 91.30 27.20 7.04 1.65 6.08 11.68 22.34 15.84 16.83 4.37 1.83 9.51 15.19 8.11 12.73 251.69 45.54 52.63

Ahead of Rotowire is where I show up:

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
clay 91.77 26.32 6.30 1.50 6.11 11.35 22.35 15.85 16.60 3.72 1.51 9.32 14.42 7.74 12.47 247.33 43.95 51.59

I’d like to say that’s where it ends, but I have to honestly report that still leaves PECOTA

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
pecota 90.83 25.77 6.14 1.59 5.90 11.77 21.69 15.57 16.25 4.04 1.51 9.04 14.62 8.08 12.61 245.40 44.34 50.80

And, on top, Steamer:

Stat PA H DB TP HR BB SO R RBI SB CS BA ISO bbrate sorate Sum rates roto
steamer 88.62 25.57 6.18 1.51 6.20 10.91 21.64 15.85 16.48 3.93 1.94 8.88 14.91 7.44 12.01 242.08 43.24 51.35


The differences really aren’t that big between them. For instance, if we take the best score on a player by player basis for the 256 player group, then among the top three the results are fairly even – Clay was best on 80, Steamer on 89, Pecota on 87. Clay beats Steamer 129-127 head to head; Pecota beats Clay 133-123; and Steamer beats Pecota 132-124.


{Note – I had this virtually finished this by about Valentine’s Day, and then – right before hitting the publish key – made one more check and discovered that the “real” stats I was using for validation were not the actual, real stats. Wiping out a lot of work and several erroneous conclusions. Then things went crazy at work, and I focused on getting stats for other leagues in, and before I know it its March – not just barely, but a full week in. Time sure seems to move a lot faster than it used to. May also have to do with being more committed to my day job than I used to be – I could never work on this during the day, the way I used to.]




Incremental update, as a few of players and rumors start sorting themselves out.

Kansas City – the biggest change is probably in Kansas City, where Yordano Ventura’s unfortunate death blows a 30-start hole in what was already a stretched-out rotation. Ventura’s loss does far more to hurt the team than picking up Brandon Moss helped.

Tampa Bay/Dodgers – The big Logan Forsythe trade improves the Dodgers second base position, largely pushing Enrique Hernandez out of the way, for a (very good) pitcher that I had them barely using. Jose De Leon will get a much bigger role in Tampa Bay, and he should be a solid starter for them. It opens up second base for Brad Miller; if they can pick up a good first baseman (I have speculatively given them Chris Carter now, instead of Baltimore), they are in real contention for the AL East. Even if they don’t, I currently have Matt Duffy under-utilised, trying to make space for Willy Adames and Daniel Robertson, two prospects I like a lot.

Angels – Luis Valbuena takes a big bite of CJ Cron.

Giants – Signing Nick Hundley opens up the possibility that we could see more of the Posey to first, Belt to LF we saw a couple of years ago. Their LF situation is weak, but Parker and Williamson are both better hitters than Hundley, so in strict terms it won’t help the offense. If getting Posey off his knees a little while helps him stay fresher, though, than it may be worthwhile.

Rockies – Greg Holland has unsettled the closer situation in Colorado. At this point, I’m still going to lean towards Ottavino – he’s the incumbent, and has a better projection than Holland – but the projections do get tricky with guys who have missed a full season. What was an 80/15 split between Ottavino and McGee is now a 65/30 split for Ottavino and Holland.

Braves – Kurt Suzuki is their starting catcher.

And various minor changes for the Nationals (Stephen Drew, Vance Worley), Cubs (Brett Anderson, Jim Henderson), Diamondbacks (Gregor Blanco,), Indians (Austin Jackson), White Sox (Peter Bourjos), Mets (speculatively adding Sergio Romo), Oakland (Adam Rosales and Alejandro de Aza), Phillies (Ryan Hanigan), Padres (Jered Weaver?), and Rangers (James Loney, Wesley Wrigth).



Happy Birthday, MLK. And, thanks to the three-day weekend that comes from that, I was able to complete my first release of 2017 projections. Projections which, if 2016 is any guide, will be arguably the best projections you can find.

For those of you stumbling into this site from the Google, my name is Clay Davenport. I’ve been messing with baseball statistics since about 1980, developing my own sets of tools for run scoring and player ratings (Equivalent Average), and my own methods for translating statistics between leagues (minors, past majors, foreign leagues). I was one of the founding members of Baseball Prospectus, but split from them several years ago and have since gone my own way. And one of the things I did on my own was to go back to using my stats my way – which is what we have here. In the daytime, I work for NOAA – maintaining software and data distribution from our fleet of weather satellites. This site, as much as anything, is about allowing me to access my stats over the internet. Which is my way of explaining why I don’t write that much – this site is about the numbers, not the words.

So, about these projections. They are a two-part effort. Part number one relies on the computer algorithms. I have a database of player-seasons, most of which is displayed one way or another on this sit, which goes back to 1871 for the majors, to 1947 for AAA, and to 1978 for most other Organized leagues. I’ve run some statistics to identify typical progressions, by age or position, for players; but, like BP’s PECOTA, the forecasts are primarily driven by establishing historical analogue players and seeing how they progressed from a similar point. Those are the projections labeled as “the original computer projections”, “All 2017 Hitters” and “All 2017 Pitchers“.

Part 2 is about me, and my experience building forecasts like this. The computer projections get dropped into a monstrous excel spreadsheet, where they form the basic forecast input. Another part of that spreadsheet contains depth charts for every team – into which I allocate my opinion of who plays where and how much. Flipping to the White Sox page, I see I have Jose Abreu down for 75% of the playing time at first, with another 15% coming at DH. That puts him in at 90% total playing time, and 617 projected PA, slightly more than the 602 he gets from the computer. I gave Todd Frazier gets 20% of the 1B time – a lot of that is driven by trying to guess how they’ll work Yoan Moncada in, which leads to shuffling Frazier and Lawrie around. But those numbers will refine as spring training and then the regular season comes around, and I will be updating steadily. So this is primarily the computer projections for rates, with my, major league only, PT estimates superimposed. They do have one further feature – all the statistics are adjusted so that the total statistics of this set match the total statistics of 2016. This means that my projections will balance – runs scored equals runs allowed, hitter homers equal pitcher homes, et cetera. These, then, are the stats in the Major League Hitters and Major League Pitchers links.

As for the projected standings – that’s the way things fall out when the projections are applied. There is big love for the Cubs (even more than last year, when I projected 101 for them) and for the Astros. There is big hate for the Padres and, once again, the Royals (I don’t deliberately target KC, honest; there is a mismatch between KC and the projections that was worth 10 games in 2014, 12 in 2015, and 11 last year). There are players who seem to repeatedly over- or under-perform their projections, and the Royals seem to load up on those over-performers.

In addition, I’ve done just a little bit of cheating on a couple of players. I’ve matched a couple of free agents – Bautista, Trumbo, Napoli – with their rumor mill teams, even though they haven’t actually signed. typically, these are teams with an obvious hole at those positions – we can be pertty sure they are going to sign somebody to fill the void, even if those somebodies eventually get shifted around. Anticipating that Trumbo will eventually re-sign with the Orioles is no different, really, than a forecast  expecting him to hit for a .275 EQA. Again, as reality settles in, those will adjust.

So the first projection for playoffs: Astros and Indians win their division; Seattle and Texas are wild cards; Boston and Toronto in a playoff for the east. Favor Boston. Nationals, Cubs, and Dodgers win their divisions; the Marlins take one wild card; the Mets and Pirates play for the other.





Born 7-31-1992

Bats R Throws R

Actual Pitching Statistics

JOSE FERNANDEZ R 20 2013 FLA-N 12 6 0 2.19 28 28 681 172.7 111 47 42 10 58 187 5 5 3 1 0 0
JOSE FERNANDEZ R 21 2014 FLA-N 4 2 0 2.44 8 8 205 51.7 36 19 14 4 13 70 0 1 2 1 0 0
JOSE FERNANDEZ R 22 2015 FLA-N 6 1 0 2.92 11 11 265 64.7 61 21 21 4 14 79 2 0 2 0 0 0
JOSE FERNANDEZ R 23 2016 FLA-N 16 8 0 2.86 29 29 737 182.3 149 63 58 13 55 253 6 6 9 1 0 0
38 17 0 2.58 76 76 1888 471.3 357 150 135 31 140 589 13 12 16 3 0 0

Advanced Pitching Statistics

JOSE FERNANDEZ R 20 2013 FLA-N 172.7 2.45 -22 4 1 161.5 2.77 31 52 33 2.65 183.7 2.78 35 58 37 2.70 32
JOSE FERNANDEZ R 21 2014 FLA-N 51.7 3.31 -5 5 1 50.6 3.78 4 12 6 3.40 58.0 3.85 4 13 7 3.48 43
JOSE FERNANDEZ R 22 2015 FLA-N 64.7 2.92 8 -4 2 60.9 3.25 8 16 9 3.17 69.4 3.23 10 18 10 3.20 39
JOSE FERNANDEZ R 23 2016 FLA-N 182.3 3.11 12 -1 1 187.5 3.36 24 50 28 3.15 218.4 3.41 26 58 32 3.19 45
471.3 2.86 -6 4 5 460.5 3.26 67 131 76 3.01 529.5 3.22 76 148 85 3.05

Translated Pitching Statistics

Name Age Year Team IP H ER HR BB HBP K ERA W L SV H/9 HR/9 BB/9 K/9
JOSE FERNANDEZ 20 2013 FLA-N 196.3 134 59 14 65 5 183 2.70 15 6 0 6.1 .6 3.0 8.4
JOSE FERNANDEZ 21 2014 FLA-N 59.3 41 23 5 15 0 67 3.49 4 3 0 6.2 .8 2.3 10.2
JOSE FERNANDEZ 22 2015 FLA-N 73.7 76 26 6 16 2 71 3.18 5 3 0 9.3 .7 2.0 8.7
JOSE FERNANDEZ 23 2016 FLA-N 212.3 189 75 16 59 6 233 3.18 17 9 0 8.0 .7 2.5 9.9
541.7 440 183 41 155 13 554 3.04 41 21 0 7.3 .7 2.6 9.2

General Pitching Splits

JOSE FERNANDEZ R 20 2013 FLA-N 681 .195 43 375 .161 15 306 .230 28 361 .206 25 320 .181 17 431 .187 24 250 .207 18 681 .195 43
JOSE FERNANDEZ R 21 2014 FLA-N 206 .196 13 133 .144 4 73 .265 9 106 .250 12 100 .116 2 147 .089 2 59 .336 12 206 .196 13
JOSE FERNANDEZ R 22 2015 FLA-N 265 .239 26 141 .240 14 124 .238 12 122 .310 20 143 .163 6 157 .226 14 108 .257 12 265 .239 26
JOSE FERNANDEZ R 23 2016 FLA-N 737 .227 65 408 .195 26 329 .260 38 401 .252 44 336 .195 21 439 .209 32 298 .250 33 737 .227 65
1889 .214 148 1057 .185 60 832 .246 87 990 .244 101 899 .178 47 1174 .193 72 715 .245 76 1889 .214 148

Pitcher Splits by Month

JOSE FERNANDEZ R 20 2013 FLA-N 681 .195 43 102 .247 11 120 .247 13 125 .143 4 131 .195 8 151 .151 5 52 .158 2
JOSE FERNANDEZ R 21 2014 FLA-N 206 .196 13 153 .170 7 53 .256 6
JOSE FERNANDEZ R 22 2015 FLA-N 265 .239 26 127 .219 11 44 .179 2 94 .286 14
JOSE FERNANDEZ R 23 2016 FLA-N 737 .227 65 119 .236 11 148 .203 10 100 .133 3 133 .261 16 126 .254 14 111 .242 11
1889 .214 148 374 .214 29 321 .229 30 225 .139 6 391 .227 35 321 .200 21 257 .245 27

Pitcher Splits by Count

0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2 3 0 3 1 3 2 UNKNOWN
JOSE FERNANDEZ R 20 2013 FLA-N 80 .356 18 57 .242 6 88 -.191 -7 44 .220 4 50 .179 3 119 -.114 -2 10 .110 0 27 .116 1 91 -.139 -3 15 .999 5 27 .568 7 73 .333 12
JOSE FERNANDEZ R 21 2014 FLA-N 26 .284 4 15 .379 4 29 -.165 -2 10 .245 1 11 .322 2 43 -.144 -2 3 .450 1 7 .269 1 35 -.148 -1 4 .999 1 5 .237 0 18 .325 3
JOSE FERNANDEZ R 22 2015 FLA-N 25 .273 4 24 .393 6 39 .126 1 18 .345 4 22 .225 2 56 -.170 -3 6 .623 3 8 -.142 0 28 .100 0 1 .999 0 9 .547 3 29 .433 7
JOSE FERNANDEZ R 23 2016 FLA-N 67 .348 15 59 .333 12 91 -.136 -3 37 .398 11 38 .262 5 147 .107 2 22 .295 3 23 .153 1 108 -.111 -2 14 .999 4 18 .537 5 113 .266 13
198 .333 40 155 .314 28 247 -.152 -10 109 .308 20 121 .230 12 365 -.097 -5 41 .330 8 65 .142 2 262 -.121 -6 34 Inf 11 59 .517 16 233 .313 35

Updated park factors for all teams through the first 30 days of the season.

I use a weighted mean park factor for all teams – a five year moving average, weighted 3-2-1 for the one-year factors. So the park factors for 2010 use (3*2010PF + 2*2011PF + 2*2009PF + 2008PF + 2012PF)/9, assuming they are in the same park throughout.

For the current season I obviously cannot do that – I don’t know what the 2017 and 18 factor s will be – so it reduces to a 3-2-1 average of 2016, 2015, and 2014. However, it is also way too early to take the 2016 factors at face value. At this pont, one month, or about 1/6 of the season in, I’m going to use (1/6) the current season to date, plus 5/6 of last year’s weighted value. So, Arizona, who had a 1020 in 2015, a 1065 in 2014, and 971 in 2013 had a weighted average of 1027 coming into this season. That’s their baseline. They have an 1168 PF through the first month, which means I am giving them a rating of 1051 for the current season.















There are a couple of possibly random, possibly not, geographic relations in there, as weather patterns do play into the park factors:

1) The mid-Atlantic teams, Washington, Philadelphia, and Baltimore, are all strongly below average so far (-110, -111, and -100 below expectations). Most of the nearby minor league parks are as well – like Bowie (-109), Delmarva (-132), Wilmington (-108), and Potomac (-65).

2) The teams further into the northeast – Boston, Toronto, the Mets and Yankees – are all above average (+44, +61, +42, and +140). Again, most minors follow: Pawtucket is running at +152, Trenton at +62, Syracuse +88, Rochester +51, Scranton +49, New Hampshire +98, Binghamton +33, and Lakewood +202.

3) The southwest teams – Arizona, Colorado, and Texas– are well above average (+141, +90, +86). Here, though, the minor league teams do not match – Albuquerque is at -145, Colorado Springs -101, Las Vegas -65.

4) Both Chicagos are down (-54 Sox, -18 Cubs), as are the Brewers (-60), Cardinals (-91), and Twins (-106). The minors are mixed: Indianapolis (-65) fits, as does Kane County (-173) and Quad Cities (-60), but other nearby Midwest league teams do not (South Bend -10, Wisconsin +39, Peoria +78, Beloit +26), and neither does Iowa (+12).

5) Both Florida teams are down (TB -113, Miami -58). The FSL teams are useless for this comparison; Jacksonville and Pensacola are both fairly positive (+62, +52), more in common with Atlanta (+65).

6) The Tigers are +31, with the Indians (-2), Pirates (+1), and Reds (-25), forming a fairly neutral block. Erie (-1) and Altoona (-15), but the other Ohio teams are strongly negative: Columbus -89, Akron -152, Lake County -57, and Dayton -68.

7) The West Coast teams are all over the place: -1 in Seattle, +51 and -47 for the Giants and As, +36 and -93 for the Angels and Dodgers, +1 for the Padres.

8) And three as yet unmentioned: Kansas City (-2), Houston (-6), and Atlanta (+65) who tend to be in between the other teams mentioned.


Debut: April 3, 2016. Pinch-hit for Adam Wainwright in the top of the 7th; struck out.

Card(s): minors, majors

Hazelbaker is a 28-year-old rookie, who parlayed a .304/.373/.543 (.334 EqA) spring performance into a spot on the Opening Day roster (thanks also in part to a late injury to Ruben Tejada). He’s a corner outfielder, despite some fairly impressive speed. He was a fourth-round pick from Ball State in 2009, to the Red Sox, got traded to the Dodgers in the 13/14 offseason. They released him last May, and the Cardinals picked him up.

In the Red Sox system, he steadily worked his way up to AAA Pawtucket, generally hitting for a .250ish EQA; he showed slightly above average power (+5 POW component), good speed (+10), poor strike zone control (-14 K, 0 W). As a Dodger, he was awful – a .184 EqA in Albuquerque, then sent down to hit .213 in AA Chattanooga, and opened 2015 by hitting .222 in AA Tulsa…hence the release.

As a Cardinal, though, a whole new life. His combined DT for Springfield and Memphis last year comes to .282/.350/.497, .294 EqA, and the spring works out to a .320-ish EqA. The most significant change from his past is cutting his strikeouts  down (from 24% of PA and a -14 K component in 10-13 to 20% and -7 in 15-16), while raising his BABIP component from -1 to +9.

It is possible that some latent skills have been unlocked through skillful coaching, and that the Cards have found lightning in a bottle. Its hard to imagine him breaking through against a pretty set outfield. If the Cards decide to let go of Brandon Moss –  a move which would set off dominoes that push Holliday to first, Grichuk to left, and Pham to center with some regularity – then he is well positioned to hold down a 4th OF slot for the season.



Got the code running for spring training statistics last night.

Cactus 5.30 R/G, cure .279/.347/.451, 3.19 BB and 7.36 K/9 inn
Grapefruit 4.83, .267/.340/.418, 3.43 and 7.20

Top EqRs so far, with 6:
Bryan Holaday, Detroit, .631 eqa/6 eqr
Scott Sizemore, Washington, .571/6
Mike Trout, LA Angles, .519/6
Avisail Garcia, Chic White Sox, .438/6
Scott Van Slyke, LA Dodgers, .437/6
Maikel Franco, Philadelphia, .397/6

No pitcher has thrown more than 7 innings yet, so no real separation from the pack.


Changes since last weekend:

Chase Anderson                            traded from Arizona to Milwaukee
Joins a Brewer rotation with nine potential starters and it isn’t completely
obvious who the best 1 is, let alone the best 5. FWIW, he rates as the 3rd best
projection, and should keep a regular slot in the Brewer’s rotation this year.

Anthony Bass                                Free agent, going to Japan
Marginal bullpen guy; played parts of five season in the majors, but always
had at least a little minor league time as well.

Jesse Biddle                                   traded from Philadelphia to Pittsburgh
Didn’t have him projected to pitch for Philadelphia this year, so that
certainly won’t change with a tougher Pittsburgh lineup.

Greg Bird                                         injured
Shades of Nick Johnson. He figured to get a lot of playing time in New York,
thanks to the fragility of Teixeira and Rodriguez. As I try to work out the
playing time, it seems to me like Aaron Hicks may be a beneficiary – shifting
Ackley to first and Beltran to more DH will open outfield time.

Jeremy Bleich                                 free agent signed by Philadelphia
Does not project to make the team.

Andrew Brown                              free agent signed by Angels
28 HR season for Korea’s SK Wyverns last season, but in translation it is
virtually identical to his 2014 Las Vegas season – the one that left him in a
position where he has to go to Korea to find a job. The projection at .252 is
surprisingly optimistic, and the Angels’ outfield depth chart beyond Trout and
Calhoun is pretty bad, so there could be an opening for him at some point of
the season.

Darrell Ceciliani                                      traded from Mets to Toronto
There are a lot of contenders for outfield spots in Toronto, and Ceciliani’s
projected 1.3 WARP is only sixth best on the team. He’s got a good chance at
playing sometime this season, depending on injuries, but it would take a lot
to get him into a lead role.

Maikel Cleto                                              free agent signed by White Sox
Slots as somewhere around the 12th option for the Sox bullpen, which puts him
on the border of zero innings.

Tyler Cloyd                                                free agent signed by Yankees
Shouldn’t crack the team.

Louis Coleman                                          released by Kansas City
Middle of the pack option; should get picked up somewhere.

Jean Cosme                                                traded from Baltimore to San Diego
Only pitched at Aberdeen (short-season A) in 2015, so years away – if ever.

Odrisamer Despaigne                                traded from San Diego to Baltimore
Not just moving from the NL to the AL, but from spacious Petco to cozy
Camden Yards. It won’t be pretty.

Isan Diaz                                                     traded from Arizone to Milwaukee
The 2015 Pioneer League MVP, he hit for a .333 EqA in Missoula (.276
translated). There’s not a whole lot of corelation between hitting .330 at
age 19 in rookie ball and having a major league career – for every Manny
Ramirez and Jim Thome (#1 and #2 in PIO/APL EQA at age 19) there’s a Mike
Restovich and Jesus Cota (#3 and #4). He’s got a few big comps (Corey Seager,
Darryl Strawberry) and a lot of nobodies. Intriguing but far from guaranteed.

Chris Dwyer                                                 free agent signed by Baltimore
No impact.

Gavin Floyd                                               free agent rumored to sign with Toronto
Not likely to be able to contribute much, but could be the key to keeping
Roberto Hernandez from appearing on the mound.

Christian Friedrich                                          waived from Colorado to Angels
Goes from the middle of the Rockie pen to much tougher competition – I can’t
even give him any innings now.

Yovani Gallardo                                  free agent rumored to sign with Baltimore
If its true, it would help immensely as an innings-eater, and pushes away
innings I’d previously allocated to Vance Worley and Mike Wright; with
Gallardo they can go back to being a very ocasional starter.

Conor Gillaspie                                               free agent signed by San Francisco
Disastrous 2015 was well below his established standards. Assuming he can
return to those prior standards, he makes a better insurance policy for Matt
Duffy than anyone else on the Giants’ roster. He could be a regular
backup/pinch hitter.

Jonny Gomes                                                     gone to Japan
Offensive projections are down to barely replacement level, defensively
challenged and platoon-limited.

Raywilly Gomez                                            free agent signed by Mets
Catcher with a reasonably good bat, but yet to play above AA. Could
potentially get called up if injuries hit the Mets’ leading catchers, but
those roles usually goes to defensively solid guys. That doesn’t describe

Angelo Gumbs                                                 free agent signed by Reds
Half of his top 20 comps did not play anymore.

Aaron Hill                                                        traded from Arizona to Milwaukee
Hill was expected to be a utility IF in Arizona, and could well be the same in
Milwaukee. One obvious ploy is as a platoon partner for Gennett at second. He
could also be a semi-regular at third base, and could arguably be the best 3B
option if the team was in win now mode. Since they’re not, expect him to be
there as the Brewers cast and reject multiple auditions.

Edgar Ibarra                                                 free agent signed by Philadelphia
Pretty generic bullpen arm. He is lefty, albeit without a particularly large
split. I could see him getting called up for a few weeks.

Don Kelly                                                        free agent signed by Miami
Had Tommy John surgery on his throwing arm last July. Since he can play
everywhere, and he’s suitably grizzled, he might stick around, but I’m not
slotting him in anywhere just yet.

Blake Lalli                                                        free agent signed by Atlanta
If the Braves need a sixth catcher in 2016, he’s their man.

Dae Ho Lee                                                       free agent signed by Seattle
A big, big guy – my card says 6’4″, 220, but apparently more like 300 now –
who strated in Korea but played the last four years in Japan. He led the JPL
in EqR in his first year there, 2013, and finished 5th each of the last three
years. His projection won’t put him ahead of either Adam Lind or Jesus
Montero, who I currently have penciled in for 1B and DH, but Montero has yet
to demonstrate that he can meet a projection. I’d call this a legitimate
player battle.

Steven Lerud                                                       free agent signed by Seattle
Replaces Jesus Sucre and his broken leg as the backup catcher in Tacoma.

Tyler Massey                                                     free agent signed by Colorado
Below replacement, won’t matter in Denver.

Yoervis Medina                                       traded from Pittsburgh to Philadelphia
Had him down for a token 10 ip in Pitt. In Philadelphia, he projects as one of
their better pitchers – more of an indictment of them than an endorsement of
him, OK?

Jared Mitchell                                                      free agent signed by Yankees
Deep depth.

Jonathan Mota                                                            free agent signed by Cubs
Not happening.

Matt Murton                                                                free agent signed by Cubs
He’s going to try to returns to the Cubs after six years in Japan. Four of
those six were vintage Murton – high contact and average, no power, speed, or
walks. The other two, which includes 2015, were sub-par. I don’t really see a
path to playinmg time for him, not do I expect much from him if he finds one.
I’ll give him a token 5% PH role.

Hideki Okajima                                                    free agent signed by Baltimore
Certainly a blast from the past. Had a solid Japanese season in ’14, but only
had 10 miserabe appearances last year. He could find a spot in the back end of
the bullpen – but probably won’t.

Miguel Olivo                                                free agent signed by San Francisco
I suppose Tijuana was a reasonable place for a guy with an Evander Holifield
act. Generally, these “give the old guy who used to play another spring”
signings go to guys who were good citizens in their playing days; on the other
hand, you can never have enough catchers in spring training.

Carlos Quentin                                                    free agent signed by Minnesota
Like Olivo, without the ear-biting. Quentin isn’t really that old (34 in
August), but its a brittle 34. Maybe his knees are better after a year off, or
maybe he’s just forgotten how much they hurt when stressed. I’d certainly call
Park the better option today, and maybe Max Kepler and Kennys Vargas as well.
I’ll give him a 5% though.

Esmil Rogers                                                          gone to Korea
Marginal anyway.

Deibinson Romero                                            free agent signed by Yankees
A third baseman by trade, Romero spent most of 2015 in Korea and was terrible.
I think the .259 projection is way optimistic – the projection scheme for BA tends to
average out guys who are consistently way below average, whcih applies here.
The Yankees don’t have a real 3B behind Headley – I expect to see a SS or 2B
there when Chase needs a day off, so it makes some organizational sense.

Vinny Rottino                                                  free agent signed by White Sox
Negative projected WARP; very unlikely to see a major league park.

Brendan Ryan                                                   free agent signed by Washington
Most zombie movies seem to think that you have to shoot them in the head in order to
stop them. For baseball zombies, though, its gotta be the glove. The Nationals
have now picked up ex-New York infielders Daniel Murphy, Stephen Drew, and
Ryan – maybe they’ll try to lure Derek Jeter out of retirement?

Jean Segura                                                     traded from Milwaukee to Arizona
Presumably the starter at shortstop, even though I don’t rate him that much
higher than Owings or Ahmed. Or 2B Gosselin, for that matter.

Carlos Torres                                                             released by Mets
Kind of surprising, but bullpens are a whole lot of mix and match.

Ronald Torreyes                                                     waived from Angels to Yankees
I did have him for a cup of coffee with the Angels, trying to avoid giving
Cliff Pennington more time. I’ll do the same with the Yankees, dislodging time
that was Pete Kozma’s.

Tyler Wagner                                                     traded from Milwaukee to Arizona
A pretty good minor league pitcher the last two years, with a few caveats.
He’s been old for his leagues (High-A at 23, AA 24); and he’s scored very high
in what I call the luck components, for Batting Average and Delta Runs, which
isn’t likely to continue. He’ll still be one of the higher-ranked arms in the
organization outside Phoenix, which puts him in good shape for 4-10 starts
during the season.

Set your Twitter account name in your settings to use the TwitterBar Section.