View archived editions: Click Here For All Editions →
MLB Recaps
Thursday, May 21 7 games · 7 games
Game Recaps
New York Mets (NYM) @ Washington Nationals (WSH)
Nationals Park
NYM
2
WSH
1
NYM Starter
David Peterson
5 IP · 4 H · 1 ER · 3 K · 3 BB · 82 PC
NYM Batters
Brett Baty (3B) 2-4
Insight
David Peterson bounced back after three rough starts in a row, holding Washington to just one run over five innings. The Mets scratched out enough to steal a close one on the road.
WSH Starter
Cade Cavalli
7 IP · 4 H · 2 ER · 9 K · 1 BB · 84 PC
WSH Batters
Daylen Lile (DH) 2-4
Keibert Ruiz (C) 2-4 (1 R)
Insight
Cade Cavalli was genuinely good, going seven innings with nine strikeouts, but the offense couldn't back him up. A tough loss for Washington when their starter gave them every chance to win.
Pittsburgh Pirates (PIT) @ St. Louis Cardinals (STL)
Busch Stadium
PIT
6
STL
2
PIT Starter
Braxton Ashcraft
7 IP · 4 H · 1 ER · 9 K · 2 BB · 98 PC
PIT Batters
Brandon Lowe (2B) 2-4 (1 HR, 1 RBI, 1 BB)
Marcell Ozuna (DH) 2-4 (2 RBI)
Insight
Braxton Ashcraft has been on a roll, and tonight was his best yet, seven strong innings with nine strikeouts after back-to-back impressive outings. Pittsburgh's offense showed up too, making it an easy night.
STL Starter
Dustin May
5.1 IP · 6 H · 4 ER · 7 K · 2 BB · 91 PC
STL Batters
Iván Herrera (DH) 2-4 (1 HR, 1 RBI)
Alec Burleson (1B) 2-4
Pedro Pagés (C) 2-4
Insight
Dustin May ran into trouble and gave up four runs in just over five innings, which pretty much decided the game. STL couldn't climb back after falling behind early.
Toronto Blue Jays (TOR) @ New York Yankees (NYY)
Yankee Stadium
TOR
2
NYY
0
TOR Starter
Braydon Fisher
1.1 IP · 0 H · 0 ER · 4 K · 1 BB · 23 PC
TOR Batters
Ernie Clement (2B) 3-4
Insight
Ernie Clement went 3-for-4 and Toronto's bullpen took it the rest of the way after a short outing from Braydon Fisher. A solid team win on the road.
NYY Starter
Carlos Rodón
5 IP · 3 H · 1 ER · 7 K · 3 BB · 95 PC
NYY Batters
Nothing Noteworthy
Insight
Carlos Rodon has now given up at least two runs in under five innings in each of his last two starts, and the Yankees offense couldn't bail him out this time. New York's offense has been cold lately and it showed again tonight.
Atlanta Braves (ATL) @ Miami Marlins (MIA)
loanDepot park
ATL
9
MIA
3
ATL Starter
Spencer Strider
6.1 IP · 4 H · 3 ER · 9 K · 2 BB · 100 PC
ATL Batters
Michael Harris II (CF) 2-5 (2 HR, 3 RBI)
Mike Yastrzemski (LF) 3-3 (1 HR, 2 RBI)
Ronald Acuña Jr. (RF) 2-3 (2 RBI)
Insight
Michael Harris II went off with two home runs and Mike Yastrzemski added another, Atlanta's offense went against its recent cold stretch in a big way. The Braves piled up nine runs and it was never really close.
MIA Starter
Sandy Alcantara
6 IP · 9 H · 6 ER · 3 K · 0 BB · 94 PC
MIA Batters
Kyle Stowers (RF) 2-4 (2 HR, 2 RBI)
Insight
Sandy Alcantara gave up six runs on nine hits in six innings after back-to-back solid starts, a rough night for the Marlins ace. Kyle Stowers hit two home runs to keep things interesting, but Miami never had a real shot.
Athletics (ATH) @ Los Angeles Angels (LAA)
Angel Stadium
ATH
3
LAA
2
ATH Starter
Luis Severino
7 IP · 3 H · 2 ER · 10 K · 0 BB · 97 PC
ATH Batters
Brent Rooker (DH) 2-4
Insight
Luis Severino dealt tonight, seven innings, ten strikeouts, zero walks, and it's his third straight start getting better each time out. Oakland did just enough offensively to get the win.
LAA Starter
José Soriano
6.2 IP · 6 H · 2 ER · 7 K · 1 BB · 103 PC
LAA Batters
Nothing Noteworthy
Insight
Jose Soriano kept it close with a solid start but the Angels couldn't push across the tying run when they needed it. A frustrating one-run loss at home.
Cleveland Guardians (CLE) @ Detroit Tigers (DET)
Comerica Park
CLE
3
DET
1
CLE Starter
Joey Cantillo
5.2 IP · 3 H · 0 ER · 6 K · 3 BB · 98 PC
CLE Batters
Brayan Rocchio (SS) 3-3 (1 R)
Insight
Brayan Rocchio went 3-for-3 and Joey Cantillo kept Detroit off the board all night in his second strong start in three tries. Cleveland gets the road win in a tight game.
DET Starter
Casey Mize
6.2 IP · 4 H · 2 ER · 4 K · 0 BB · 95 PC
DET Batters
Dillon Dingler (C) 2-4 (1 HR, 1 RBI)
Insight
Detroit's pitching has been trending up lately and Casey Mize was good again tonight, but the offense only managed one run. Dillon Dingler hit a solo shot but that was about all the Tigers could muster.
Colorado Rockies (COL) @ Arizona Diamondbacks (ARI)
Chase Field
COL
1
ARI
2
COL Starter
Zach Agnos
5 IP · 1 H · 0 ER · 4 K · 1 BB · 71 PC
COL Batters
Nothing Noteworthy
Insight
Zach Agnos actually threw five solid innings allowing just one hit, but Colorado's offense couldn't score enough to back him up. A tough luck loss for the Rockies on the road.
ARI Starter
Eduardo Rodriguez
7 IP · 4 H · 0 ER · 4 K · 1 BB · 99 PC
ARI Batters
Ketel Marte (2B) 2-4 (1 BB)
Insight
Eduardo Rodriguez has now thrown back-to-back shutout outings after a rough stretch, and tonight he went seven innings without giving up a run. Arizona did just enough to win a low-scoring game.
Rolling Performance Tables
On Mobile, Turn Phone Sideways to View Tables.
Bullpen Rankings
📊 Sorted by 7d ERA
📅 7d / 14d / 28d ERA — Rolling ERA.
🔬 FIP — If ERA > FIP then the bullpen should get better.
K% — Strikeout rate. Higher is better.
📈 Momentum — (28d - 7d). Positive = Good. Negative = Bad.
🎯 SignalValue = Target. Fade = Avoid. Watch = Mixed signals.
# Team 7d ERA 14d 28d FIP K% Mom. Signal
1 LAD 0.00 1.83 2.02 2.46 26.5% 0 Neutral
2 BOS 0.49 1.15 2.29 1.41 34.4% +1 Neutral
3 TEX 1.50 2.49 2.71 1.93 26.1% +2 Neutral
4 SD 1.66 2.12 3.55 4.11 25.0% +11 Value
5 MIL 2.11 2.05 2.11 2.11 27.1% -3 Watch
6 MIN 2.13 2.60 5.14 2.86 17.9% +19 Neutral
7 TOR 2.25 3.10 2.79 3.23 25.8% +1 Neutral
8 CLE 2.65 2.78 2.78 3.05 34.4% -1 Neutral
9 NYM 2.80 1.83 2.74 3.35 20.2% -3 Watch
10 DET 2.93 4.24 3.68 3.91 17.6% +6 Value
11 ATH 3.09 3.21 4.51 2.84 20.4% +12 Neutral
12 SEA 3.33 3.01 2.66 3.31 26.5% -8 Fade
13 ATL 3.36 2.83 3.22 4.36 23.0% 0 Neutral
14 CHC 3.37 3.06 3.84 4.79 19.8% +5 Value
15 ARI 3.38 3.03 3.99 3.10 13.6% +6 Neutral
16 STL 3.48 3.80 3.86 3.92 17.0% +4 Watch
17 SF 3.56 3.80 3.75 3.83 23.9% 0 Neutral
18 KC 3.62 3.34 2.84 3.77 17.7% -9 Fade
19 NYY 4.09 4.27 3.03 3.44 22.1% -8 Fade
20 HOU 4.24 3.50 5.69 3.81 14.9% +7 Value
21 MIA 4.29 3.62 3.78 3.54 24.6% -3 Watch
22 COL 4.34 4.54 5.49 3.97 17.5% +4 Watch
23 PIT 4.78 4.78 4.86 4.83 27.5% +1 Neutral
24 TB 4.87 4.83 2.91 4.29 20.6% -14 Fade
25 PHI 4.92 3.35 3.21 3.76 27.0% -13 Neutral
26 WSH 5.56 5.79 4.34 4.03 23.9% -4 Watch
27 CWS 5.90 5.08 3.47 5.72 21.7% -13 Fade
28 LAA 7.03 6.14 6.08 5.40 18.1% 0 Neutral
29 CIN 8.14 6.97 7.40 7.32 22.4% +1 Neutral
30 BAL 11.80 5.49 6.26 5.23 16.2% -1 Neutral

