Thursday 7/3 MLB Thoughts & Analysis

Published on 2 July 2025 at 22:58

Thursday’s MLB board includes an early afternoon game, a later afternoon game, an early evening affair and then seven on the main daily fantasy slate.

After skipping Wednesday’s 19 game slate of chaos, I wrote a brief June recap which can be found here. Whether you’re interested in the results or not is unimportant. What is important is the piece of legislation found yesterday, inserted into the budget bill, which increases the taxation on gambling enough to make profiting virtually impossible. I included a paragraph detailing the negative effect of it’s passage in the June results recap.

I may be looking for another bet tracking website or software. Action Network has gone so far backwards since becoming corporately owned. It's no longer a reliable source. The date range searches give incorrect results and in suspended games (like in Boston on Tuesday), they just omit results, so we're going to lose that half unit for July. 

Last year, I would post updates to these articles throughout the day. It quickly became too cumbersome. I'm considering posting some of the more important changes to the original Bsky.com thread going forward. 

For the second time this week, and stunningly after so many double headers, we already have all 20 pitchers confirmed for Thursday by early Wednesday afternoon. What should mean less work for me, generally ends up meaning a pitcher or two will be swapped after I get an earlier start than usual. 

All stats through Tuesday. Legend at the bottom of the page. Remember that this means two games of data for 10 MLB teams today, although not all 10 are in action on Thursday. 

If you find the information on this site helpful, the tip jar is open at mtrollo86@gmail.com on Paypal.

Twins @ Marlins

We start with a pair of strong pitching prospects, who are struggling to realize their potential. David Festa pitched his best game of the season and maybe career in Detroit last time out, striking out six of 20 without a walk and two hits. Still, he was pulled after 5.2 shutout innings on 75 pitches, his lowest total since he faced Detroit also in his first start of the season. Festa’s fastball usage has trended downward as his velocity has done the same. His last two starts are his lowest average velocities and lowest fastball usage of the season, yet he’s sustained a 13.1 SwStr% by increasing his slider (31.6%) and sinker (17%) usage. The latter upping his ground ball rate to 55.9% over his last two starts as well. Maybe it’s combination that is going to work. The command has been better than the stuff, leading to solid pitch modeling, which is better than estimators otherwise ranging from a 4.03 SIERA to a 4.74 xERA, which are below his 5.40 ERA with RHBs punishing him for a wOBA and xwOBA within two points of .370.

Eury Perez did not look very good in his first two starts from Tommy John, but despite not striking out a single National in his second start, pitch modeling was strong (3.56 Bot ERA, 112 Pitching+) and he followed it up striking out six of 20 Braves with two walks and even better pitch modeling in his only home start of the season. He then went on the road to Arizona, where he walked and struck out three each with awful pitch modeling (5.23, 91). The velocity has been around 98.5 in three of the four starts, except for the one in Washington. The pitch mix has been consistent in the last two. He has progressed up to 93 pitches, but still hasn’t completed five innings yet. I’m not sure what’s going on here, but we shouldn’t expect consistency until he understands what’s going on.

We have a pair of unpredictable rookies here. While Perez has far more upside, he’s had the worse performance so far. The real surprise here is that a hot streak has brough the Maimi offense up to par on the season. I wouldn’t need much more than +110 (the current price) to side with the home team here. I’m not sure Minnesota should be the favorite.

 Astros @ Rockies

Despite a 9.4 SwStr% that was his lowest since his major league debut, Brandon Walter covered his strikeout prop of 4.5 again last time out against the Cubs. He’s posted a 23 K-BB% through five starts with at least five strikeouts in every start and just two walks total (one in his last four). Walter has also kept contact on the ground at a 51.1% pace, generating just 6.8% Barrels/BBE against him. While the pitch modeling is marginal (3.81 Bot ERA, 100 Pitching+), Walter’s 3.34 ERA is a perfect match for his xERA with all remaining non-FIP estimators even lower. Walter has also shown a reverse split with RHBs held to a .304 wOBA and .285 xwOBA.

