post

2019 FreezeStats Hitter Projections Revisited – Fantasy Baseball

Every year I run as many player projections as I physically can given my personal time constraints. I then compare each player’s final results to my projections at the end of the season to see how accurate (or inaccurate) I was. It also helps me determine where and why I was wrong to help correct these issues for the future. Of course, projections are extremely difficult due to the countless number of variables and the sheer length of the season. For reference, here is the link to my article from last year comparing my 2018 FreezeStats Projections to the final 2018 results. Additionally, here is the link to the Google Sheet.


You’ll notice that I use all positive values when I run my Z-Scores which is not the way your statistics professor teach you to run them. However, in this case, I’m running Z-Scores compared to the difference in a statistical category from my projection to what actually happened. So, using the absolute value of the difference is the most accurate way to go if I want to compare the accuracy of each categorical statistic for each player. In addition to the standard 5-roto categories, I also include OBP (for you OBP leaguers out there) and plate appearances. Why? Because you can’t even start a projection for a hitter without determining his plate appearances. Thus, it may be the most important statistic to project and will help determine the validity of a projection. Here is the complete Googlesheet with all the data goodness from my 2019 FreezeStats Projections. Without further ado, let’s dive into the best or worst projections.

Projections with High Categorical Correlations

Adam Jones (OF – ARI)
As it turns out, my most accurate projection (by sum of Z-scores) was veteran outfielder Adam Jones. I suppose projecting a durable veteran with consistent year-to-year numbers isn’t all that surprising. However, I overestimated a little in plate appearances. I had him for 575 PA and he finished with 528 PA. The rest looked almost identical. I pegged his home runs and steals, missed his RBI by three, runs by two, AVG by .005 and OBP by just .001. 

Kris Bryant (3B – CHC)
I was down on Bryant coming into 2019 and nearly nailed his projections. He was dealing with injuries in 2018 so there was a high probability for a rebound but I didn’t see the superstar numbers coming back and I was right. My projections matched three of Bryant’s final numbers in AVG – .282, home runs – 31, and steals – 4. I missed his plate appearance total by just six and was very close on runs, RBI, and OBP. Being a Cubs fan, I’ve seen enough of KB to know who he is. The juiced ball dwarfed his numbers a bit even though he still managed a very productive season.



Ryan Braun (1B/OF – MIL)
What do you know, another veteran! Braun always misses time. You can bank of 125-135 games from him every year. The lower plate appearance projection actually allows me to provide more accurate projections. He still has some power, speed, and decent contact rates. As I mentioned earlier, the projection starts with the PA total and goes from there. 

J.D Martinez (OF – BOS)
Martinez’s numbers did not appear to be aided by the juiced ball. This helped my projections match his final numbers. With almost five years of consistent metrics from JDM, is a player I can count on and feel confident with where his numbers ultimately lie. His elevated BABIP and high home run rate helped me peg his AVG and OBP. I slightly over-projected his home run total but the runs and RBI are once again very high hitting cleanup for a great Red Sox lineup.

Domingo Santana (OF – SEA)
This one is interesting. Domingo was granted a fresh start in Seattle making him a prime bounce-back candidate in 2019. However, I was not projecting a career-year that matched his 2017. I thought he played over his head a little bit that season. So, I lowered his home run total based on his low fly ball rate but given his quality of contact, kept his BABIP elevated. That’s how I nailed his average and home run total. Not knowing exactly where he would hit in the order threw off the run and RBI totals a some, but still relatively close. 

Adam Frazier (2B – PIT)
I was a fan of Frazier as a deep league option for batting average and runs in 2019. Unfortunately, he did not take advantage of the juiced ball and took a step back in xwOBA. I just about nailed his PA and rate stats but inflated his home run and stolen base totals expecting a step forward in those departments. 