SP Rotation Rankings
📊 Sorted by FIP — High ERA + low FIP = ERA likely to drop.
📅 7d / 14d / 28d ERA — Rolling ERA.
🔬 FIP — Strips out defense and luck. Future predictor for ERA.
K-BB% — If > 15% = Good. < 8% = Bad.
🚶 WHIP — Measures baserunner control and game flow impact.
📈 Momentum — (28d - 7d). Positive = Good. Negative = Bad.
🎯 SignalValue = Target. Fade = Avoid. Watch = Mixed signals.
# Team 7d ERA 14d 28d FIP K-BB% WHIP Mom. Signal
1 MIL 1.99 1.97 2.56 2.34 23.6% 0.88 0 Neutral
2 PHI 3.43 3.23 3.66 2.50 18.6% 1.09 0 Neutral
3 NYY 3.75 4.01 3.93 2.96 18.2% 1.28 +2 Neutral
4 TOR 3.04 3.02 3.78 2.96 22.4% 1.08 +3 Watch
5 LAD 2.32 3.77 3.56 3.07 18.8% 0.94 +7 Neutral
6 MIN 2.18 2.25 3.67 3.16 21.7% 0.91 +14 Neutral
7 ATL 3.89 2.77 3.04 3.29 19.7% 1.03 +1 Neutral
8 DET 3.66 4.14 4.97 3.33 10.4% 0.90 +16 Value
9 ARI 2.74 2.83 4.25 3.47 14.4% 1.06 +8 Neutral
10 KC 3.07 4.59 4.54 3.47 13.3% 1.18 -1 Neutral
11 CWS 4.72 4.41 3.95 3.52 15.1% 1.40 +3 Watch
12 TB 2.97 2.51 2.00 3.58 14.7% 1.24 -9 Fade
13 STL 4.27 3.51 3.65 3.60 11.1% 1.54 -2 Neutral
14 LAA 7.31 6.43 5.67 3.66 10.8% 1.45 -1 Neutral
15 SD 3.07 4.34 4.86 3.72 11.4% 1.08 +8 Value
16 CLE 2.88 2.65 3.84 3.76 10.5% 1.14 -6 Fade
17 SEA 4.10 4.06 4.51 3.84 17.7% 1.03 +1 Neutral
18 SF 6.27 5.29 5.07 4.04 9.8% 1.64 +4 Watch
19 WSH 4.02 5.04 4.25 4.08 22.3% 1.13 -4 Watch
20 PIT 5.00 4.01 3.92 4.27 13.4% 1.14 -14 Fade
21 HOU 3.09 4.21 4.25 4.50 10.7% 1.00 +6 Value
22 TEX 3.67 2.48 4.07 4.58 15.0% 1.18 -6 Fade
23 NYM 6.39 4.95 4.16 4.65 8.8% 1.59 -19 Neutral
24 BOS 4.16 3.21 3.67 4.95 12.4% 1.18 -3 Watch
25 BAL 5.57 5.37 5.80 4.99 8.0% 1.50 +3 Watch
26 MIA 6.87 6.61 5.67 5.33 10.2% 1.55 -7 Neutral
27 COL 7.02 7.01 6.29 5.34 4.8% 1.90 +3 Watch
28 ATH 4.64 3.86 3.61 5.58 15.3% 1.18 -3 Watch
29 CIN 3.77 3.77 4.74 5.62 9.8% 1.26 0 Neutral
30 CHC 9.10 6.39 5.42 7.00 4.6% 1.84 -4 Watch