Kyle Freeland failed to post a quality start on the road for just the second time this year last time out, a feat he’s only accomplished once at home this year, but it was his last start, which happened to be his return from the IL. His home starts (10.8 K-BB%, .423 wOBA against, 4.04 xFIP) have been much worse than his road numbers, part of that the higher BABIP Coors generates, but a .443 mark is still ridiculous. Freeland does try to keep the ball on the ground a bit more at home (47.1% compared to 44.2%) on the road, which further increases BABIP. While he shouldn’t be as bad as he has been at home, a .380 wOBA against RHBs overall only drops to a .356 xwOBA, while LHBs rise from .315 to .339.

There are certainly problems with Freeland at home, though the peripherals haven’t been terrible. I’ve mentioned here before that Walter was a one time Top 100 prospect before injuries derailed him a few years back. It looks like he may finally be making good on that. The Astros are in their better split against LHP, nearly doubling up the Rockies by wRC+. With the addition of large bullpen and defensive edges as well, I aggressively have the Astros as a very large favorite and I believe this may only be the third favorite I’ve played in this range all year, but I don’t think the Astros are getting enough credit in this spot. Follow Rocky Jade on Action Network for more.

Tigers @ Nationals

In his first major league action since 2021, 34 year-old Dietrich Enns struck out four of 17 A’s, allowing a single hit with two walks over five shutout innings and Pitching+ absolutely hated it (85 Pitching+) with PitchingBot not much more optimistic (4.38). Enns threw mostly fastballs (48.1%) and changeups (29.9%) to generate a 15.6 SwStr% with 63.6% of his contact on the ground and just a pair of hard hit batted balls (18%). What’s to critique? He now has all of 31.1 innings of major league experience, having pitched in Japan (sub-10 K-BB% in 176 innings) and the KBO (15 K-BB% in 167.2 innings) recently. Yet, in 62.1 AAA innings this year, he sits at a 21.1 K-BB%. Projections are only for a few major league innings this year and now competently projects just a bit above four.

Jake Irvin has most recently made a pair of starts in Los Angeles. Guess which team he struck out seven of 23 with just two runs over 5.1 innings against with just two walks. Guess which team popped him for nine runs with three home runs on four barrels with four walks. If you guessed the Angels were the second start and the Dodgers the first, you would be correct. Allowing 13.5% Barrels/BBE with just a 9.7 K-BB%, Irvin’s 3.67 Bot ERA is his only estimators below four and a half with LHBs owning a .352 wOBA and .405 xwOBA against him this year.

Yankees @ Blue Jays

Despite snapping a stretch of three straight starts without allowing a run last time out, Clarke Schmidt pitched much better than the four runs the A’s scored on four hits and two walks suggest. Bot of his barrels left the park, while he struck out seven of 24 batters with a 14.1 SwStr% that exceeds any of his previous three starts. In fact, Schmidt has pitched at least six scoreless innings in four of his last six starts and while his 3.09 ERA is about a run below most non-FIP estimators (.229 BABIP), it’s actually quite a bit above his 2.65 xERA. Springer is the only projected Blue Jay bat even in a positive run value situation against Schmidt’s pitch mix and that’s just barely.

I had written that Chris Bassitt had been pitching better than his results and was due some positive regression before a quality start against Arizona a few starts back. The positive results continued in his next start against the White Sox before running into a brick wall at Fenway last time out. Bassitt allowed nine runs with just four hard hit batted balls (36.4%), but more walks (four) than strikeouts (three). This was Bassitt’s first start with more than two walks all season. His problems with LHBs (.354 wOBA, .340 xwOBA) extends back to last year, but his 4.29 ERA should still have some regression in it with a .333 BABIP, some 41 points above his career average and 51 points above what his defense has allowed this year. That having been said, Judge pops massively against Bassitt’s pitch mix, which may not mean as much because he throws everything, with Jazz and Rice showing strong run value scores too.

