Game recaps
ATH starter
Jeffrey Springs
5.3 IP · 2 ER · 2 K · 5 H · 83 pitches
TOR starter
Dylan Cease
5.3 IP · 1 ER · 12 K · 3 H · 90 pitches
ATH performers
Shea Langeliers
2-4 (1 HR, 4 RBI, 1 BB)
Tyler Soderstrom
2-5 (1 RBI)
TOR performers
Andrés Giménez
4-5 (1 RBI)
Daulton Varsho
2-4 (1 RBI, 2 BB)
Ernie Clement
2-6 (1 RBI)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
TB starter
Joe Boyle
6.0 IP · 2 ER · 4 K · 3 H · 75 pitches
STL starter
Michael McGreevy
6.0 IP · 0 ER · 5 K · 0 H · 96 pitches
TB performers
Chandler Simpson
2-4 (1 R)
STL performers
JJ Wetherholt
2-5 (2 RBI)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
CLE starter
Joey Cantillo
3.7 IP · 2 ER · 5 K · 4 H · 91 pitches
SEA starter
Bryan Woo
6.0 IP · 2 ER · 9 K · 4 H · 83 pitches
CLE performers
Steven Kwan
2-5 (1 RBI)
David Fry
2-5
SEA performers
Victor Robles
2-3 (1 RBI)
Brendan Donovan
2-5 (1 R)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
NYY starter
Will Warren
4.3 IP · 1 ER · 3 K · 5 H · 83 pitches
SF starter
Tyler Mahle
4.0 IP · 2 ER · 5 K · 5 H · 80 pitches
NYY performers
Cody Bellinger
2-3 (1 R, 1 BB)
Giancarlo Stanton
2-4
SF performers
Luis Arraez
2-4
Rafael Devers
2-4
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
DET starter
Jack Flaherty
4.3 IP · 2 ER · 2 K · 4 H · 89 pitches
SD starter
Randy Vásquez
6.0 IP · 0 ER · 8 K · 2 H · 91 pitches
DET performers
Colt Keith
2-3 (1 BB)
SD performers
Ramón Laureano
3-4
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
TEX starter
Jacob Latz
4.0 IP · 0 ER · 3 K · 0 H · 68 pitches
PHI starter
Aaron Nola
5.0 IP · 3 ER · 7 K · 5 H · 91 pitches
TEX performers
Jake Burger
2-5 (1 HR, 2 RBI)
Corey Seager
2-4 (1 HR, 1 RBI, 1 BB)
Brandon Nimmo
2-5 (2 R)
PHI performers
Nothing noteworthy
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
PIT starter
Mitch Keller
6.0 IP · 0 ER · 3 K · 3 H · 77 pitches
NYM starter
David Peterson
5.3 IP · 0 ER · 3 K · 6 H · 76 pitches
PIT performers
Bryan Reynolds
2-5 (1 RBI, 1 BB)
Nick Gonzales
2-6 (1 RBI)
Jake Mangum
2-5 (1 R)
NYM performers
Nothing noteworthy
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
CWS starter
Sean Burke
4.0 IP · 3 ER · 5 K · 7 H · 91 pitches
MIL starter
Chad Patrick
4.3 IP · 1 ER · 4 K · 5 H · 74 pitches
CWS performers
Chase Meidroth
2-4
MIL performers
Christian Yelich
3-5 (1 RBI)
Brice Turang
3-5 (2 R)
Garrett Mitchell
2-4 (2 RBI, 1 BB)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
COL starter
Michael Lorenzen
4.3 IP · 3 ER · 4 K · 7 H · 93 pitches
MIA starter
Eury Pérez
7.0 IP · 3 ER · 8 K · 5 H · 93 pitches
COL performers
Nothing noteworthy
MIA performers
Owen Caissie
3-4 (1 RBI)
Agustín Ramírez
2-3 (1 R, 1 BB)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
ARI starter
Eduardo Rodriguez
5.0 IP · 0 ER · 5 K · 4 H · 79 pitches
LAD starter
Tyler Glasnow
6.0 IP · 2 ER · 6 K · 4 H · 90 pitches
ARI performers
Nothing noteworthy
LAD performers
Freddie Freeman
3-4 (1 RBI)
Miguel Rojas
2-2
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
LAA starter
Reid Detmers
4.7 IP · 3 ER · 9 K · 6 H · 95 pitches
HOU starter
Cristian Javier
4.7 IP · 6 ER · 1 K · 4 H · 74 pitches
LAA performers
Oswald Peraza
3-4 (1 HR, 1 RBI)
HOU performers
Carlos Correa
2-5 (2 RBI)
Jake Meyers
2-5 (2 RBI)
Christian Walker
2-4 (1 RBI, 1 BB)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
BOS starter
Sonny Gray
4.0 IP · 3 ER · 5 K · 6 H · 80 pitches
CIN starter
Brady Singer
4.0 IP · 3 ER · 5 K · 5 H · 74 pitches
BOS performers
Wilyer Abreu
2-5 (1 HR, 2 RBI)
Carlos Narváez
2-3 (1 R)
CIN performers
Sal Stewart
2-4 (1 HR, 2 RBI, 1 BB)
Matt McLain
3-4 (1 RBI, 2 BB)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
WSH starter
Miles Mikolas
5.0 IP · 4 ER · 4 K · 6 H · 97 pitches
CHC starter
Cade Horton
6.3 IP · 2 ER · 4 K · 4 H · 75 pitches
WSH performers
Nothing noteworthy
CHC performers
Miguel Amaya
2-4 (1 HR, 2 RBI)
Pete Crow-Armstrong
2-4 (2 R, 1 BB)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
MIN starter
Taj Bradley
4.3 IP · 1 ER · 9 K · 3 H · 92 pitches
BAL starter
Kyle Bradish
4.7 IP · 2 ER · 4 K · 2 H · 83 pitches
MIN performers
Byron Buxton
2-4 (1 R)
BAL performers
Jeremiah Jackson
2-4 (1 RBI)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
KC starter
Michael Wacha
6.0 IP · 0 ER · 7 K · 3 H · 80 pitches
ATL starter
Reynaldo López
6.0 IP · 1 ER · 3 K · 3 H · 77 pitches
KC performers
Jac Caglianone
2-3
ATL performers
Michael Harris II
3-4 (1 RBI)
Mike Yastrzemski
2-4 (1 RBI)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
Rolling performance tables · updated daily
Bullpen rankings
📊 Sorted by 7-day ERA — most recent form. Lower = better.
🔬 FIP strips out luck and defense. ERA > FIP by 1.0+ = bullpen likely to improve.
⚡ K% = strikeout rate. Higher means better raw stuff.
📈 Momentum = 28d rank minus 7d rank. Positive = trending up, possibly underpriced.
🎯 Signal = Value/Fade/Watch based on momentum + schedule strength.
| # |
Team |
7d ERA |
14d ERA |
28d ERA |
FIP |
K% |
Mom. |
Signal |
| 1 |
LAD |
0.00 |
0.00 |
0.00 |
2.07 |
21.4% |
0 |
Neutral |
| 2 |
MIA |
0.00 |
0.00 |
0.00 |
0.10 |
37.5% |
0 |
Neutral |
| 3 |
NYY |
0.00 |
0.00 |
0.00 |
2.02 |
28.4% |
0 |
Neutral |
| 4 |
TEX |
0.00 |
0.00 |
0.00 |
1.70 |
29.0% |
0 |
Neutral |
| 5 |
DET |
0.94 |
0.94 |
0.94 |
3.20 |
30.9% |
0 |
Neutral |
| 6 |
BOS |
0.97 |
0.97 |
0.97 |
4.39 |
27.6% |
0 |
Neutral |
| 7 |
MIL |
1.03 |
1.03 |
1.03 |
2.64 |
45.6% |
0 |
Neutral |
| 8 |
COL |
1.23 |
1.23 |
1.23 |
2.14 |
17.3% |
0 |
Neutral |
| 9 |
SF |
1.42 |
1.42 |
1.42 |
4.52 |
26.0% |
0 |
Neutral |
| 10 |
ATL |
1.50 |
1.50 |
1.50 |
1.27 |
30.4% |
0 |
Neutral |
| 11 |
LAA |
1.64 |
1.64 |
1.64 |
3.37 |
24.0% |
0 |
Neutral |
| 12 |
CHC |
2.25 |
2.25 |
2.25 |
6.10 |
21.2% |
0 |
Neutral |
| 13 |
MIN |
2.43 |
2.43 |
2.43 |
2.56 |
24.8% |
0 |
Neutral |
| 14 |
NYM |
2.78 |
2.78 |
2.78 |
3.20 |
21.9% |
0 |
Neutral |
| 15 |
BAL |
2.86 |
2.86 |
2.86 |
0.40 |
41.8% |
0 |
Neutral |
| 16 |
CLE |
3.36 |
3.36 |
3.36 |
4.59 |
32.0% |
0 |
Neutral |
| 17 |
SD |
4.15 |
4.15 |
4.15 |
3.33 |
25.4% |
0 |
Neutral |
| 18 |
CIN |
4.50 |
4.50 |
4.50 |
3.30 |
30.2% |
0 |
Neutral |
| 19 |
PHI |
4.50 |
4.50 |
4.50 |
3.73 |
19.4% |
0 |
Neutral |
| 20 |
SEA |
5.05 |
5.05 |
5.05 |
4.88 |
22.0% |
0 |
Neutral |
| 21 |
ATH |
5.17 |
5.17 |
5.17 |
5.51 |
11.1% |
0 |
Neutral |
| 22 |
HOU |
5.25 |
5.25 |
5.25 |
7.10 |
30.9% |
0 |
Neutral |
| 23 |
WSH |
5.42 |
5.42 |
5.42 |
5.15 |
18.0% |
0 |
Neutral |
| 24 |
ARI |
6.12 |
6.12 |
6.12 |
6.01 |
9.1% |
0 |
Neutral |
| 25 |
TOR |
6.21 |
6.21 |
6.21 |
5.05 |
31.5% |
0 |
Neutral |
| 26 |
PIT |
6.37 |
6.37 |
6.37 |
7.26 |
25.0% |
0 |
Neutral |
| 27 |
CWS |
10.49 |
10.49 |
10.49 |
8.15 |
8.8% |
0 |
Neutral |
| 28 |
STL |
11.39 |
11.39 |
11.39 |
3.48 |
13.1% |
0 |
Neutral |
| 29 |
KC |
11.43 |
11.43 |
11.43 |
4.69 |
18.2% |
0 |
Neutral |
| 30 |
TB |
14.29 |
14.29 |
14.29 |
5.00 |
14.3% |
0 |
Neutral |
All 30 teams · sorted by 7d ERA · green = 7d top 5 · red = 7d bottom 5 · full table at compassreport.co
ERA Earned run average over rolling window ·
FIP Fielding independent pitching — removes defense/luck ·
K% Strikeout rate (higher = better) ·
Mom. Rank change: 28d rank minus 7d rank (positive = improving) ·
Signal Value/Fade/Watch based on momentum + schedule strength
SP rotation rankings
📊 Sorted by FIP — better predictor of future ERA than ERA itself.
📉 ERA shows actual runs allowed. High ERA + low FIP = regression candidate (ERA likely to drop).
⚡ K-BB% = strikeouts minus walks per batter. Best forward indicator of SP quality.
🚶 WHIP = walks + hits per inning. Measures baserunner control.
📈 Momentum = 28d rank minus 7d rank. Positive = rotation trending up.
| # |
Team |
7d ERA |
14d ERA |
28d ERA |
FIP |
K-BB% |
WHIP |
Mom. |
Signal |
| 1 |
TOR |
1.59 |
1.59 |
1.59 |
0.71 |
52.6% |
0.53 |
0 |
Neutral |
| 2 |
MIN |
0.94 |
0.94 |
0.94 |
1.33 |
29.1% |
0.94 |
0 |
Neutral |
| 3 |
NYY |
0.57 |
0.57 |
0.57 |
1.78 |
20.4% |
0.69 |
0 |
Neutral |
| 4 |
SF |
6.29 |
6.29 |
6.29 |
2.19 |
21.9% |
1.47 |
0 |
Neutral |
| 5 |
CWS |
9.47 |
9.47 |
9.47 |
2.22 |
13.3% |
2.28 |
0 |
Neutral |
| 6 |
DET |
1.66 |
1.66 |
1.66 |
2.43 |
11.8% |
1.17 |
0 |
Neutral |
| 7 |
LAA |
3.00 |
3.00 |
3.00 |
2.43 |
21.2% |
1.40 |
0 |
Neutral |
| 8 |
SEA |
3.12 |
3.12 |
3.12 |
2.58 |
28.8% |
0.81 |
0 |
Neutral |
| 9 |
SD |
3.86 |
3.86 |
3.86 |
2.67 |
12.9% |
1.43 |
0 |
Neutral |
| 10 |
BOS |
2.70 |
2.70 |
2.70 |
2.70 |
23.8% |
1.20 |
0 |
Neutral |
| 11 |
PIT |
6.72 |
6.72 |
6.72 |
2.80 |
6.9% |
1.34 |
0 |
Neutral |
| 12 |
PHI |
2.45 |
2.45 |
2.45 |
2.92 |
34.9% |
0.91 |
0 |
Neutral |
| 13 |
LAD |
4.71 |
4.71 |
4.71 |
3.03 |
23.8% |
1.11 |
0 |
Neutral |
| 14 |
TB |
2.45 |
2.45 |
2.45 |
3.19 |
15.0% |
0.64 |
0 |
Neutral |
| 15 |
CIN |
2.70 |
2.70 |
2.70 |
3.50 |
13.3% |
1.50 |
0 |
Neutral |
| 16 |
MIA |
1.93 |
1.93 |
1.93 |
3.74 |
18.5% |
0.86 |
0 |
Neutral |
| 17 |
ATH |
3.50 |
3.50 |
3.50 |
3.88 |
-2.2% |
1.36 |
0 |
Neutral |
| 18 |
COL |
5.23 |
5.23 |
5.23 |
3.91 |
10.0% |
1.63 |
0 |
Neutral |
| 19 |
ATL |
0.75 |
0.75 |
0.75 |
3.93 |
8.5% |
0.92 |
0 |
Neutral |
| 20 |
MIL |
1.94 |
1.94 |
1.94 |
3.96 |
28.3% |
1.18 |
0 |
Neutral |
| 21 |
CHC |
7.20 |
7.20 |
7.20 |
4.10 |
21.4% |
1.20 |
0 |
Neutral |
| 22 |
STL |
0.82 |
0.82 |
0.82 |
4.10 |
6.8% |
1.00 |
0 |
Neutral |
| 23 |
TEX |
5.17 |
5.17 |
5.17 |
4.13 |
25.6% |
1.03 |
0 |
Neutral |
| 24 |
NYM |
3.50 |
3.50 |
3.50 |
4.27 |
17.8% |
1.36 |
0 |
Neutral |
| 25 |
BAL |
1.54 |
1.54 |
1.54 |
4.47 |
4.2% |
1.03 |
0 |
Neutral |
| 26 |
WSH |
6.21 |
6.21 |
6.21 |
4.59 |
7.3% |
1.72 |
0 |
Neutral |
| 27 |
ARI |
5.26 |
5.26 |
5.26 |
5.87 |
6.8% |
1.31 |
0 |
Neutral |
| 28 |
KC |
3.60 |
3.60 |
3.60 |
6.10 |
15.9% |
1.40 |
0 |
Neutral |
| 29 |
HOU |
6.56 |
6.56 |
6.56 |
6.41 |
8.3% |
1.79 |
0 |
Neutral |
| 30 |
CLE |
5.26 |
5.26 |
5.26 |
6.53 |
12.9% |
1.53 |
0 |
Neutral |
ERA Earned run average over rolling window ·
FIP Fielding independent pitching ·
K-BB% Strikeouts minus walks per batter — best forward ERA predictor ·
WHIP Walks + hits per inning pitched ·
Mom. Rank change 28d vs 7d ·
Signal Value/Fade/Watch classification
Team batting rankings
📊 Sorted by R/G (runs per game) — most direct measure for over/under betting.
💥 OPS = on-base + slugging. Captures both contact quality and power in one number.
🎯 wRC+ = park-adjusted offensive output. 100 = league avg. 110 = 10% above avg.
📈 Momentum = 28d rank minus 7d rank. Flags lineups heating up faster than market adjusts.
🎯 Signal = Value/Fade/Watch. Value = offense trending up vs underrated schedule.
| # |
Team |
7d R/G |
14d R/G |
28d R/G |
OPS |
wRC+ |
Mom. |
Signal |
| 1 |
MIL |
10.00 |
10.00 |
10.00 |
1.038 |
185 |
0 |
Neutral |
| 2 |
NYM |
7.50 |
7.50 |
7.50 |
0.929 |
132 |
0 |
Neutral |
| 3 |
STL |
7.50 |
7.50 |
7.50 |
0.856 |
106 |
0 |
Neutral |
| 4 |
CHC |
7.00 |
7.00 |
7.00 |
0.692 |
116 |
0 |
Neutral |
| 5 |
ATL |
6.00 |
6.00 |
6.00 |
0.975 |
169 |
0 |
Neutral |
| 6 |
LAA |
6.00 |
6.00 |
6.00 |
0.864 |
166 |
0 |
Neutral |
| 7 |
TB |
6.00 |
6.00 |
6.00 |
0.819 |
129 |
0 |
Neutral |
| 8 |
WSH |
6.00 |
6.00 |
6.00 |
0.828 |
114 |
0 |
Neutral |
| 9 |
TOR |
5.50 |
5.50 |
5.50 |
0.714 |
125 |
0 |
Neutral |
| 10 |
LAD |
5.33 |
5.33 |
5.33 |
0.826 |
110 |
0 |
Neutral |
| 11 |
SEA |
4.67 |
4.67 |
4.67 |
0.812 |
114 |
0 |
Neutral |
| 12 |
ATH |
4.50 |
4.50 |
4.50 |
0.495 |
58 |
0 |
Neutral |
| 13 |
PHI |
4.50 |
4.50 |
4.50 |
0.741 |
63 |
0 |
Neutral |
| 14 |
PIT |
4.50 |
4.50 |
4.50 |
0.793 |
107 |
0 |
Neutral |
| 15 |
CLE |
4.33 |
4.33 |
4.33 |
0.792 |
89 |
0 |
Neutral |
| 16 |
DET |
4.33 |
4.33 |
4.33 |
0.697 |
76 |
0 |
Neutral |
| 17 |
HOU |
4.33 |
4.33 |
4.33 |
0.537 |
88 |
0 |
Neutral |
| 18 |
NYY |
4.33 |
4.33 |
4.33 |
0.695 |
90 |
0 |
Neutral |
| 19 |
BOS |
4.00 |
4.00 |
4.00 |
0.739 |
104 |
0 |
Neutral |
| 20 |
TEX |
4.00 |
4.00 |
4.00 |
0.626 |
92 |
0 |
Neutral |
| 21 |
CIN |
3.00 |
3.00 |
3.00 |
0.492 |
66 |
0 |
Neutral |
| 22 |
MIA |
3.00 |
3.00 |
3.00 |
0.694 |
99 |
0 |
Neutral |
| 23 |
ARI |
2.67 |
2.67 |
2.67 |
0.579 |
50 |
0 |
Neutral |
| 24 |
MIN |
2.50 |
2.50 |
2.50 |
0.510 |
38 |
0 |
Neutral |
| 25 |
SD |
2.33 |
2.33 |
2.33 |
0.530 |
60 |
0 |
Neutral |
| 26 |
COL |
2.00 |
2.00 |
2.00 |
0.513 |
45 |
0 |
Neutral |
| 27 |
BAL |
1.50 |
1.50 |
1.50 |
0.473 |
41 |
0 |
Neutral |
| 28 |
CWS |
1.50 |
1.50 |
1.50 |
0.608 |
82 |
0 |
Neutral |
| 29 |
KC |
1.00 |
1.00 |
1.00 |
0.452 |
37 |
0 |
Neutral |
| 30 |
SF |
0.33 |
0.33 |
0.33 |
0.296 |
6 |
0 |
Neutral |
R/G Runs per game over rolling window ·
OPS On-base plus slugging ·
wRC+ Park-adjusted runs created (100 = league avg, higher = better) ·
Mom. Rank change 28d vs 7d ·
Signal Value/Fade/Watch classification
Top edge signals — data extraction
Signals extracted from rolling tables above. Data observations only — not betting recommendations.
Injury & lineup log
| Player |
Team |
Status |
Injury |
Impact |
| Andrew Vaughn |
MIL |
10-day IL |
10-day IL — Left hamate fracture |
Milwaukee Brewers placed 1B Andrew Vaughn on the 10-day injured list retroactive |
| Christopher Morel |
MIA |
10-day IL |
10-day IL — Left oblique strain |
Miami Marlins placed LF Christopher Morel on the 10-day injured list retroactive |
Activated from IL
CWS: Bryan Hudson — activated from IL
Free Tool · mlb.up.railway.app
MLB Stats Tracker
The individual player layer behind this newsletter. Look up any batter or pitcher on today's slate with rolling performance windows and color-coded thresholds.
⚾ Batters — AVG / OBP / SLG / HR / K / RBI over last 7, 10, or 21 games with at least one at-bat
⚾ Pitchers — ERA / WHIP / K / BB over last 2, 3, or 4 starts (actual outings, not calendar days)
🔄 Cache refreshes at 6AM PT daily
Methodology
Rolling windows — 7, 14, and 28-day stats calculated from completed games only. Postponed games excluded. All three windows shown side by side so you can spot trends.
Momentum — rank_28d minus rank_7d. Positive = team is outperforming their season baseline recently. Negative = declining. This is the core signal driver.
Schedule strength (SOS) — based on opponent quality over the window. Easy / Avg / Hard. A Value signal on a Hard schedule is stronger than one on an Easy schedule.
ERA-FIP gap — ERA minus FIP. Gap over 1.0 means ERA is likely to regress down (pitcher got unlucky). Gap under -1.0 means ERA may regress up.
Signals — Value = momentum +5 or more on Avg/Hard schedule. Fade = -5 or worse on Easy/Avg. Watch = divergence of 3–4. Neutral = insufficient movement.
wRC+ — park-adjusted offensive output. 100 = league average. Approximated from box score data using 2026 wOBA weights.
Data sources — MLB Stats API (games, box scores, transactions). Stats API is unofficial but stable.
V1 note: Straight rolling ERA with no leverage weighting. Leverage-weighted bullpen ERA planned for V2.
Compass publishes statistical analysis and data signals for informational purposes only. Nothing in this newsletter constitutes betting advice or a recommendation to wager. Sports betting involves significant financial risk — please gamble responsibly.