May this Schwartz be with you: 2015 Fantasy Baseball Rankings

Last week, we came out with our Top 300. The outcomes looked excellent and I would not hesitate simply using the presented composites for your drafts.

CoolWinnebago asked if we would present our approaches. I provided a high level summary under bago’s comment, but I’ll summarize and then embed my personal rankings (without all the highlighting of my targets of course).

Feel free to skip toward the bottom for my embedded rankings, but here is the context/approach:

1) Cut a hole in the box aka opening excel.

2) Use composite projections that you trust. You can pull Steamer and FANS and then combine them. You can utilize Tanner Bell’s Smart Fantasy Baseball’s Projection Aggregator. I’ve personally worked mainly off Steamer manually adjusting PA/IP totals where I thought necessary, but late last week, Cory Schwartz (excellent last name) posted 2015 Composite Projections on Fantasy411 from 12 different sources.

3) I pulled this and ran the z-scores for each 5×5 category, summed the five z-scores for hitters and pitchers (column titled, zSUM) and then position-adjusted each value according to Zach Sanders’ FVARz approach to fantasy valuation (column titled, PosAdj) as well as associated dollar values (column $ naturally).

This provided two of the three requirements that I use for my personal rankings: actual value (z-sum) and position-adjusted value (PosAdj).

For the last requirement, I have to thank Howard Bender (@rotobuzzguy) for spearheading #MockDraftArmy and providing me with copy-and-paste-able Average Draft Position (column titled, MDA ADP). It’s only 14-experts draft worth of ADP, but the results look great already and reflect draft position for my preferred NFBC-type format: 2C-1B-2B-3B-SS-MI-CI-5OF-U-9P. You can view my team (DanSchwartz_RotoGraphs) from this past Thursday’s draft on RT Sports’ draft board. I was pick 13 of 15 and despite what the analyzer said, my team was glorious from start (Anthony Rizzo and Josh Donaldson) to finish (Tsuyoshi Wada and Jesse Hahn).

Howard reviewed the draft and draft position this past weekend.

My 2015 Rankings:

To review, I weigh the following three rankings into my personal rankings (column titled, Rk): z-sum; PosAdj; and #MockDraftArmy’s ADP or qualified ADP most relevant to my format.

Weighing the three:

I do not take a straight-up average of the three. Instead, I weigh position-adjusted value and ADP value equally. The z-sum (5×5 value despite position) is half as important. Why? Buster Posey is uber valuable. I would have him ranked 18th overall incorporating a position adjustment. However, his z-sum is only 76th overall. Averaging the three rankings equally would deflate his value way too much giving me no chance at drafting him. With that said, I don’t want to over-draft him just because he is an elite catcher. Using my approach, I therefore have Buster Posey ranked 31st overall: (ADP of 22.4 * 2; PosADJ of 18 *2; z-sum of 77 * 1)/5 = 31.5. The average value (associated with the rankings/column one) is hidden in column two so that I could fit more data into your view.

Why incorporate ADP at all?

Why not draft solely on value? Sorry in advance Mike Podhorzer. Mike drafted Billy Hamilton in round 2 of the LABR Mixed League Draft. We can argue with Mike on where Hamilton’s value is, but he explained it well through relative categorical value. However, there was an extremely good chance that Hamilton would have been available 21 picks later in round three or even in round four. Perceived value is as important as actual value – so that you know when you can acquire the actual value.

Back to Buster Posey. I have him ranked 31st overall, but if I have a late second round pick that doesn’t mean I’m drafting one of the ranked starters prior. I would prefer him over David Price for example since there is a good chance Price will be available early in round three while Posey would not be. This is why I want their position-adjusted value, actual value and ADP presented right in front of me at all times.

Position Tiers:

Into my rankings, I build in positional tiers. First sort the PosAdj column by descending. Then sort (ascending) the Position column, titled POS and then review the color-coded Position Adjusted values (column titled, PosAdj). All the replacement players per position are highlighted. These players’ z-sums are the values used to adjust each positions’ value. There you have it: Dan Schwartz’s 10 Shades of Gray: a different type of Fantasy.

Tiers are important within-draft. I recommend drafting best available value when possible, but if Evan Gattis is sitting there and he is projected 2-3 standard deviations better than the next catcher when there are ten outfielders around the same value – that’s when you draft Evan Gattis.

Finally, my personal 2015 Rankings ((PosAdj*2)+z-sum+(ADP*2))/5:


This is my personal approach. I’ve used it for some time now. When mocking/drafting in one minute increments versus slow drafts where you can evaluate players for hours between picks, it is very helpful to have a comprehensive list of built-in value like this. It’s a balanced approach: personal bias (updating composite projections as you wish); actual categorical value (z-sum), position-adjusted z-sums for your specific league’s format (posadj); relevant average draft position (#MockDraftArmy’s ADP); and position tiers that depict when you should attend to position scarcity.

We hoped you liked reading May this Schwartz be with you: 2015 Fantasy Baseball Rankings by Daniel Schwartz!

Please support FanGraphs by becoming a member. We publish thousands of articles a year, host multiple podcasts, and have an ever growing database of baseball stats.

FanGraphs does not have a paywall. With your membership, we can continue to offer the content you've come to rely on and add to our unique baseball coverage.

Support FanGraphs

Daniel Schwartz contributes for RotoGraphs when he's not selling industry leading thermal packaging. You can follow him on twitter @RotoBanter

newest oldest most voted

Thanks for sharing! What cut-offs did you use (IP/AB) for calculating the z-score means?