Brandon Crawford (SS – SFG)
I’m surprised I even projected Crawford. I thought he might be too deep but he plays every day because of his elite defense. I was not a fan of his heading into the season and he actually performed worse than my projections but is was close. His metrics are extremely underwhelming and his skills are declining. I don’t expect more than 500 PA for Crawford next year and he may be out of the league by 2021.

Justin Turner (3B – LAD)
Like Braun, Turner is a veteran talent who regularly misses time due to injury. Turner’s skills are strong and extremely consistent year-to-year. I’ve said it before, if Turner could get 650 PA, he would be a borderline top-25 player. His contact rates are strong as are his quality of contact skills, so he’d be a beast in four categories IF he ever stays healthy. So again, being accurate on his PA turned out to be the main factor in Turner’s projection. 


Michael Conforto (OF – NYM)
Did Conforto disappoint in 2019? Of course not. He hit 33 homers, drove in 92 runs, and stole seven bases. That’s a great year if it was 2018 or 2015 but it was 2019. Remember, my projections were made prior to the knowledge that the ball was juiced, so I was expecting a step forward for Conforto but he didn’t quite deliver the breakout some (including myself) were hoping for.

C.J. Cron (1B – MIN)
Other than an absurdly low run total for Cron in 2019, I just about predicted his season numbers to a tee. Again, thanks to an accurate plate appearance projection, the rest of the numbers fell into place. The home run and RBI totals were just a hair higher but that may have been juiced ball aided. He’ll be an interesting sleeper in 2020 after posting a career-best 15% barrel rate and cut his strikeout rate by nearly four percent. The lineup in Minnesota remains stacked but unfortunately for Cron, Cruz still occupies the DH. If Cron can get 140 games at first base, we could be talking about a career-year that looks something like .275-32-95.

Nick Ahmed (SS – ARI)
Um, so apparently, I projected Nick Ahmed’s mini-breakout? Had I known that I did this, I might have called it out on Twitter or something. I completely pegged his 19 homers (a career-high) and nearly nailed his AVG, OBP, and steals. He was coming off a career-high 16 home runs in 2018 at age-28 but he also cut his K-rate and improved his BB-rate with the metrics to back it up. There are two ways to project this type of performance. Call it career-year and negatively regress closer to the player’s baseline or trust the skills growth from the previous season and create a new baseline. I took the later. Maybe the juiced ball had something to do with his power but Ahmed took another step forward in terms of his plate approach as well. You better believe I’m expecting more of the same in 2020 from Ahmed at age-29.

Tyler Flowers (C – ATL)
T-Flow is an interesting case. It’s not difficult to project his stolen base total but I also nabbed his home run total and was very close on his OBP. My projections essentially had his playing time at a 50/50 split with declining skills, so the fact that this projection is a hit isn’t all that surprising from a 33-year-old catcher. 

Mitch Moreland (1B – BOS)
Moreland is another part-time veteran that is extremely consistent year-to-year. I was a little lower on his PA projection and the juiced-ball certainly helped aid in his 19 homers, but otherwise, this was a close projection. He’s been the same player for the last six years, so why would he change now? Same ol’ Mitch.

Mike Moustakas (2B/3B, MIL)
Unfortunately, Moustakas failed to reach the 40-homer plateau but still have a quietly productive season. I blame the juiced ball for the slightly inflated offensive numbers but you know what you’re getting from Moose. He had no business scoring 80 runs with under 600 PA and a .323 OBP but playing in Milwaukee with the juiced ball with do that for you. 

Projections with Poor Categorical Correlations

Travis Shaw (1B/2B/3B)
Boy was I off on this one. Not by a little but probably more than anyone was ever off about anyone. Who would have guessed that a player in his prime with back-to-back 30-homer seasons would end up with just seven! He only had 270 PA, was sent to the minors and hit an embarrassing .157. Wow, just wow. To be fair, no one could have projected a decline like this but I thought he would improve! Ugh, I apologize to anyone who listened to me on this one. 


