MLB Daily Notes - July 8th
A daily automated report of what happened yesterday in Major League Baseball, along with other recent trends and further analysis.
Here is where I’m at in all my leagues right now
Home League: 8th of 10
Subscriber League: 10th of 15
NFBC Draft Championship: 12 of 15
NFBC 50s #1: 6th of 12
NFBC 50s #2: 9th of 12
TGFBI: 3rd of 15
One good result so far (and that’s the league with no prizes!), just a pathetic showing from cha boy. Does that mean you should stop listening to me? Absolutely not. Every time I lose - it’s just bad luck.
The thing I am holding on to is my DFS success. I took 4th in the $10 Hundo yesterday. I’ve just been ripping those apart. I’ve played it 26 times and have profited $219. I’ve cashed 27% of the time, have won it twice, and have 4th and 5th place finishes as well. It’s mostly good luck, as is anything in the DFS/betting world, but the projection model gets some of the credit as well. I’m really just playing something that looks a lot like the optimal from my projections, and it’s worked over this pretty small sample.
Pitcher Review
Edward Cabrera returned and struggled.
3.2 IP, 4 H, 2 ER, 4 K, 1 BB, 42.7% Strike%, 42.7% Ball%
He was true to himself, throwing a bunch of pitches out of the strike zone. That sentence reminded me that I once coded a Python plot to plot pitches thrown. Here’s the plot:
The problem I have with it, and the reason I stopped using it, is that it’s hard to draw the correct strike zone. Let’s compare mine to Savant:
Let’s narrow it down a bit to really compare. Here are his 0-0 pitches from both plots:
That’s pretty good, honestly. It looks like I’m missing that low slider, probably because I restricted the y-axis to a minimum of zero. But you don’t care much about that. Maybe I’ll start using this plot more now that I have remembered it exists. I would share the code for the Python bros, but I cannot find it!
Anyways, Cabrera now has six starts and 24 innings and has done this:
49.6% Strike%, 37.7% Ball%, 14.3% SwStr%, 30.7% K%, 13.2% BB%
He will have some very bad starts, but he will have some very good ones. He’s not the worst pickup in the world in a deep league.
Luis Gil snapped back with a 9:0 K:BB. It’s good to see that he’s not completely broken.
He will continue this up-and-down production. I’m not sure how long he can stick in the rotation if he’s not pitching well. They have an interest in limiting his innings given the recent history. So, I would take this opportunity to try to trade him again.
DJ Herz let us down:
4.1 IP, 5 H, 4 ER, 5 R, 4 K, 2 BB
But under the hood, it wasn’t bad:
13.7% SwStr%, 51% Strike%, 36.3% Ball%
Did he maintain his five checkmarks!?
Yes he did! He’s right on the edge of that SwStr+Ball MFQ one with his 34.5% Ball% on the year. But he sits here now after seven starts and 582 pitches with a fantastic 14.9% SwStr% and 50.2% Strike%.
Your pitchers with at least seven starts and a Strike% above 50%:
Skenes, Crochet, Sale, Skubal, Schwellenbach, Woo, Ryan, Yamamoto, Ober, Kirby, Glasnow, Pivetta, Estes, Bibee, Jones, Flaherty, Crawford, Herz, S Gray
That’s an impressive list of pitchers, showing you that this is not an easy thing to do. And it’s good news for the prospects of continued success from guys like Schwellenbach, Herz, and Estes.
Michael Mercado got jacked up:
1.2 IP, 5 H, 5 ER, 1 K, 3 BB
57 pitches and just 20 strikes. We did not buy into him after his first good start, so shout out to us.
There is no better time to sell Reynaldo Lopez than now. He once again put up a fantastic result in the box score:
6 IP, 2 H, 0 R, 6 K, 3 BB
That lowered his ERA to 1.71, the best in the league. You will have noticed that he wasn’t on our Strike% list.
SwStr%: 12.9%
Strike%: 48%
Ball%: 35.3%
K%: 25.9%
BB%: 9.2%
BABIP: .269
SIERA: 3.89
There is no such thing as a 1.71 ERA that isn’t due for regression, but in this case, it’s just ridiculous. It’s out of hand.
We have a lot of hitters to get to, and not much else all that interesting happened on the pitcher front yesterday, so let’s move forward.
Hitter Review
I have yet to mention Brooks Lee here. He’s a Twins prospect who has been playing every day since the Royce Lewis injury. Here is what he did in the minors from 2023-2024:
674 PA, .282/.353/.473, .826 OPS, 15.7% K%, 9.9% BB%, 22 HR, 9 SB
So far in the Majors:
21 PA, .474/.476/.684, 1.160 OPS, 1 HR, 11.1% Brl%, 33% Hard-Hit%, 9.5% K%, 4.8% BB%, 86% Contact%, .425 xwOBA, .471 BABIP, 44% GB%, 17% FB%
That’s a lot of numbers thrown at you from a very small sample size. He has shown the ability to barrel the ball and has made contact a very high rate, so those are good signs. Of course, there’s a lot of luck here early on with the BABIP and whatnot.
But if we’re evaluating a rookie in one week’s worth of time, we want to see:
High Contact%
A Barrel or Two
Contact rates stabilize pretty quickly, so this 86% mark is at least somewhat meaningful. And I say a barrel or two just so we know that it’s possible. Some guys can’t get a ball up in the air at 98+ miles per hour, so seeing a guy do it once tells you a little bit of something.
I was going to give you some marks on his bat speed, but he’s a switch hitter, so the sample size is even smaller. He’s swung the bat 21 times as a lefty and four times as a righty. So far, the swing speed is below average, but this is too few swings to draw conclusions from.
I would add him in 12-team leagues or deeper.
Gabriel Moreno is coming to life with a 1.359 OPS since June 20th on an elite .478 xwOBA.
He had just a .350 SLG and a .700 OPS on May 15th, but since then he’s at a .418 SLG and a .732 OPS, so he’s been a bit better. The batting average should be there (at least relative to other catchers), so you can start him in those weird leagues where the league starts 20+ catchers.
Byron Buxton has also been very good for the last three weeks:
.368/.413/.772, 5 HR, 18.2% Brl%, 22% K%, 3% BB%, .441 xwOBA, 39% FB%
He’s hitting a bunch of fly balls and he’s hitting them hard (64% hard hit%), so you’re getting a bunch of production from Buxton now, making up for all that crap early on.
There are ten hitters with at least 60 PAs and an OPS over 1.100 over these last three weeks, here they are:
Miranda, Nimmo, and Happ are the only ones that might be available on waivers, so here are more names above .970:
Looks like Spencer Horwitz has found the barrel a few extra times lately while maintaining that very high walk rate and not striking out much at all (12% last three weeks). He’s someone to consider, but I’d probably only want him in an OBP league.
How about the season Mark Vientos is having?
.295/.347/.558, .905 OPS, 11 HR, 14.9% Brl%, 25% K%
That’s nearly a magic formula qualifier. Really impressive stuff.
He is available in some leagues, so there’s an option if you need a power source. His 90th percentile exit velocity is 108.2, a very strong number. There are only about 20 hitters better than him on that front, so the homers will continue to come - and it’s really good to see a manageable strikeout rate.
Matt Wallner is back for the Twins and hit a ball 116.8 miles per hour. There are only 14 hitters that have exceeded 116 this year. Here are those names along with their max EVs for the year:
Oneil Cruz 121.5
Giancarlo Stanton 120.0
Shohei Ohtani 119.2
William Contreras 118.1
Vlad Guerrero Jr. 117.6
Ketel Marte 117.0
Bobby Witt Jr. 116.9
Matt Wallner 116.8
Yordan Alvarez 116.8
Fernando Tatis Jr. 116.7
Jose Ramirez 116.6
Pete Alonso 116.3
Aaron Judge 116.1
Adolis Garcia 116.1
I don’t think Wallne will play a ton, but he can certainly hit the long ball when he’s in there. Since last season:
18.9% Brl%, 19.2 PA/HR, 33.7% K%, 62% Contact%
Lots of swing-and-miss, but when he runs into one, he really runs into one.
Reader Question
How much longer should we hold on to Nolan Jones? Is there any hope for a 2nd half bounce back
~ Jason H
It’s a pretty bleak picture. For the season:
.187/.281/.303, .584 OPS, 3 HR, 5.3% Brl%, 49.5% Hard%, 34.8% K%, .278 xwOBA, 48% GB%
We knew he would strike out, but we thought he would hit enough homers and steal enough bases to make it work. The barrels haven’t been there because he’s been unable to lift the ball.
He’s been better at home, but still bad with a .628 OPS and just one homer on a .290 xwOBA.
How about since returning from the IL?
.213/.342/.344, 2 HR, 7.9% Brl%, 32.9% K%, 15.8% BB%, .340 xwOBA, 47% GB%
A bit better there.
I am really hesitant to say you can drop him off. In a 10 or 12-team league, you can drop him, but I might be holding out for a bit longer in deeper leagues. Remember what he did last summer (from July on):
301 PA, .286/.382/.544, .926 OPS, 29% K%, 13% BB%, 15 HR, 15 SB
That’s a 30-30 player there. Things aren’t going in that direction this year so far, but the upside is still there. I could see him ripping off a very useful second half.
And that’ll do it for the notes today, welcome to a new week!
Pitcher Reports
Algo SP Ranks - Yesterday
1. Tarik Skubal
2. Nathan Eovaldi
3. Grayson Rodriguez
4. Kyle Gibson
5. Kutter Crawford
6. George Kirby
7. Dylan Cease
8. Tanner Gordon
9. Luis Gil
10. Hayden Birdsong
11. Simeon Woods Richardson
12. DJ Herz
13. Luis L. Ortiz
14. Brady Singer
15. Ryne Nelson
16. Edward Cabrera
17. Justin Wrobleski
18. Spencer Arrighetti
19. Jose Berrios
20. Reynaldo Lopez
21. Carlos Carrasco
22. Sean Manaea
23. Graham Ashcraft
24. Jonathan Cannon
25. Hayden Wesneski
26. Mitch Spence
27. Zack Littell
28. Jose Soriano
29. Michael Mercado
30. Dallas Keuchel
Fantasy Points Leaders - Yesterday
1. Tarik Skubal (vs. CIN): 41.95 Points
2. Luis Gil (vs. BOS): 28.61 Points
3. Brady Singer (vs. COL): 26.95 Points
4. Reynaldo Lopez (vs. PHI): 26.5 Points
5. Kutter Crawford (vs. NYY): 25.35 Points
6. Ryne Nelson (vs. SD): 24.61 Points
7. Nathan Eovaldi (vs. TB): 23.35 Points
8. Grayson Rodriguez (vs. OAK): 23.3 Points
9. Sean Manaea (vs. PIT): 22.5 Points
10. Dylan Cease (vs. ARI): 22.15 Points
Whiffs Leaders - Yesterday
1. Tarik Skubal (DET): 24 Whiffs (93 Pitches)
2. Kyle Gibson (STL): 18 Whiffs (96 Pitches)
3. Grayson Rodriguez (BAL): 17 Whiffs (95 Pitches)
4. Nathan Eovaldi (TEX): 16 Whiffs (88 Pitches)
5. Dylan Cease (SD): 16 Whiffs (103 Pitches)
6. George Kirby (SEA): 16 Whiffs (93 Pitches)
7. Luis Gil (NYY): 15 Whiffs (96 Pitches)
8. Brady Singer (KC): 14 Whiffs (86 Pitches)
9. Edward Cabrera (MIA): 14 Whiffs (82 Pitches)
10. DJ Herz (WSH): 14 Whiffs (102 Pitches)
Strike% Leaders - Yesterday
1. Tarik Skubal (DET): 59.1 Strike%, 28.0 Ball%
2. Dylan Cease (SD): 56.3 Strike%, 27.2 Ball%
3. Tyler Phillips (PHI): 54.7 Strike%, 30.2 Ball%
4. Ryne Nelson (ARI): 54.0 Strike%, 26.4 Ball%
5. Reynaldo Lopez (ATL): 52.7 Strike%, 31.9 Ball%
6. Justin Wrobleski (LAD): 52.6 Strike%, 30.3 Ball%
7. Luis L. Ortiz (PIT): 52.3 Strike%, 29.1 Ball%
8. George Kirby (SEA): 51.6 Strike%, 30.1 Ball%
9. Kutter Crawford (BOS): 51.5 Strike%, 20.6 Ball%
10. Tanner Gordon (COL): 51.3 Strike%, 20.5 Ball%
11. Carlos Carrasco (CLE): 51.2 Strike%, 30.2 Ball%
12. DJ Herz (WSH): 51.0 Strike%, 36.3 Ball%
13. Kyle Gibson (STL): 50.0 Strike%, 36.5 Ball%
14. Luis Gil (NYY): 50.0 Strike%, 35.4 Ball%
15. Ryan Yarbrough (LAD): 50.0 Strike%, 37.5 Ball%
Pitches/Out (POUT) Leaders - Yesterday
1. Kutter Crawford: 68 Pitches, 21 Outs, 3.24 POUT
2. Brady Singer: 86 Pitches, 21 Outs, 4.1 POUT
3. Tanner Gordon: 78 Pitches, 19 Outs, 4.11 POUT
4. Nathan Eovaldi: 88 Pitches, 21 Outs, 4.19 POUT
5. Ryne Nelson: 87 Pitches, 20 Outs, 4.35 POUT
6. Tyler Phillips: 53 Pitches, 12 Outs, 4.42 POUT
7. Tarik Skubal: 93 Pitches, 21 Outs, 4.43 POUT
8. Hayden Wesneski: 86 Pitches, 19 Outs, 4.53 POUT
9. Luis L. Ortiz: 86 Pitches, 18 Outs, 4.78 POUT
10. Simeon Woods Richardson: 88 Pitches, 18 Outs, 4.89 POUT
Velo Changes - Yesterday
Dylan Cease's CU velo (21 pitches) UP 3.2mph to 84.0
DJ Herz's SL velo (24 pitches) UP 3.0mph to 86.1
Ryne Nelson's FC velo (15 pitches) UP 2.7mph to 90.9
Jose Berrios's CH velo (16 pitches) UP 2.4mph to 86.6
George Kirby's SL velo (18 pitches) UP 2.2mph to 88.8
Tarik Skubal's CH velo (29 pitches) UP 1.9mph to 87.2
DJ Herz's CH velo (30 pitches) UP 1.8mph to 84.7
Edward Cabrera's SL velo (10 pitches) UP 1.6mph to 89.9
Jose Berrios's FF velo (20 pitches) UP 1.6mph to 95.8
Jose Berrios's SV velo (29 pitches) UP 1.5mph to 84.3
Grayson Rodriguez's FF velo (41 pitches) DOWN -1.6mph to 95.3
Reynaldo Lopez's SL velo (23 pitches) DOWN -1.7mph to 84.5
Carlos Carrasco's SL velo (19 pitches) DOWN -2.0mph to 81.8
Sean Manaea's ST velo (17 pitches) DOWN -2.7mph to 75.7
Pitch Mix Changes - Yesterday
DJ Herz's SL usage (23.5%) up 13.1 points
Dallas Keuchel's SI usage (64.9%) up 20.1 points
Jonathan Cannon's FC usage (30.3%) up 11.1 points
Jose Soriano's SI usage (46.6%) up 10.1 points
Jose Soriano's SL usage (17.8%) up 12.5 points
Luis Gil's SL usage (35.4%) up 17.1 points
Luis L. Ortiz's SL usage (47.7%) up 12.5 points
Ryan Yarbrough's FF usage (26.8%) up 20.0 points
Sean Manaea's SI usage (46.1%) up 26.1 points
Simeon Woods Richardson's FF usage (51.1%) up 10.0 points
Spencer Arrighetti's CH usage (19.8%) up 13.1 points
Zack Littell's SL usage (44.6%) up 11.0 points
Pitch Mix Changes - Last 3 Starts
Luis Severino Sinker: +26.0%
Lance Lynn 4-Seam Fastball: +19.6%
Tanner Bibee Curveball: +18.9%
Carlos Rodon 4-Seam Fastball: -18.2%
Tyler Glasnow 4-Seam Fastball: -16.5%
Christian Scott Slider: -16.5%
Kyle Hendricks Curveball: +15.6%
Yariel Rodriguez Slider: -15.4%
Luis Severino 4-Seam Fastball: -15.4%
Emerson Hancock Sinker: +15.3%
Bryce Miller 4-Seam Fastball: -15.2%
James Paxton 4-Seam Fastball: -15.1%
Graham Ashcraft Cutter: +14.7%
Graham Ashcraft Sinker: -14.4%
Hunter Brown Sinker: +14.4%
Mitch Keller Curveball: +14.3%
Emerson Hancock 4-Seam Fastball: -13.9%
Spencer Schwellenbach Split-Finger: +13.5%
Tyler Glasnow Sinker: +13.2%
Ryne Nelson Cutter: -12.5%
Luis Gil Slider: +12.5%
Cal Quantrill Cutter: +12.4%
Kyle Hendricks 4-Seam Fastball: -12.3%
Jonathan Cannon Sweeper: -12.1%
Griffin Canning 4-Seam Fastball: +12.0%
Jose Soriano Sinker: +12.0%
CSW% Leaders - Last 3 Weeks
Kutter Crawford - 71 TBF, 37.7% CSW%
Tarik Skubal - 97 TBF, 37.4% CSW%
Bailey Ober - 78 TBF, 36.8% CSW%
Spencer Schwellenbach - 94 TBF, 34.0% CSW%
Garrett Crochet - 95 TBF, 33.6% CSW%
Andrew Heaney - 96 TBF, 33.3% CSW%
Joe Ryan - 99 TBF, 33.2% CSW%
Jameson Taillon - 76 TBF, 32.1% CSW%
Mitch Keller - 79 TBF, 31.8% CSW%
Brandon Pfaadt - 95 TBF, 31.6% CSW%
K% Leaders - Last 3 Weeks
Dylan Cease - 91 TBF, 35.2% K%
Tarik Skubal - 97 TBF, 35.1% K%
Bailey Ober - 78 TBF, 34.6% K%
Pablo Lopez - 93 TBF, 34.4% K%
Seth Lugo - 96 TBF, 32.3% K%
Cole Ragans - 100 TBF, 32.0% K%
Garrett Crochet - 95 TBF, 31.6% K%
Paul Skenes - 102 TBF, 31.4% K%
Andrew Heaney - 96 TBF, 31.2% K%
Tanner Bibee - 90 TBF, 31.1% K%
K-BB% Leaders - Last 3 Weeks
Tarik Skubal - 97 TBF, 30.9% K-BB%
Bailey Ober - 78 TBF, 30.8% K-BB%
Pablo Lopez - 93 TBF, 29.0% K-BB%
Aaron Nola - 98 TBF, 28.6% K-BB%
Jameson Taillon - 76 TBF, 27.6% K-BB%
Dylan Cease - 91 TBF, 27.5% K-BB%
Garrett Crochet - 95 TBF, 27.4% K-BB%
Tanner Bibee - 90 TBF, 26.7% K-BB%
Joe Ryan - 99 TBF, 26.3% K-BB%
Nestor Cortes - 92 TBF, 26.1% K-BB%
GB% Leaders - Last 3 Weeks
Andre Pallante - 71 TBF, 64.6% GB%
Logan Webb - 108 TBF, 61.0% GB%
Framber Valdez - 104 TBF, 59.2% GB%
Ranger Suarez - 98 TBF, 59.0% GB%
Cristopher Sanchez - 98 TBF, 58.9% GB%
Ben Lively - 71 TBF, 56.0% GB%
Trevor Rogers - 68 TBF, 55.6% GB%
Tanner Houck - 92 TBF, 55.4% GB%
Charlie Morton - 72 TBF, 54.3% GB%
Max Fried - 103 TBF, 53.2% GB%
Magic Formula Qualifiers - Pitchers - Last 3 Weeks
Aaron Nola - 98 TBF, 29.6 K%, 1.0 BB%, 50.7% GB%
Dylan Cease - 91 TBF, 35.2 K%, 7.7 BB%, 46.2% GB%
Garrett Crochet - 95 TBF, 31.6 K%, 4.2 BB%, 50.8% GB%
Huascar Brazoban - 48 TBF, 39.6 K%, 6.2 BB%, 60.0% GB%
Paul Skenes - 102 TBF, 31.4 K%, 5.9 BB%, 46.0% GB%
Reese Olson - 92 TBF, 30.4 K%, 5.4 BB%, 49.2% GB%
Sean Hjelle - 60 TBF, 30.0 K%, 0.0 BB%, 50.0% GB%
Spencer Schwellenbach - 94 TBF, 27.7 K%, 4.3 BB%, 50.8% GB%
Tarik Skubal - 97 TBF, 35.1 K%, 4.1 BB%, 44.6% GB%
Trevor Richards - 47 TBF, 27.7 K%, 2.1 BB%, 45.5% GB%
Tyler Glasnow - 65 TBF, 27.7 K%, 6.2 BB%, 50.0% GB%
SIERA vs. ERA Comp, Last 30 Days
Unluckiest
Carlos Rodon: 8.31 ERA, 3.84 SIERA
Slade Cecconi: 6.97 ERA, 3.51 SIERA
Adam Mazur: 9.29 ERA, 6.12 SIERA
Jon Gray: 8.1 ERA, 5.03 SIERA
Dylan Cease: 5.9 ERA, 3.09 SIERA
Lance Lynn: 6.84 ERA, 4.07 SIERA
Kenta Maeda: 7.54 ERA, 4.84 SIERA
Yusei Kikuchi: 6.23 ERA, 3.58 SIERA
Aaron Nola: 5.52 ERA, 2.97 SIERA
Tyler Glasnow: 4.97 ERA, 2.45 SIERA
Luckiest
Andrew Abbott: 3.0 ERA, 5.71 SIERA
Reynaldo Lopez: 1.37 ERA, 3.9 SIERA
Jose Quintana: 2.0 ERA, 4.44 SIERA
Ronel Blanco: 2.01 ERA, 4.17 SIERA
Chris Bassitt: 2.48 ERA, 4.56 SIERA
Michael Lorenzen: 3.54 ERA, 5.58 SIERA
Albert Suarez: 3.46 ERA, 5.44 SIERA
Taj Bradley: 1.29 ERA, 3.17 SIERA
Jake Irvin: 2.03 ERA, 3.9 SIERA
Erik Miller: 3.0 ERA, 4.79 SIERA
Become a paid sub today to get the rest of the daily notes. It’s just $9/month and you get everything I do here. Check out the about page here for more. 10% of your subscription goes to charitable organizations such as Samaritan’s Purse, a Christian humanitarian aid organization.