Team Batting Rankings
📊 Sorted by 7d R/G
📅 7d / 14d / 28d R/G — Runs per game over each rolling window.
💥 OPS — If > .800 = Good. If < .670 = Bad
🎯 wRC+ — Measures offense against the league average. 100 = league average. 110 = 10% above average.
📈 Momentum — 28d rank - 7d rank. Positive = Trending up.
🎯 SignalValue = Hot. Fade = Cold. Watch = Neutral.
# Team 7d R/G 14d 28d OPS wRC+ Mom. Signal
1 TB 7.17 5.42 4.64 0.720 144 +10 Value
2 LAD 6.67 4.69 4.80 0.775 120 +4 Watch
3 ARI 6.29 4.77 4.46 0.704 143 +11 Neutral
4 WSH 6.29 5.77 5.44 0.738 116 -3 Watch
5 NYM 6.14 5.38 4.56 0.649 106 +7 Value
6 CLE 5.86 5.08 4.73 0.701 124 +2 Neutral
7 ATL 5.57 4.85 5.04 0.770 106 -5 Fade
8 PHI 5.50 5.08 4.56 0.694 94 +5 Value
9 CIN 5.17 5.42 4.96 0.703 98 -5 Neutral
10 MIA 5.00 4.62 4.19 0.698 107 +8 Value
11 TEX 5.00 4.42 3.54 0.678 107 +15 Neutral
12 ATH 4.86 4.54 4.72 0.730 97 -3 Watch
13 CWS 4.83 5.25 4.75 0.731 123 -6 Fade
14 MIL 4.67 4.67 4.71 0.696 106 -4 Watch
15 PIT 4.67 5.25 5.00 0.725 106 -12 Fade
16 CHC 4.33 3.17 4.28 0.745 85 0 Neutral
17 SF 4.33 4.46 3.48 0.665 119 +10 Value
18 NYY 3.86 3.15 4.92 0.761 89 -13 Fade
19 BAL 3.67 3.42 3.96 0.698 110 +3 Watch
20 SD 3.67 3.08 3.75 0.662 89 +4 Watch
21 BOS 3.33 2.33 3.56 0.670 100 +4 Watch
22 STL 3.33 3.58 4.12 0.713 94 -2 Neutral
23 COL 3.29 3.69 3.76 0.704 42 0 Neutral
24 MIN 3.17 3.92 4.12 0.708 86 -5 Fade
25 SEA 3.17 4.38 4.36 0.697 57 -10 Fade
26 TOR 3.14 4.23 4.12 0.678 64 -5 Fade
27 LAA 2.57 2.38 3.00 0.688 43 +2 Neutral
28 KC 2.17 3.08 4.24 0.701 71 -11 Fade
29 HOU 2.00 2.54 2.80 0.738 47 +1 Neutral
30 DET 1.86 2.38 3.28 0.700 59 -2 Neutral