We’ve reached the daily fantasy slate without FanDuel being available yet and will have to concentrate on just DraftKings pricing right now. While I wouldn’t shy away from Judge or left-handed Yankees where not using him, Bassitt is actually my 1B on this board and potentially the best value. He pitches deep into games with some strikeout upside in a Yankee lineup that has been more good than juggernaut for more than a month now with a great defense behind him. Obviously, my stating this should prepare you for a rough pitching board ahead, but I also don’t like Schmidt here simply because the Blue Jays don’t strike out.

Brewers @ Mets

While Jose Quintana has only completed six innings once in his last eight starts, he’s only allowed more than two earned runs three times in 11 tries. Those three tries are responsible for 17 of his 26 runs though. Quintana continues to manage contact well (6.9% Barrels/BBE, 38.6 HardHit%), but still projects a 4.14 xERA (his best estimator) with just a 5.4 K-BB%. It’s not the BABIP, the strand rate or even home runs. It’s simply that four of his 26 runs have been unearned. Quintana also has some of the worst pitch modeling on the board dropping him to second worst on the pitch matchup ratings board when included with pitch run values. While LHBs have a 50 points higher wOBA and xwOBA against Quintana, RHBs have a 40 point higher xwOBA than wOBA. Nimmo and Alonso are projected batters who matchup best against his arsenal.

We were always likely to see some sort of regression, even if David Peterson kept pitching as well as he had, but the problem is that as things have begun catching up to him (13 runs last 15.2 innings), he’s been pitching much worse (4.2 K-BB%). He is coming off a difficult schedule, pitching on the road in LA (NL), PHI, ATL and PIT (now red hot) over the last month. Perhaps just getting home in a more marginal matchup will help, but Peterson’s 3.30 ERA is still below estimators ranging from a 3.36 FIP to a 4.42 Bot ERA with just six of 17 barrels leaving the yard. The good news there too is that Citi Field is a power suppressing park, though it should be in the low 80s and closer to neutral on Thursday. RHBs have a .313 wOBA, but .352 xwOBA against Peterson with LHBs below .260. Contreras is the only projected Brewer not in a negative pitch run value situation against him and just barely.

I have Peterson about a run better than Quintana at this point  in their careers, despite both having the same xERA, but if you look in the first graphic up above, offenses are about even here, while the Brewers have large defensive and bullpen edges. I’m not seven sure the Mets should be favored by much at all here, as uncomfortable as this bet (+130) is. That said, Peterson is a middle of the pack arm for me tonight, while Quintana simply doesn’t have the upside to roster.

Angels @ Braves

Let’s get this right out in front again. Jose Soriano is going to do the opposite of whatever we think he is going to do. I thought I was off him for good before throwing 20.2 innings of two run ball with a 28.2 K-BB% had me reconsidering, so of course he drops nearly a mph and gets popped for eight runs by Washington with just four strikeouts and two walks. A 65.5 GB% can help make up a lot for a single digit K-BB% and 47.7 HardHit%, but those two double digit strikeout efforts were two of his three starts above six this year. I just can’t buy it with any consistency, but suppose I have to realize he has it in him now. LHBs have a .333 wOBA and .335 xwOBA against him this year, some 20 to 30 points better than RHBs. Acuna is the only Brave popping strongly against Soriano’s arsenal, which is probably why he’s top half of the board in the pitch matchup ratings below. Riley looks decent there too.

At least we were able to quickly prove that Bryce Elder’s 12 strikeout performance was likely a fluke. He’s struck out just eight of 67 with as many walks since. Whie his velocity shows an interesting pattern this year (91.6 mph first five starts, 92.9 next five, 92.1 last three) the hard contact (47.2% with 10.2% Barrels/BBE) has been pretty consistent. Batters from either side of the plate exceed a .350 wOBA and xwOBA against Elder, who sits only above Civale in the pitch matchup ratings. This means a predominantly right-handed lineup for the Angels won’t be a detriment to attacking him and nearly every projected batter except O’Hoppe and Moore rate well against him.

Though he is the third cheapest pitcher on the board Elder is a pitcher I’d rather attack, while Soriano is a pitcher I probably just want to leave alone.

