xFantasy, Part IV: “Projecting” Breakouts and Busts in 2017

Back in December, I introduced “xFantasy” through a series of entries here 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!

To quote myself from the first piece, Andrew Perpetua over at the main blog has developed a great set of data using his binning strategy, which has been explained and updated this offseason, 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. 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. After a bit of back and forth on Twitter with Andrew discussing how exactly these numbers get weighted, I think they are looking really good. I’m now adopting these numbers as the basis for xFantasy from this point on.

There are a few key takeaways from xFantasy so far that will tell us where to go next:

  1. 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.
  2. 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.
  3. 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 will echo Andrew’s repeated recommendations that you should *not* use xFantasy as your projection system of choice in 2017. On average, Steamer will do better (at least for now…I think 2017 could be the year where we finally have enough Statcast data to put up a challenge). 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 10 (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 5×5 $ 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 PAs, playing his way into a spot as the everyday 3B and likely No. 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, and never when he was on my team. He’s been a trendy topic this offseason among 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 SBs 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 Melvin 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:

Woah.

Next time…

I closed out Part 3 by promising xFantasy for pitchers was coming, and it is! Using a model based on scFIP, xOBA, and xBACON, xFantasy for pitchers v1.0 now exists. There’s still work to be done in order to determine how useful it actually is, though!

As I said last time, it’s been fun doing this exploration of rudimentary projections using xFantasy and xStats. Hopefully others find it interesting; hit me up in the comments and let me know anything you might have noticed, or if you have any suggestions.





Ryan works in technical consulting and failure analysis but baseball analysis is his side hustle. Twitter @RyanEBrock and https://GetBigBoard.com/

Comments are closed.