Game recaps
ATH starter
Luis Severino
5.0 IP · 2 ER · 3 K · 3 H · 84 pitches
TOR starter
Kevin Gausman
6.0 IP · 1 ER · 11 K · 1 H · 83 pitches
ATH performers
Shea Langeliers
3-4 (2 HR, 2 RBI)
TOR performers
Andrés Giménez
2-3 (3 RBI, 1 BB)
Kazuma Okamoto
2-3 (2 R, 1 BB)
Ernie Clement
2-4 (1 R)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
CLE starter
Gavin Williams
5.0 IP · 3 ER · 7 K · 2 H · 89 pitches
SEA starter
George Kirby
6.0 IP · 1 ER · 6 K · 2 H · 90 pitches
CLE performers
Steven Kwan
2-4
SEA performers
Nothing noteworthy
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
NYY starter
Cam Schlittler
5.3 IP · 0 ER · 8 K · 1 H · 68 pitches
SF starter
Robbie Ray
5.3 IP · 2 ER · 4 K · 5 H · 89 pitches
NYY performers
Giancarlo Stanton
2-4 (1 HR, 1 RBI)
José Caballero
2-4
SF performers
Nothing noteworthy
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
DET starter
Framber Valdez
6.0 IP · 1 ER · 5 K · 7 H · 83 pitches
SD starter
Michael King
5.0 IP · 0 ER · 6 K · 1 H · 82 pitches
DET performers
Nothing noteworthy
SD performers
Jackson Merrill
2-3 (1 R, 1 BB)
Jake Cronenworth
2-4
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
COL starter
Kyle Freeland
4.3 IP · 2 ER · 2 K · 5 H · 81 pitches
MIA starter
Sandy Alcantara
7.0 IP · 0 ER · 5 K · 4 H · 73 pitches
COL performers
Hunter Goodman
2-4
MIA performers
Javier Sanoja
3-3 (1 RBI)
Connor Norby
2-3
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
ARI starter
Ryne Nelson
4.7 IP · 4 ER · 4 K · 2 H · 83 pitches
LAD starter
Emmet Sheehan
3.3 IP · 4 ER · 6 K · 5 H · 83 pitches
ARI performers
Ketel Marte
2-5 (1 HR, 1 RBI)
Alek Thomas
2-3 (3 RBI, 1 BB)
Gabriel Moreno
2-4 (1 R)
LAD performers
Alex Freeland
2-3 (1 HR, 1 RBI)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
LAA starter
Yusei Kikuchi
4.3 IP · 2 ER · 3 K · 8 H · 86 pitches
HOU starter
Mike Burrows
5.7 IP · 5 ER · 6 K · 9 H · 94 pitches
LAA performers
Mike Trout
3-4 (1 HR, 1 RBI, 1 BB)
Josh Lowe
2-4 (1 HR, 3 RBI)
Zach Neto
2-5 (1 HR, 1 RBI)
HOU performers
Jeremy Peña
2-5 (1 R)
Carlos Correa
2-3 (1 BB)
Bettor signal
Data pending — rolling signal analysis available above.
Fantasy signal
Data pending — check injury log for lineup impact.
KC starter
Cole Ragans
4.0 IP · 4 ER · 5 K · 6 H · 90 pitches
ATL starter
Chris Sale
6.0 IP · 0 ER · 6 K · 3 H · 88 pitches
KC performers
Bobby Witt Jr.
2-4
ATL performers
Ozzie Albies
2-4 (1 HR, 1 RBI)
Austin Riley
3-3 (1 R, 1 BB)
Matt Olson
2-4 (1 R)
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 |
ATL |
0.00 |
0.00 |
0.00 |
1.77 |
18.2% |
0 |
Neutral |
| 2 |
BOS |
0.00 |
0.00 |
0.00 |
1.43 |
36.4% |
0 |
Neutral |
| 3 |
COL |
0.00 |
0.00 |
0.00 |
1.99 |
14.5% |
0 |
Neutral |
| 4 |
LAA |
0.00 |
0.00 |
0.00 |
2.32 |
32.0% |
0 |
Neutral |
| 5 |
LAD |
0.00 |
0.00 |
0.00 |
1.95 |
24.9% |
0 |
Neutral |
| 6 |
MIA |
0.00 |
0.00 |
0.00 |
-0.90 |
44.4% |
0 |
Neutral |
| 7 |
NYY |
0.00 |
0.00 |
0.00 |
2.32 |
30.2% |
0 |
Neutral |
| 8 |
TEX |
0.00 |
0.00 |
0.00 |
2.19 |
23.3% |
0 |
Neutral |
| 9 |
SF |
1.17 |
1.17 |
1.17 |
4.66 |
24.9% |
0 |
Neutral |
| 10 |
DET |
1.50 |
1.50 |
1.50 |
4.60 |
32.0% |
0 |
Neutral |
| 11 |
WSH |
1.70 |
1.70 |
1.70 |
3.29 |
16.7% |
0 |
Neutral |
| 12 |
MIL |
2.25 |
2.25 |
2.25 |
3.35 |
56.2% |
0 |
Neutral |
| 13 |
ATH |
2.43 |
2.43 |
2.43 |
3.91 |
0.0% |
0 |
Neutral |
| 14 |
TOR |
3.00 |
3.00 |
3.00 |
6.10 |
38.5% |
0 |
Neutral |
| 15 |
CHC |
3.40 |
3.40 |
3.40 |
6.68 |
22.8% |
0 |
Neutral |
| 16 |
CLE |
3.86 |
3.86 |
3.86 |
4.39 |
40.0% |
0 |
Neutral |
| 17 |
SEA |
4.03 |
4.03 |
4.03 |
4.29 |
21.8% |
0 |
Neutral |
| 18 |
BAL |
4.50 |
4.50 |
4.50 |
-0.90 |
50.0% |
0 |
Neutral |
| 19 |
KC |
4.50 |
4.50 |
4.50 |
0.60 |
29.4% |
0 |
Neutral |
| 20 |
HOU |
4.68 |
4.68 |
4.68 |
7.91 |
27.7% |
0 |
Neutral |
| 21 |
SD |
5.40 |
5.40 |
5.40 |
4.10 |
20.0% |
0 |
Neutral |
| 22 |
ARI |
6.16 |
6.16 |
6.16 |
5.29 |
9.4% |
0 |
Neutral |
| 23 |
MIN |
6.67 |
6.67 |
6.67 |
3.47 |
7.6% |
0 |
Neutral |
| 24 |
NYM |
6.75 |
6.75 |
6.75 |
4.85 |
18.8% |
0 |
Neutral |
| 25 |
PIT |
7.40 |
7.40 |
7.40 |
7.07 |
25.1% |
0 |
Neutral |
| 26 |
CIN |
9.00 |
9.00 |
9.00 |
3.10 |
18.8% |
0 |
Neutral |
| 27 |
PHI |
9.00 |
9.00 |
9.00 |
7.77 |
6.7% |
0 |
Neutral |
| 28 |
STL |
13.85 |
13.85 |
13.85 |
4.64 |
11.7% |
0 |
Neutral |
| 29 |
CWS |
14.29 |
14.29 |
14.29 |
10.72 |
2.8% |
0 |
Neutral |
| 30 |
TB |
24.00 |
24.00 |
24.00 |
7.77 |
5.0% |
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 |
PHI |
0.00 |
0.00 |
0.00 |
-0.23 |
47.6% |
0.50 |
0 |
Neutral |
| 2 |
NYY |
0.00 |
0.00 |
0.00 |
1.29 |
28.4% |
0.34 |
0 |
Neutral |
| 3 |
BOS |
0.00 |
0.00 |
0.00 |
1.43 |
26.1% |
0.83 |
0 |
Neutral |
| 4 |
DET |
0.75 |
0.75 |
0.75 |
1.52 |
21.3% |
0.92 |
0 |
Neutral |
| 5 |
MIN |
0.00 |
0.00 |
0.00 |
1.59 |
26.5% |
0.57 |
0 |
Neutral |
| 6 |
TOR |
1.50 |
1.50 |
1.50 |
1.60 |
57.9% |
0.17 |
0 |
Neutral |
| 7 |
CIN |
0.00 |
0.00 |
0.00 |
2.27 |
11.5% |
1.33 |
0 |
Neutral |
| 8 |
SF |
6.99 |
6.99 |
6.99 |
2.52 |
21.8% |
1.46 |
0 |
Neutral |
| 9 |
MIA |
0.00 |
0.00 |
0.00 |
2.53 |
11.1% |
0.86 |
0 |
Neutral |
| 10 |
ATL |
0.00 |
0.00 |
0.00 |
2.60 |
12.5% |
1.00 |
0 |
Neutral |
| 11 |
WSH |
4.86 |
4.86 |
4.86 |
2.83 |
11.7% |
1.62 |
0 |
Neutral |
| 12 |
MIL |
1.80 |
1.80 |
1.80 |
3.10 |
40.0% |
1.00 |
0 |
Neutral |
| 13 |
SD |
6.75 |
6.75 |
6.75 |
3.23 |
7.7% |
1.88 |
0 |
Neutral |
| 14 |
BAL |
0.00 |
0.00 |
0.00 |
3.39 |
3.6% |
1.00 |
0 |
Neutral |
| 15 |
COL |
4.19 |
4.19 |
4.19 |
3.57 |
0.0% |
1.63 |
0 |
Neutral |
| 16 |
SEA |
3.19 |
3.19 |
3.19 |
3.63 |
25.6% |
0.80 |
0 |
Neutral |
| 17 |
CHC |
14.59 |
14.59 |
14.59 |
3.64 |
33.2% |
1.89 |
0 |
Neutral |
| 18 |
ATH |
3.60 |
3.60 |
3.60 |
3.70 |
0.0% |
1.20 |
0 |
Neutral |
| 19 |
LAA |
1.75 |
1.75 |
1.75 |
3.88 |
10.9% |
1.46 |
0 |
Neutral |
| 20 |
LAD |
5.81 |
5.81 |
5.81 |
3.96 |
25.1% |
1.29 |
0 |
Neutral |
| 21 |
CWS |
15.88 |
15.88 |
15.88 |
4.28 |
0.0% |
2.94 |
0 |
Neutral |
| 22 |
HOU |
4.33 |
4.33 |
4.33 |
4.45 |
17.9% |
1.83 |
0 |
Neutral |
| 23 |
TB |
1.80 |
1.80 |
1.80 |
4.90 |
10.5% |
0.80 |
0 |
Neutral |
| 24 |
NYM |
7.20 |
7.20 |
7.20 |
5.50 |
33.3% |
1.20 |
0 |
Neutral |
| 25 |
TEX |
9.57 |
9.57 |
9.57 |
5.65 |
31.7% |
1.70 |
0 |
Neutral |
| 26 |
STL |
1.80 |
1.80 |
1.80 |
6.10 |
0.0% |
1.80 |
0 |
Neutral |
| 27 |
CLE |
5.40 |
5.40 |
5.40 |
7.90 |
13.6% |
1.40 |
0 |
Neutral |
| 28 |
ARI |
8.28 |
8.28 |
8.28 |
7.93 |
2.6% |
1.38 |
0 |
Neutral |
| 29 |
PIT |
64.29 |
64.29 |
64.29 |
8.81 |
-12.4% |
8.57 |
0 |
Neutral |
| 30 |
KC |
9.00 |
9.00 |
9.00 |
13.35 |
4.6% |
2.50 |
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 |
14.00 |
14.00 |
14.00 |
1.118 |
227 |
0 |
Neutral |
| 2 |
NYM |
11.00 |
11.00 |
11.00 |
1.055 |
193 |
0 |
Neutral |
| 3 |
WSH |
10.00 |
10.00 |
10.00 |
0.918 |
164 |
0 |
Neutral |
| 4 |
STL |
9.00 |
9.00 |
9.00 |
0.970 |
177 |
0 |
Neutral |
| 5 |
PIT |
7.00 |
7.00 |
7.00 |
0.865 |
135 |
0 |
Neutral |
| 6 |
TB |
7.00 |
7.00 |
7.00 |
0.925 |
196 |
0 |
Neutral |
| 7 |
DET |
6.50 |
6.50 |
6.50 |
0.755 |
115 |
0 |
Neutral |
| 8 |
LAD |
6.50 |
6.50 |
6.50 |
0.869 |
124 |
0 |
Neutral |
| 9 |
ATL |
6.00 |
6.00 |
6.00 |
1.042 |
198 |
0 |
Neutral |
| 10 |
NYY |
5.00 |
5.00 |
5.00 |
0.697 |
101 |
0 |
Neutral |
| 11 |
PHI |
5.00 |
5.00 |
5.00 |
0.862 |
134 |
0 |
Neutral |
| 12 |
LAA |
4.50 |
4.50 |
4.50 |
0.846 |
168 |
0 |
Neutral |
| 13 |
SEA |
4.50 |
4.50 |
4.50 |
0.832 |
113 |
0 |
Neutral |
| 14 |
CHC |
4.00 |
4.00 |
4.00 |
0.644 |
89 |
0 |
Neutral |
| 15 |
CLE |
3.50 |
3.50 |
3.50 |
0.839 |
100 |
0 |
Neutral |
| 16 |
ARI |
3.00 |
3.00 |
3.00 |
0.587 |
76 |
0 |
Neutral |
| 17 |
BOS |
3.00 |
3.00 |
3.00 |
0.746 |
125 |
0 |
Neutral |
| 18 |
TEX |
3.00 |
3.00 |
3.00 |
0.593 |
65 |
0 |
Neutral |
| 19 |
TOR |
3.00 |
3.00 |
3.00 |
0.650 |
69 |
0 |
Neutral |
| 20 |
ATH |
2.00 |
2.00 |
2.00 |
0.456 |
28 |
0 |
Neutral |
| 21 |
BAL |
2.00 |
2.00 |
2.00 |
0.464 |
33 |
0 |
Neutral |
| 22 |
CWS |
2.00 |
2.00 |
2.00 |
0.573 |
71 |
0 |
Neutral |
| 23 |
MIA |
2.00 |
2.00 |
2.00 |
0.658 |
73 |
0 |
Neutral |
| 24 |
SD |
2.00 |
2.00 |
2.00 |
0.522 |
52 |
0 |
Neutral |
| 25 |
COL |
1.00 |
1.00 |
1.00 |
0.484 |
38 |
0 |
Neutral |
| 26 |
HOU |
1.00 |
1.00 |
1.00 |
0.474 |
52 |
0 |
Neutral |
| 27 |
MIN |
1.00 |
1.00 |
1.00 |
0.527 |
39 |
0 |
Neutral |
| 28 |
CIN |
0.00 |
0.00 |
0.00 |
0.388 |
-7 |
0 |
Neutral |
| 29 |
KC |
0.00 |
0.00 |
0.00 |
0.432 |
30 |
0 |
Neutral |
| 30 |
SF |
0.00 |
0.00 |
0.00 |
0.249 |
-48 |
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 |
| Mickey Moniak |
COL |
10-day IL |
10-day IL — Right ring finger sprain |
Colorado Rockies placed RF Mickey Moniak on the 10-day injured list retroactive |
| Carlos Vargas |
SEA |
10-day IL |
15-day IL — Right lat strain |
Seattle Mariners placed RHP Carlos Vargas on the 15-day injured list retroactive |
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.