Bullpen stats L30 days...

Guardians @ Cubs

Luis L Ortiz was a pitcher I was intrigued with earlier in the year when an elevated fastball helped him realize some strikeout upside, but ultimately, poor control did him in more often that not. He popped his second double digit strikeout game of the season in Sacramento two starts back, which demanded attention again, but he’s only struck out exactly five in three starts surrounding that outing. One of them with five walks, but a total of four in the other two. In the end, Ortiz has struck out a quarter of batters faced but with double digit walks (11%) and barrels (10.3%) plus a 47.7 HardHit%. He generates enough ground balls (46.5%) to keep contact neutral estimators just below four, but contact inclusive ones like his 4.61 xERA a bit higher than his 4.36 ERA with pitch modeling in between. LHBs have .332 wOBA and .375 xwOBA against Ortiz with Tucker, Busch and PCA rating well against his arsenal.

Cade Horton has struck out just four of his last 47 batters with six walks and 13 runs (10 earned) allowed in 8.2 innings. He’s only gone six innings once in eight starts (nine outings) with a high of six strikeouts (twice), but just a 9.5 K-BB% with 12.1% Barrels/BBE and a 43.6 HardHit%. Things seem to be getting more difficult the more batters see him and while pitch modeling generally likes him, additional estimators fall into a tight range between 4.46 (SIERA & dERA) to 4.74 (xERA). RHBs have a .377 wOBA and .405 xwOBA against him with LHBs around league average. The first third of the projected Cleveland lineup fares well against his arsenal.

Ortiz is a borderline top five starter for me because of the upside on a weak slate, assuming neutral weather at Coors. Both pitchers could be interesting in an SP2 spot, as the Cleveland offense has done nothing recently. Their 48 wRC+ over the last week comes with a 25 K%.

Giants @ Diamondbacks

After a few rough outings (11 runs in 15 innings), Robbie Ray bounced back with six innings of one run ball and seven strikeouts against the White Sox. We always have to ask if it was just the White Sox, but have to note that during the poor stretch, he was still running a 16.9 K-BB% with a .348 BABIP and 65.7% strand rate. It’s not the best Ray has ever been, but his 18 K-BB% is solidly above average and just a point below his career average, while the contact profile has been kept in check (7.9% Barrels/BBE, 42.9 HardHit%). Pitch modeling hates the slider (33 PB, 78 P+), but it has performed well (0.6 wSL/C) and Ray has occasionally mixed in more curves and changes recently with both pitches in double digit usage now. While a 2.75 ERA still depends too much upon an 80.8 LOB%, he does have a 2.91 xERA with non-pitch modeling estimators only rising as high as a 3.71 xFIP. Batters from either side of the plate are between a .267 and .280 wOBA and xwOBA against Ray with only Ketel Marte popping strongly against his pitch mix.

Things have continued to go “not well” from a run prevention standpoint, but Brandon Pfaadt has struck out seven with one walk in each of his last two starts at Coors and against the Marlins, who, as we mentioned, have worked there way up to a league average offense. The story this year has been that Pfaadt’s attempts to improve his poor splits (curveballs and changeups) has not only not worked, but in addition to LHBs exceeding a .370 wOBA and xwOBA against him this year, RHBs are at .340 and .387 against him too now. Pfaadt has cut down on his curveball (47 PB, 87 P+) and changeup (55, 86) and picked up a cutter recently, but it grades even worse (36, 68). So that’s probably not the answer. Pfaadt has decent pitch modeling with a league average ERA and xFIP (13.5 K-BB%), but abominable 6.78 xERA (13.8% Barrels/BBE, 49.8 HardHit%). The top third of the projected San Francisco lineup (Yaz, Ramos, Devers) perform well against Pfaadt’s arsenal.

The weakness of the board makes Ray our number three pitcher, but at a very high cost in a park and matchup that won’t do much for his value. I’m not on board with trusting Pfaadt yet, but there are worse SP choices for $6.7K.

