Back in December, I introduced "xFantasy" through a series of blog entries over at the FanGraphs Community blog. At its inception, xFantasy was a system based on xStats that integrated hitters' xAVG, xOBP, and xISO in order to predict expected fantasy production (HR, R, RBI, SB, AVG). The underlying models are put together into an embedded "Triple Slash Converter" in Part 2. Part 3 compares the predictive value of xFantasy (and therefore xStats) vs. Steamer and historic stats, ultimately finding that for players under 26, xStats are indeed MORE predictive than Steamer! Those three pieces served as a starting point for what would eventually be included in this year's Big Board as the xFantasy projection system, which has since been covertly expanded to pitchers, translating scFIP, xBACON, xOBA, xK% and xBB% into xFantasy pitcher stats (more info coming soon). Until now, I've included it in the Board without much in the way of explanation, so today is my first stab at that, with the hopes of also offering some recommendation of how fantasy players might apply xFantasy in their efforts to prepare for upcoming drafts this spring.
First, a short diversion on xStats. To quote myself from the first piece, Andrew Perpetua over at FanGraphs has developed a great set of data using his binning strategy, which has been explained and updated recently, including some additional work since then to include park factors and weather factors. He produces xBABIP, xBACON, and xOBA numbers based on Statcast’s exit velocity/launch angle data, along with the resulting ‘expected’ versions of the typical slash-line stats, xAVG/xOBP/xSLG. Throughout the year, I followed these stats fairly closely, often using ‘xStats’ to influence my fantasy baseball decisions. Given the opaque nature of translating a slash-line to actual fantasy stats, I generally went to the spreadsheet with the simple question “over- or under-performing?”, but that was about as far as I got. I found myself coming to probably-wrong conclusions such as “hey, maybe Sandy Leon isn’t actually that bad.” I was frustrated at my inability to turn a seemingly useful tool into actionable numbers for fantasy purposes.
Recently, Andrew has published a set of "2017 estimates" that takes the past two years of statcast data and weights them appropriately to come up with the best estimate for a player's xStats moving forward. I'm now adopting these numbers as the basis for xFantasy from this point on.
There are a few key takeaways from xFantasy that will tell us where to go next:
- xFantasy is not *truly* a projection. We don't have minor league data. We don't have data from before 2015. At this point, xFantasy for 2017 is a weighted average of player performance from 2015-2016, so keep in mind that things like injuries or down years might have tanked a player's xStats.
- More data is always better than less data. Steamer projections do a better job with established players than xFantasy does, likely due to having more info about past performance.
- Players under 26 have short track records, and xFantasy beats Steamer in projecting them going forward! For young players, or players that have undergone some significant, recent transformation at the MLB level, xFantasy could give us better info than traditional projections.
So what's it mean? At this time, I am *not* recommending that you use xFantasy as your projection system of choice in 2017. On average, Steamer will do better. But xFantasy could be very useful in helping you to identify players (on a case-by-case basis) with short track records that might deserve a bump up or down from the projections spit out by the traditional systems.
For now, I've identified ten (five up, five down) hitters aged 26 and under heading into 2017 that might deserve a second look based on xFantasy. Included below is each player's xFantasy line and Steamer-projected 2017 line, both scaled to 600 PA, along with the 5x5 $ values, and at the far right, the difference between the two.
While the Billy Butler/Danny Valencia debacle was definitely the most interesting thing going on with the A's late in 2016, Ryon Healy was a pretty good story himself. He came seemingly out of nowhere to hit over .300 with 13 HR in 283 second-half PA's, playing his way into a spot as the everyday 3B and likely #3 hitter for the 2017 A's. xStats says you should believe it, with a .324 xAVG and 30 xHR. Steamer hasn't bought into the average/power yet, but the relatively low ~20% K rate looks real.
Trevor Story was the best player in baseball for a couple of weeks this past year, and it seems to me that the late season injury has made people forget that. xFantasy didn't forget though, and even with the huge K-rate, is seeing a .281 xAVG with 39 HR and 12 SB. Based on this line, I'm slotting Story comfortably into the same tier of SS's as Correa, Seager, and Lindor for 2017. Downgrade in weekly H2H leagues where the away games can kill him a bit.
Gary Sanchez and Trea Turner have been well covered by Andrew here and here. I'll just add that even though both are expected to regress from their lofty 2016 performances, xFantasy backs up the idea that they'll both still be among the best players in baseball. Steamer is missing the boat on both guys.
I personally had a love/hate relationship with Tyler Naquin in 2016, who bounced on and off my roster in the "Beat Paul Sporer" NFBC league and always seemed to hit well when he was on the wire, never when he was on my team. He's been a trendy topic this offseason amongst people still using "Sabermetrics 1.0" to point at his BABIP and say he'll be terrible in '17. Statcast says he actually hit well enough to earn a .370 BABIP! Combine that with what seems to be a developing power profile and something like 15 SB's and you'll have a nice little player for your fantasy squad. Just hope Cleveland plays him!
On the downside, we have quite a few players that have been trendy 'sleeper' picks in the lead up to 2017 drafts so far. Javier Baez, even if he manages to find playing time in a crowded Cubs infield, just hasn't hit the ball well enough to overcome the poor plate discipline. Mitch Haniger hit .229 in limited time (123 PA) but statcast says he hit even worse than that - let's hope it's just a sample size thing, because a .213 xAVG won't cut it if you're only getting 20 HR from him.
Yasiel Puig has been in the major leagues longer than many of these guys, so at this point maybe we should just believe Steamer, but I figured it would be worth including him here because it's an interesting case to study. He hit .255 and .263 in 2015 and 2016 respectively, and that wasn't bad luck according to statcast, with a .249 xAVG in that time. Steamer still buys a bounceback to his pre-2015 ways with a .284 projection. I'm actually leaning toward Steamer here, because I believe that Puig's stats have been heavily influenced by his various leg injuries over the past two years. Maybe I should see repeated injuries and use that to project future injuries, but in this case I'm going to give a 26-year-old the benefit of the doubt and say that a healthy Puig should match this Steamer projection in 2017.
Two more 24-year-olds close us out: Max Kepler was very, very good in July and very, very bad after that, en route to an xFantasy line that doesn't believe in the power, and *does* believe in the very poor BABIP and AVG. Staying away from that garbage pile, and moving on to another... A.J. Reed! He was supposed to be the chosen one last year, and instead he gave us his best 2014 BJ Upton impression... without the speed. His playing time picture is even more unclear than Baez's, and even if he plays, statcast tells me he has some work to do.
And finally, for an honorable mention of a player that's new on the scene, but too old to qualify, I have to bring up Ryan Schimpf: