MLB Best Bets Today: Odds, predictions and picks for Friday, March 31st


MLB schedule today has 5 games

We go from 15 games on Thursday to just five games on Friday, as Major League Baseball schedule makers worked in a bad-weather day for the teams that ran the risk of some adverse conditions. That’s okay, because we have a lot to think about and analyze from Opening Day.

Per FanGraphs, yesterday’s batting average on balls in play (BABIP) was .334. Per FG, the Opening Day BABIP on April 7 last year was .264. I ran a search at, which is where the publicly-available Statcast data is housed on the internet, and found that ground ball batting average was up 26 points from 2022 at .267. Now, that’s just one day worth of sample size and teams will adjust defensively, but that’s a huge number.


While teams batted .252 overall, they only batted .240 with RISP with a .318 BABIP, so down from the overall numbers. That may be why we saw totals go 8-7 to the over; also, hitters struck out 26.9% of the time with RISP and 26.2% overall.

Base stealers started with a bang, going 21-of-23 on Opening Day. That was something we expected to happen and it absolutely did. Shout-out to Willson Contreras (who left hurt for the Cardinals) and Austin Hedges,who had the only caught stealings of the day. Thumbs down to Boston’s Reese McGuire, who was 0-for-5 in throwing out Orioles runners and also had two wild pitches.

I’ll be monitoring all of these things closely and each day gives us a new data point to analyze. As far as yesterday, no blood drawn, as a favorite won and a dog lost, so nothing really to report on the picks. (Tracking sheet)

Quick reminders from yesterday:

– Posting and grading with odds from DraftKings, but SHOP AROUND for the best odds; all favorites X units to win 1 unit; dogs 1 unit to win X units unless specified

– Mon-Sat article out no later than 11 a.m. PT/ 2 p.m. ET; Mon-Fri podcast out no later than Noon PT / 3 p.m. ET