Justin Upton (OF – LAA)
This can be chalked up to the toe injury Upton suffered literally right before the start of the season. Without a clear timetable, I only had him missing about two weeks. He ended up missing a total of almost four months between the toe injury and a knee injury that ended his season. He never really got going, but if you project his home run total out, you get very close to the 29 HR I projected. 

Pete Alonso (1B – NYM)
Here is an example of what a poor plate appearance projection can do. I never adjusted his plate appearances up after the Mets announced Alonso would start the season with the big club. I had him at 410 PA compared to his amazing 693! I projected Alonso for 24 homers in those 410 PA which projects out to 41 home runs in 693 PA. Considering my projection was pre-juiced ball, that isn’t an awful total. Also, I had his AVG in the .240s because I thought he would have a 29-30%% K rate in the majors. So kudos to Alonso for smashing even my relatively lofty expectations on the way to the 2019 Rookie of the Year.

Joey Gallo (OF – TEX)
Gallo is another injury case but also made a change in approach. He significantly lowered his launch angle (and fly ball rate as a result) which improved his BABIP and batting average. He maintained mammoth power and a strikeout rate far north of 30%. The injuries caused him to miss a ton of time so my projections pegged him for twice as many PAs. If you double his R, HR, and RBI, it’s a win on my end. I’ll take it, I guess. 

Aaron Hicks (OF – NYY)
This will be the last injury guy that I’ll talk about. Of course, I’m going to miss on guys that lose huge chunks of the season due to an injury. The difference between Hicks and players who were hurt after the season already began is number one, his history and number two, he was questionable to start the season due to a back injury suffered during spring training. Back injuries linger and I failed to adjust my plate appearance projection for Hicks docking him only two weeks of playing time. Going forward, in regards to players with injuries in the preseason (especially back, obliques, or arm injuries for pitchers) I’m going to downgrade and try to stay away from no matter how much I may love them. Other players I missed due to injury (after the start of the season) include Andrew McCutchen, and Mitch Haniger. 

Brandon Nimmo (OF – NYM)
I wasn’t expecting another step forward from Nimmo even though I projected his 2018 breakout. I thought he was good in 2018 but out-performed his metrics. Nimmo is technically an injury case but he was healthy through the first two months of the season and he was terrible. I expected a little bit of negative regression but what we got was a strikeout rate north of 30% and no power to speak of. He’s a curious case for 2020 as he’ll only be 27 and be dirt cheap. I suspect I may be back in after pick 250. 


Ian Kinsler (2B – SDP)
Nope, nope, nope! It’s safe to say Kinsler’s career is over. I’m not entirely sure what I saw in Kinsler’s profile that made me think Kinsler could hit .250 with 17 home runs at age-36. This was a poor projection and I’ll be the first one to admit it. 

Jorge Soler (OF – KCR)
Here is a projection that I was far too low on. I would imagine, most people were. I mean, he led the AL with 48 home runs for crying out loud! One issue for me was his strikeout rate that improved in 2018 but I wasn’t fully buying it. Also, his previous HR/FB rates were relatively pedestrian. There was nothing in his profile that showed an improvement that would result in a 20%+ HR/FB. Now, to my credit, I noticed his increased launch angle in the spring and I projected a potential power breakout, just nowhere near the final results. I guess I should have listened to myself but ended up with only one share.

Jose Peraza (2B/SS – CIN)
I was fading Peraza in 2019 and I owned him nowhere, that’s the positive side of things. His metrics were awful in 2018 and he “lucked” his way to 14 home runs. I dropped him to just nine HR which was correct but still projected him for 25+ stolen bases which is where I missed. That and the batting average. He just straight tanked. 