Table Insights
Extracted from rolling tables above.
Strongest
SD Value
VALUE: The San Diego bullpen has been one of the best in baseball over the last two weeks. They have allowed very few runs and been tough to score against, even facing a harder schedule than most teams.
CHC Value
VALUE: The Cubs bullpen is quietly putting up solid numbers and keeping opponents off the board. They rank in the middle of the pack over the last week and two weeks, which does not sound flashy, but the numbers suggest they have been pitching better than that ranking shows.
CWS Fade
FADE: The Chicago White Sox bullpen has been leaking runs badly over the last week and two weeks. What makes this worse is they have been facing easier competition, so there is no good excuse for how poorly they have pitched.
KC Fade
FADE: The Kansas City bullpen has a WHIP of 1.786 over the last week, meaning they are putting a ton of runners on base. That kind of traffic on the bases usually catches up to a team sooner rather than later.
DET Value
VALUE: Detroit starters have been really sharp over the last week, posting a 0.901 WHIP which means almost no one is getting on base against them. Their momentum is trending in the right direction and they are doing this against average competition.
HOU Value
VALUE: The Houston rotation has been keeping runs off the board lately with a 3.09 ERA over the last week. Their WHIP of 1.00 shows starters are doing a good job of not letting things get out of hand.
PIT Fade
FADE: Pittsburgh starters have given up 5 runs per game over the last week and the team has been losing momentum lately. They looked solid over the last month but the recent slide suggests things are heading in the wrong direction.
SD Value
VALUE: San Diego starters have been holding up well despite facing one of the tougher schedules in baseball. A 3.07 ERA over the last week against that level of competition is worth paying attention to.
KC Fade
FADE: The Kansas City offense is struggling badly, scoring just 2.17 runs per game over the last week. They rank 28th in the league right now and are doing this against easier pitching, which makes it harder to find any silver lining.
MIA Value
VALUE: The Miami offense has been quietly productive, scoring 5 runs per game over the last week against a tough schedule. Their wRC+ of 107 suggests the lineup is performing above league average even if the OPS number does not jump off the page.