– I will tweet (@SkatingTripods) the article out when it is finished and posted; we don’t really have the capability for notifications on the site, so that’s the best spot to find it as quickly as possible; I’d also bookmark my page ( to streamline navigating the website

– I will write about a lot of games, but not every game will have a pick; it’s about sharing information and creating profiles and betting angles we can capitalize on down the line

– Check out Zach Cohen on MLB Player Props

Here are some thoughts on the March 31 card (odds from DraftKings):

New York Mets at Miami Marlins (-110, 7.5)

David Peterson slides in as the No. 2 man for the Mets in the absence of Justin Verlander, who will miss time with a “low grade teres major strain”. Peterson had made the rotation as the No. 5 starter, but he’ll move up since everybody else was already on a schedule to pitch on certain days. He had a 3.83 ERA with a 3.64 FIP last season over 105.2 innings with 19 starts and nine relief efforts. In 91 innings as a starter, he allowed a .236/.327/.370 slash with a .311 wOBA.

The 6-foot-6 southpaw had an 80th percentile K% and an 81st percentile Whiff%, but allowed a lot of hard contact. As with most pitchers, fastball command is the biggest part of the equation. His slider is excellent with a 47.9% Whiff% last season and batters only hit .175 with a .292 SLG on it. I would like to see more elevated fastballs since he has 96th percentile Extension, meaning he’s really close to home plate when he throws, which allows 93-94 to play up a bit. He was also a 49.4% GB% guy last season and more fly balls and more strikeouts make sense, especially in this park.

The Mets will take their swings at Jesus Luzardo, who pitched for Venezuela in the World Baseball Classic. He finished last season with a strong 3.32 ERA and a 3.12 FIP in 100.1 innings of work over 18 starts. The stuff has always been there, but the health hasn’t been. He can touch triple digits and has good swing-and-miss upside, but staying on the field has been an issue. He was out from May 10 to August 1 last year, except for a couple of rehab starts in the minors.

When he came back, he finished the year on a high note with a 3.03 ERA and 2.87 FIP in his last 71.1 innings of work. This will be a good opening test against a Mets team that was 9% above league average against lefties last season per wRC+ and had the second-lowest K% in that split behind the Astros.

The Marlins actually had the highest K% against lefties at 27.7% and the worst offense by far with a 71 wRC+. Jorge Soler is the only remaining hitter from last year that had a wRC+ over 97 at 124, but they did add Jean Segura and a good contact bat in Luis Arraez. Still, for having a lot of right-handed bats, this was a bad lineup in that split and I think this is a bad lineup in general.

But, Luzardo has some upside and I worry about the Mets bullpen late in this game as they’re still trying to figure some things out in the absence of Edwin Diaz. I’m also hoping to see the proposed changes for Peterson to use his velocity and his perceived velocity more effectively up in the zone. I lean Mets and lean 1st 5, but I couldn’t convince myself to play either one. This is still a time for me where I do a lot of learning about all the pitchers and teams, plus the rule changes have added more wrinkles.

Colorado Rockies at San Diego Padres (-195, 7.5)

Leaving big dogs off the card is always frustrating and it was yesterday with the Rockies, who won the 1st 5 on CJ Cron’s three-run jack in the fifth and then cruised to an easy dub by a 7-2 count. Marquez had a good pitching line and the Rockies found a little bit of pop in the middle innings for the victory.

Today’s matchup features Team USA WBC member Kyle Freeland and Nick Martinez. I’m not a big proponent of either starter here. Freeland had a 4.53 ERA with a 5.11 xERA and a 4.21 FIP last season over 174.2 innings of work. As is often the case with Rockies starters, he was awful at home with a 6.00 ERA and a .306/.356/.524 slash against and a .375 wOBA. On the road, he had a 3.08 ERA with a .257/.328/.383 slash against and a .315 wOBA. He’s on the road at Petco Park for this one, but I don’t think his road numbers are completely repeatable.

It makes a ton of sense that Freeland would be bad at home because he’s a pitch-to-contact guy and that doesn’t mesh with the atmospheric conditions and the big outfield. His K% was better on the road and his BABIP against was 25 points lower, but the biggest thing is that his LOB% was over 18% better on the road, so the runners that reached base were stranded 80.3% of the time. There’s some regression in those road numbers I believe, especially when you compare side-by-side with previous seasons.

However, I don’t want to lay it with the Padres and Martinez. During his first season back in the United States after playing in Japan, Martinez worked 106.1 innings for the Padres with a 3.47 ERA and a 4.43 FIP. He did allow some home runs and benefited from an 80.8% LOB%. In 54 innings as a reliever, he was dominant with a .209/.271/.328 slash against and a .268 wOBA, leading to a 2.67 ERA and a 3.72 FIP.

As a starter, however, Martinez had a 4.30 ERA with a .269/.357/.468 slash and a .359 wOBA in 52.1 innings. His 5.16 FIP was not good and his ERA still came with an 82.1% LOB%. The problem for Martinez was turning the lineup over, as he allowed a .327 wOBA the first time through, a .362 the second and a .413 the third, albeit in just 50 plate appearances. He also had an 11.7% BB% as a starter compared to a 6.4% BB% as a reliever.

I like the Over 7.5 here. The Padres had 12 hard-hit balls against German Marquez yesterday, but only managed two runs on five hits, as the BABIP gods weren’t on their side. I like their chances today against Freeland, who draws a much better lineup against lefties on paper. Last year’s Padres were 18th in wOBA against lefties, but they’ve added Xander Bogaerts, who had a .446 wOBA against lefties, and Nelson Cruz, who owns a career .393 wOBA against lefties and is coming off of an outlier bad season.

The Rockies pen also concerns me with Daniel Bard out due to anxiety and I think the Rockies will scratch out their offense early. I see a few books at 8 and even money. That’s okay, too, but try to find a 7.5 if you can. Seems both DraftKings and FanDuel have them at time of publish.

Pick: Over 7.5 (-115)

Author’s edit at 11:25 a.m. PT: This total is mostly 8 shortly after posting. 8 at -110 or lower vig is also worth taking here.

Arizona Diamondbacks at Los Angeles Dodgers (-190, 7.5)

Another Team USA starter is in action here with Merrill Kelly getting the start against the Dodgers. He’ll be opposed by Dustin May, who was limited to six MLB starts last season after returning from Tommy John surgery. This has the makings of a pretty good pitching matchup, but the Dodgers sure are getting plenty of respect with the line.

Kelly had an excellent season last year, posting a 3.37 ERA with a 3.65 FIP. His raw stuff has always been good under the Statcast microscope with good spin rates and command of all of his pitches. First-year pitching coach Brent Strom cracked the code and unlocked his full potential in his first 200-inning season since 2016 when he was pitching for SK Wyverns in the Korean Baseball Organization.

I’m not a big believer in pitcher vs. team or batter vs. pitcher stats. Teams change. Pitchers adapt and evolve. Batters change. Sample sizes are small. However, I’d be remiss if I didn’t mention that Kelly had an 8.25 ERA in five starts against the Dodgers last season. They batted .330 against him with a .629 SLG. Not only does that illustrate how great he was against everybody else, but it also shows how the Dodgers just matched up well against him. This is NOT the same Dodgers lineup, so we’ll see if Kelly can have more success this time around, but that was the one team that really rocked his world last year. He did give up eight runs on two innings in his May 17 start to really skew the numbers.

I’m really not sure what to expect from Dustin May. Despite all of the promise and potential, we’ve only seen 143.2 innings out of him in the last four seasons. The numbers are solid with a 3.26 ERA and a 3.94 FIP, but he’s only pitched 53 innings the last two years. May is also a pretty extreme ground ball guy, who has the velocity and the stuff to generate more swing and miss, but instead has a 51.5% GB% with a 23.9% K%, which is above average, but not overwhelmingly so.

In terms of pure, raw stuff, May has some of the best in terms of his Statcast data and also metrics like Eno Sarris’s Stuff+. The potential is there for him to be elite. We’ll see how he looks today and how the Diamondbacks fare against another tough customer to start the season.

Chicago White Sox at Houston Astros (-145, 7.5)

The top pitching matchup of the day is in Houston, where Cristian Javier draws a White Sox lineup that should yield success. We’re still seeing some love for the White Sox today, so I’m trying to figure out why. Is it some belief in Lance Lynn? Is it the fact that the Astros are missing Jose Altuve? Is it overall belief in the White Sox, a team that I did have higher hopes for than the market coming into 2023? Is it a belief that the Astros are maybe a little overrated and overvalued?

The answer probably lies somewhere in between, but yesterday’s line move had a lot to do with the White Sox against a lefty and a guy like Dylan Cease on the hill with dominant K% numbers against right-handed batters. We’ve seen a similar thing from Lynn throughout his career. What separated him as one of the better pitchers in baseball was figuring it out against lefties. Against righties, he’s always been good. In 3,738 career plate appearances, righties have a .229/.283/.352 slash and have struck out 27.8% of the time. That includes 28.7% last season and 29.1% in 2021.

This is a good matchup for a guy like Lynn, who had a 2.09 ERA and a 3.29 FIP over his last 56 innings last season when he really found his groove in mid-August after missing the first two months of the season. Not many guys can say they have a good matchup against the Astros, but I think he’s one of them.

Javier also has a good matchup against the White Sox because of his dominance against righties. He held RHB to a .147 average with a .225 OBP and a .290 SLG last season. A .232 wOBA would represent the worst hitter in the league, so Javier collectively made righties out to be the worst hitter in the league. He ran an absurd 39.5% K% against right-handed batters last season, so basically four in every 10 righties struck out against him.

I also like that Javier is a fly ball guy, so the shift ban won’t really impact him much at all. I also like that the occasional walk rate issues he has had likely won’t come to the forefront against a White Sox team that doesn’t draw a whole lot of walks. Chicago isn’t as right-handed-heavy as past versions with the ability to run out at least five lefties here with a couple of switch hitters, two lefty fixtures and a left-handed bench bat.

I can’t get to a side or total here. I don’t hate Under 8 or Under 4 for the 1st 5, but this is a scenario in which Lynn or Javier could give up a multi-run homer or two. Javier is a fly ball guy and Lynn allowed 19 of them last year in 121.2 innings. That’s my worry, that we’d get a three-run homer or something that puts the total into jeopardy. As for the side, I think it’s priced fairly.

Cleveland Guardians at Seattle Mariners (-165, 7.5)

One of my buddies said it best when he texted me this morning, “What is a Hunter Gaddis?” It’s a fair question. With Triston McKenzie sidelined due to a teres major strain, Gaddis slides into the No. 2 spot in Cleveland’s rotation to keep everybody else on track for their expected start dates. He was one of the last guys to make the roster and has a real Sons of Anarchy vibe to him.

He’s a big dude at 6-foot-6 that has missed a lot of bats at the minor league level, but has had some control issues. He made two MLB starts last season that went very poorly, as he allowed eight runs in 3.1 innings to the Astros and seven runs in four innings to the White Sox. He’s an extreme fly ball guy, which is fine, but he allowed seven homers in 7.1 innings last season. 

It’s going to rain in Seattle tonight, so the T-Mobile Park roof will be closed. I’d like Gaddis’s chances more if it were open. The ball did not carry well with the roof open last night, but the park does play a little differently when the roof is closed. I would also expect a quicker hook for Gaddis if necessary, given that the Guardians have Xzavion Curry, who can be a multi-inning guy, along with a big body like Eli Morgan, who can pitch multiples if necessary.

Robbie Ray throws left-handed and that was a huge problem for Cleveland last season. Maybe the additions of Josh Bell and Mike Zunino will help, but Ray, who had a 3.71 ERA and a 4.17 FIP last season, draws a group that was 27th in wOBA against LHP last season and had the 29th-ranked SLG.

Ray also had a 3.02 ERA with a .283 wOBA against pitching in the friendly confines of T-Mobile Park over 110.1 innings of work. The road was unkind, but home was very kind to him. It has traditionally been a really good pitcher’s park and Ray should have more success there as a guy who has had a home run problem throughout his career.

All of that being said, we’re seeing some interest in Cleveland this morning with the line coming down a little bit. Gaddis was expected to make the team as a reliever, so he’s not terribly stretched out. As long as he doesn’t kill the Guardians in the first 2-3 innings, this will be the bullpen’s game. My concern here is that Curry struggled in Triple-A last season and in his two MLB starts. I think a lot of people will be on the Mariners, the run line, the 1st 5 run line, etc. Might all be good bets, but I’m staying off the game.

TL;DR Recap

Rockies/Padres Over 7.5 (-115) (also see note by game)