Cody Bellinger (1B/OF – LAD)
Ranking Rhys Hoskins over Cody Bellinger was a huge mistake. Where I missed with Bellinger is making the determination that his true skill level fell closer to 2018 than in 2017. I failed to realize that we were dealing with a 23-year-old phenom who hit 39 home runs as a rookie. He made strides from year-1 to year-2 by cutting his strikeout rate but made an unpredictable jump from year-2 to year-3. That’s my mistake. I projected him closer to a 25% strikeout rate and he finished with an impressive 16.3%! Amazing. That will add about 30 points to one’s batting average. Combine that with the juiced ball and you have the 2019 version of Cody Bellinger. I don’t expect 47 homers again, but 40 seems about right.

Rafael Devers (3B – BOS)
Devers is another young player where I failed to project significant improvements. While I did expect improvements in batting average and home runs, it was nowhere near the jump he made in 2019. So while I wasn’t completely out on Devers, I just missed on his superstar breakout. Oh well. My lesson learned is that maybe year-three is the time to buy into a young prospect who had high pedigree regardless of the previous year’s performance. 

Ryan O’Hearn (1B – KCR)
After a hot final two months of 2018, I expected better numbers from O’Hearn. He showed that his power was real even if it would come with a low batting average. His power was just OK and boy was he ever a batting average drain finishing below the Mendoza line. He’s a guy where I fell in love with the Statcast metrics (12.5% barrel rate, 44.2 hard hit%, solid batted ball profile, etc). I failed to notice that he was extremely poor against offspeed and breaking pitches where his whiff rate was north of 42% on both pitch types. A few good outcomes boosted the small sample numbers against those pitches for O’Hearn in 2018. In 2019, larger samples and regression set in. He actually made a few slight improvements and was unlucky against fastballs. He might just be a deep-league option in 15-team and deeper formats in 2020. Maybe.

Follow me @FreezeStats. Check out my work at FantasyPros and Pitcher List.




Photo by: Patrick Gorski-USA TODAY Sports

post

Fantasy Baseball – 2019 Starting Pitcher Streamer Results

Every week this year (with a couple of exceptions) I wrote an article on Sunday that went over starting pitchers to stream for the week ahead. The parameters were based on ownership rates per FantasyPros consensus ownership rates. FantasyPros combines Yahoo! and ESPN ownership rates. To be eligible, pitchers had to be available in at least 75% of leagues or owned in 25% or fewer in fantasy leagues. The article was geared towards 12-team leagues because many of the options are owned in deeper formats. I chose anywhere from four to eight starter-qualified pitchers each week and kept track of their statistics from those outings.

This is the second year I kept track of every start but it’s difficult to compare the two years because of the juiced ball. So, to do so I’m going to look at the league-wide statistics for all starting pitchers in 2018 and 2019.


SP Statistics Year to Year

SeasonW/GS (%)IP/GSERAWHIPK/9
201831.2%5.364.191.298.25
201929.8%5.184.541.328.58

As you can see, ERA took the biggest hit from 2018 to 2019 thanks in large part to the record-breaking number of home runs this season. In addition, the percentage of starts that resulted in a win for the starter also dwindled this year. There are a couple of obvious reasons for this. First, the opener became more prevalent in 2019. Openers only pitched one-to-two innings and therefore, did not qualify for a win. We also saw a dip in the average number of innings per start, again partially related to the opener but also some managers (*cough* Craig Counsel *cough*) pulled their starters before facing a lineup for the third time. So, yearly context is important here. A telling statistic not shown in the table above is the home run rate by starting pitchers. In 2018, it was 1.21 HR/9 and ballooned to 1.44 HR/9 in 2019. We used to look at a pitcher with a home run rate at 1.5 per nine innings and say he’s dealing with a homer problem, now it’s essentially league-average!

Below are my final statistics from both 2018 and 2019 for all the streamers I included in my articles. Also, here is the complete GoogleSheet with all of my streamers and results complete with the link to each article.

2019 Starting Pitcher Streamers - FreezeStats

IPERAWHIPKWQS
653.993.911.226435251
StartsIP/StartK/StartK/9W/StartQS/Start
1225.365.278.8542.62%41.80%




