First Half Player Value Analysis
Exploring roto dollar values earned from the first half to find targets and fades for the second half.
Table of Contents
We have a bit of a two-for-one here today as I’m giving paid subs access to a new resource and dropping some analysis at the same time. And shout out to Producer Lee for cooking up new graphics for this!
I’ve coded up a player rater that will update every day with dollar-value earners. This is based on a standard 5x5 league, with those categories being:
Runs
Homers
Runs Batted In
Stolen Bases
Batting Average
Wins
Saves
Strikeouts
ERA
WHIP
It’s my own coding, so it’s probably calculated differently than other player raters out there, but I think my logic was sound enough.
I can ~probably~ make other versions of it using different league types, but I don’t really want to code up like ten different versions of this, so I can’t promise anything if you come asking - but feel free to ask.
Calculation Notes
This part could be helpful to people who want to explore how to do this themselves, this is also super helpful in the preseason for turning projections into dollar values to help with your draft. If you’re not interested in the math, you can skip this section.
Basically, the steps are
Get each player’s stats
Run Z-Scores on each category
This is trickier with ratio stats like batting average. For this, I use hits above average, the calculation for which is Player Hits - (Player AB * League Batting Average). I do the same with ERA and WHIP (using earned runs for ERA and BB+H for WHIP)
Find replacement values in each category at each position (C, 1B, 2B, 3B, SS, OF for hitters, SP and RP for pitchers)
Take the category Z Scores and subtract the replacement value
Average the Z Score together to get one final number
Divide your total $ pool into how many players you want to rank to get a “dollars per player” figure
For hitters I use $260 * 12 * 0.6 - which is $260 total team budget times 12 teams in a standard league time 0.6 because about 60% of drafted players will be hitters most of the time, but you should adjust this for your league settings. And then for pitchers, it’s $260*12*0.4.
Take that final Z-Score from two bullet points ago and divide it by the average Z Score to get “Z Above Average”
Your final $ calculation then is Z above average * dollars per player
Willing to share Python code if you want, just reach out.
Hitters
Direct access to the file, which will be updated daily, is below the paywall.
Catchers
One thing we’ll notice here is that missed playing time hurts significantly. Not only does it hurt your counting stat potential, but it also weakens a good batting average (although is does help a bad one by the same token) because we’re doing HITS OVER AVERAGE instead of just batting average. A .300 batting average in 300 AB is much more helpful to your overall team than a .300 batting average in 250 AB because of #denominators.
Surprise: Jonah Heim
I don’t think Heim was even drafted in the top 12 for catchers during draft season, but he turned in a beautiful first half. The 12 homers and two steals are more par for the course, but the Rangers offense around him has really boosted those runs and RBI, and a .282 batting average as a full-timer is really helpful at the catcher position.
Disappointment: MJ Melendez
Melendez was one of my favorite catchers this year. I figured he would at least give us a good supply of homers - and at most add in some steals and a good supply of runs as an everyday, top of the lineup bat. But that hasn’t materialized. The K% is very high, the home ballpark is a killer, and the Royals offense has been a disaster.
Second Half Buy: Daulton Varsho
12 homers and 11 steals at the break is pretty good, but I don’t think we’ve seen the best of Varsho’s season yet. We didn’t expect much batting average from him, but the .214 mark is well below his xBA of .233. I think he’s a good buy-low right now as a guy that can be a huge difference maker in fantasy if he’s going right.
Second Half Sell: Jonah Heim
Despite the great first half, a lot of that production was front-loaded. I think he’s bound to have a much less effective second half, so I would be trying to offload him for Varsho or one of these other top ten guys if possible.
First Base
I showed a lot of catchers there, but I’ll keep it to just the top 10 from here on. Again, if you’re a paid sub - go click the link below the paywall and get the full data that way.
Surprise: Christian Walker
The K% is down under 18% and that has raised the batting average to a very respectable .265. He has given up a bit of the home run rate he had last year to get there, but 18 homers at the break is pretty strong. He’s also running a bit more this year with six steals - and he was drafted pretty late in drafts.
Disappointment: Rowdy Tellez
Abreu was also considered here, but he’s been turning it around in a hurry lately, but things have gotten worse and worse for Rowdy. He’s been stuck at a dozen homers since May 22nd. 127 PAs without a homer, and that’s from a guy that got almost all of his fantasy value from the long ball. Disaster for Rowdy.
Second Half Buy: Jose Abreu
The guy who has him probably realized the turnaround, but it’s still worth kicking the tires on Abreu.
Second Base
Surprise: Ketel Marte
Another player benefiting from a much improved team context, but Marte has put it together again in 2023. The 15 homers are about what we had come to expect from a full-season sample, and he got there at the break while adding six steals and giving us that expected good batting average. Returning huge value on his ADP this year.
Disappointment: Tommy Edman
Who would have predicted Edman to be hitting .237 at the break? Yikes! The .265 xBA suggests there’s been some bad luck, but honestly a .265 average would be disappointing given his lack of pop. That has kept him off the bases, and therefore has kept the steals count down to just 14. That’s not getting it done in the context of 2023.
Second Half Buy: Andres Gimenez
Pretty miserable first half from Gimenez, but the barrels have shown up again in the last few weeks, and that’s good news. He is still running when he has the chance, and we saw him as one of the most aggressive base steals in the league last year - so any kind of half-decent power production in the second half will make a useful fantasy player, and he can surely be had on the very cheap right now.
Shortstop
It’s pretty shocking to see Lindor at the top and Seager out of the top five, but that’s what 100 extra ABs will do for you. The impact of Seager’s .353 batting average is really brought down by that IL stint, and the one steal hurts quite a bit as well. Lindor takes the top spot by not missing any playing time and racking up 32 HR+SB and adding in 60 RBI.
Surprise: Ha-Seong Kim
There aren’t a ton of surprises here, but I wouldn’t have said Kim could return top 10 value at the loaded position. That’s what he’s done though chipping away to get to double-digit homers and 16 steals while not being awful in anything except for maybe RBI.
Disappointment: Trea Turner
Easiest pick so far. I didn’t even think a .247 batting average was possible for Trea, but here we are. Still on pace to flirt with a 20-40 season, but that’s underwhelming this year. Even more concerning is the fact that the K% is up and the Contact% is down. I expect a strong second half from him, but the ship has probably sailed on him returning first round value this year.
Second Half Buy: Bobby Witt Jr.
It feels like the market is lower on Witt than they should be. Eric Cross had that great tweet the other day about Witt having an insanely quiet near 25/50 pace. I would value Witt Jr. as a top 20 player easily, and I think you can probably get him cheaper than that.
Third Base
Surprise: Spencer Steer
Pretty easy call here. Steer was a sleeper in drafts, but I think a 14 homer, 9 steal, .277 batting average took everybody by surprise.
Disappointment: Manny Machado
He’s way down at just $11.65 with his 15-homer, 3-steal first half on the .261 batting average. He hasn’t contributed super poorly in any category, but he’s been pretty average across the board, not what you want from a second round pick, obviously.
Second Half Buy: Gunnar Henderson
He had a really bad start to the year with a .201/.324/.370 line through May 31st. Since then it’s been .307/.358/.570 with eight homers. I would usually take the full sample instead of cutting it in half, but Henderson is one of these uber-talented young players that warranted some time to let him adjust to big league pitching. It’s a bit more rational to take his recent data more seriously than his full data sample, and the recent stuff has been elite.
Second Half Sell: Josh Jung
Throwing a sell in here because Josh Jung is a clear guy to shop around right now (in redraft formats). We knew he’d hit homers and drive in runs, but we didn’t know he’d put up a decent batting average like he has. He’s done that with a much-improved K% this year, but that is regressing in a hurry right now, and if it keeps up he’s going to be a pretty big bust in the second half. He could certainly lower this and stay in the top three at the position, but he’s a great sell-high right now in my book.
Outfield
Surprises: Christian Yelich, Jack Suwinski, Josh Lowe
Yelich is getting there by being elite in runs and then very good in batting average and steals. I’d have some doubts that he can hit 10 more homers in the second hafl because the launch angle is still in the pits.
Suwinski is a top-20 outfielder this year by virtue of hitting 19 homers and stealing seven bags. The .235 batting average is a fair expectation moving forward, but he’s walking a bunch - which is a good sign for the future.
Lowe has come down as the year has gone on, but he’s still at at a solid 12-19-.276 line in the first half and the counting stats have been okay as a whole. I’d be looking to move off of him for the second half, but he was a guy that was free in drafts so you have to say it’s surprising that he has put top-20 prodution for this long.
Disappointments: Julio Rodriguez, Byron Buxton, Eloy Jimenez
J-Rod has earned just $17.20 despite being the #1 player off the board in a lot of drafts. Those who took him over Acuna must be absolutely miserable.
As for Buxton, we finally get a first half where he stays healthy (he made only one trip to the IL and it was a very short one), and the fruit doesn’t grow with a .208 batting average and only eight steals. Maddening.
And then there’s Eloy, who has been hurt and has also just sucked. Maybe the full Eloy crazy breakout season just will never come.
Second Half Buys: Seiya Suzuki, Kyle Schwarber, Bryan Reynolds
I don’t want to get into the details here, but Suzuki has hit the ball very well this year and just doesn’t have anything to show for it. Schwarber has that game-breaking power to where he could hit 25 homers the rest of the way, and his batting average is bound to come up. As for Reynolds, lots of the stuff under the hood is elite but he sits with just nine homers and eight steals at the break (and that’s after hitting five homers in the season’s first seven days).
Starting Pitchers
Too much here to really break down fully, so dive into the numbers yourself if you’re a paid sub.
The surprises:
Eovaldi
Keller
Eflin
Wells
Kelly
Steele
The biggest disappointments (not counting the injured guys):
Manoah
Lynn
Bieber
Alcantara
Verlander
Urias
Severino
Buys:
Lynn
Burnes
Verlander
Alcantara
Manoah (?)
Canning
Cease
Lodolo
Bobby Miller
Bradley
Crawford
Whitlock
Montgomery
Sells:
Eovaldi
Keller
Wells
Luzardo
Snell
Stroman
Elder
Wacha
Relief Pitchers
I hesitate to even do this because everything is so random and razor-thin with RPs. They pitch so little that a couple of saves and one win makes a massive difference in the ranking, and both of those things are subject to a lot of variance, but here’s your top 20:
Bautista is the top dog at $8.06. There are 29 starting pitchers returning more value than that, which tells a story about the max value a reliever can possibly return given that they throw one-third of the innings.
Almost all of the value comes from the saves. You have Kimbrel popping up into the top six there because of the random five wins. ERA and WHIP aren’t nearly as important as people think, because again - a very small percentage of your fantasy team’s innings will be thrown by relievers, so they just can’t have a big impact no matter what they do.
To me, this is just a lesson in not paying for saves during drafts. You can, and I have, made a case for it in those draft and hold leagues where you can’t pick guys up or trade after the draft, but in a standard league it remains pretty foolish to be the first man into the closer pool.
Alright and now we hit the paywall, there’s nothing below there besides the link to the Google Sheet that will refresh these $ values every day, but become a paid sub today anyways! You will certainly get your $7/month worth in the second half and even in the offseason where I plan on doing a ton of baseball stuff here straight through the winter.