Below, these last two graphics are my new pitch matchup ratings, explained here. It uses pitch frequencies and run values both for the pitcher and the opposing offense and then attempts to add in pitch modeling, which sometimes differs from actual results. 

Royals @ Mariners

While Seth Lugo did walk five Dodgers last time, he did strike out eight over 5.2 shutout innings. In fact, he’s now struck out 24 of his last 71 batters with an 11.9 SwStr%, after showing some rust in his first few starts back from the IL. There’s nothing new going on here though. Now up to a league average 13.6 K-BB% and 8.6% Barrels/BBE, he’s still allowing more hard contact than you’d like (46.9%) and is still running an unsustainable BABIP (.240) and strand rate (85.2%). Lugo’s 2.74 ERA still does not come with a single estimator below four and several of them (dERA, xERA, Bot ERA) above four and a half. LHBs jump from a .330 wOBA to a .335 xwOBA against him with RHBs up from .225 to .290.

Following an early June swoon, Bryan Woo has bounced back in a big way and is ready to fly into July. He’s struck out 24 of his last 74 batters with five walks, allowing four runs (two earned) in 19 innings. He has gone at least six innings in ALL 16 starts this year with 12 quality starts. His 2.93 ERA is closest to a 3.02 Bot ERA with Woo essentially topping our pitch matchup ratings with or without pitch modeling. Additional estimators only run as high as a 3.58 FIP. LHBs have had some success against him (.310 wOBA, .323 xwOBA), though he’s held RHBs to a paltry .142 wOBA at home.

Generally the top pitcher’s environment on the board in the summer, I still can’t pull the trigger on Lugo, who I feel is overvalued. Even if the Mariners have a 24.2 K% at home. Woo, on the other hand, is my 1A, but a marginal value as a very expensive arm in more of a strong run prevention than high strikeout upside spot.

White Sox @ Dodgers

There is not a single stat I can give you that doesn’t lead to a projection of the Dodgers simply mauling Aaron Civale. It may not always happen in a massive season, but it’s the most likely result. A 4.74 ERA matches a 4.77 xERA with all other estimators above five. Batters from either side of the plate exceed a .330 wOBA and xwOBA against him with RHBs above .360. Ohtani, Freeman and Smith all rate strongly against his arsenal. Civale has only allowed more than two runs twice, but also has a 79.3 LOB% and has only gone beyond 5.1 innings once. He has a single digit K-BB% and 9.9% Barrels/BBE allowed. None of it's good.

Dustin May has been popped for 16 runs (15 earned) over his last 21 innings, walking 13 of 100 batters with 12 strikeouts and hasn’t faced an offense better than league average during this span (SDP, SFG, WSN, KCR). His ground ball rate is down to 40% over this stretch with a 43.8 HardHit%. May’s estimators range from a 4.09 Bot ERA to a 4.83 xERA on the season. That’s right. His xERA is slightly worse than Civale’s. May came up averaging at least 98 mph through 2022, but injuries have him down to 95 mph now and he’s simply struggling to find a pitch mix that works for him at that velocity. Batters from either side of the plate exceed a .330 wOBA and xwOBA against him. Kyle Teel has hit sinkers and sliders well in a small sample.

The obvious angle here is Dodger bats. It’s their largest advantage in this game. However, I actually have May as the worst pitching value on the board. Because of the higher price of course. Still, I want no part of pitching in this game. In fact, while I still have May a bit ahead of Civale (almost one-third of a run), the Dodgers have a below average defense and bullpen, not too much better than the White Sox. I think this line is a bit elevates (+240).

LEGEND
Opp wRC+
Opposing offense’s wRC+ against L/RHP this season (in first graphic)
DEF Projected lineup(Roster Resource) Fielding Run Value & Team Runs Prevented now both in first graphic
Bullpen SIERA/xFIP/FIP average over the last 30 days (because there’s so much bullpen turnover)
BSR: Projected Lineup Base Running Runs also in first graphic

Don’t hesitate to ask about anything else that’s unclear.

Follow @FreelanceBBall on Twitter and Bsky.app

Add comment

Comments

There are no comments yet.