I apologize for the format of the table, I wanted to include all of the information but tried to make sure it wasn’t 12 columns wide. Given the context of pitching in 2019, I’m content with these results. Ultimately, I put together some poor weeks overall but also finished strong with two fantastic weeks to close 2019. Of course, my ratios took a hit compared to 2018 but when you consider the increases in ratios from 2018 to 2019, the results are more than passable. Overall, I totaled 654 innings pitched across 122 starts. The results of the ERA (3.91) are better than the following starters: Zack Wheeler, Yu Darvish, Michael Pineda, Max Fried, Noah Syndergaard, and Chris Sale among others. The WHIP (1.22) is better than Noah Syndergaard, Mike Minor, Trevor Bauer, Zack Wheeler, Aaron Nola, Blake Snell, and James Paxton among others. That’s all pretty solid but let’s see what this starter would look like if I broke down these results into a typical, healthy, starter for all of 2019. A healthy starter should compile 32 to 33 starts across a full season, so let’s see what our imaginary streaming SP looks like.

Since my streamers averaged 5.36 innings per start, that puts us around 172 innings pitched+/-. That means that with an 8.85 K/9, our theoretical SP would have 169 strikeouts. Then, with a win percentage of 42.62%, that gives our guy 13.6 wins with 32 starts or 14 wins with 33 starts. Finally, the ratios are easy, our streaming SP would have a 3.91 ERA and a 1.22 WHIP. Now, let’s comb through the player pool to see what type of pitcher we have here. Most of the pitchers with 14 wins this year have better ratios and/or strikeout rates, so I’m going to focus on ERA, WHIP, and K/9 for comparison sake.

Here are the names I’ve come up with: Anthony DeSclafani, Chris Bassist, Zack Wheeler, and Michael Pineda. Bassitt and Pineda only threw 140-ish innings, so they aren’t perfect comps. DeSclafani threw 166.2 innings but only managed nine wins, so his overall value will be a little lower than our theoretical SP even though they have a similar strikeout total and ratios. Zack Wheeler might end up being the better comp for value purposes. He only earned 11 wins, had a 3.96 ERA, and 1.26 WHIP. Our SP bested him on all three categories, BUT Wheeler struck out 195 batters which are 26 more than our SP. Per the Razzball Player Rater, the value of 26 strikeouts is about $2. The difference between three wins is also about $2. 


Since I mentioned the Razzball Player Rater, Zack Wheeler was ranked as the 39th starting pitcher in 2019 with a dollar value of $7.1. For reference sake, Anthony DeSclafani (who had a fine year mind you) earned $5.3 and ranked as the 48th SP. So, instead of paying up for Wheeler, a popular hype pick coming into 2019, you could have streamed all of my recommended pitchers and gotten the value of 3.5-Zack Wheeler’s without spending the draft cash on him. I would bet that Wheeler probably went for around $16-$18 in standard 12-team auction drafts.

This was a fun exercise but obviously, you will never be able to stream all of my recommended starters because of your league and team context. The point of the supersize is it goes to show that you can add value to your team if you stream and stream properly. To close out, I want to highlight some of my most-streamed pitchers from 2019. Pablo Lopez (7 times), Dinelson Lamet (6 times), Griffin Canning (6 times), Tyler Mahle (6 times), Merrill Kelly (5 times), Trevor Richards (5 times), and a bunch of guys three or four times. I somehow was able to stream Mike Soroka twice in week five because his ownership was still below 25%. I also was able to stream Lance Lynn in week 9! He had a hell of a season, I am very surprised to find him there owned in 25% or fewer of leagues.

I hope you enjoyed this weekly article series and if it helped you out, even once, then I’ll take it! Thanks for reading!

Follow me @FreezeStats. Check out my work at FantasyPros and Pitcher List.


Photo Credit: Jasen Vinlove / USA Today