Injury & Lineup Log
Player Team Status Injury Impact
Brenton Doyle COL 10-day IL 10-day IL — Left oblique contusion Colorado Rockies placed CF Brenton Doyle on the 10-day injured list retroactive to May 20, 2026. Left oblique contusion.
Hurston Waldrep ATL 60-day IL 60-day IL — Right elbow surgery Atlanta Braves transferred RHP Hurston Waldrep from the 15-day injured list to the 60-day injured list. Right elbow surgery.
Activated from IL
WSH: Clayton Beeter — activated from IL

Free Tool · mlb.up.railway.app
MLB Stats Tracker
Look up any batter or pitcher on today's slate with rolling performance windows and color-coded data points.
Batters — AVG/OBP/SLG/HR/K/RBI over last 7/10/21 games
Pitchers — ERA/WHIP/K/BB over last 2/3/4 starts
🔄 Cache refreshes at 6AM PT daily
Methodology
Rolling windows: 7, 14,28 day stats from completed games only. Postponed games excluded.
Momentum: 28d - 7d. Positive = outperforming. Negative = declining.
Schedule strength: Value on Hard schedule is stronger.
ERA-FIP Gap: If FIP is less than ERA, then ERA will likely get better.
Signals: Value = momentum +5 or more on Avg/Hard. Fade = -5 or worse on Easy/Avg.
Straight rolling ERA with no weighting.
Compass is for informational purposes only. Nothing in this newsletter constitutes betting advice.