Viewing on email? Read the full version in your browser →
Vol. 1 · No. 046
The Hard Count
Tuesday · July 7, 2026
Read it before the snap.
◷ 5 min read
16 MLB NBA · OFF NHL · OFF NFL · OFF CFB · OFF CBB · OFF

A pitcher's Tuesday. Four aces take the ball — and the reputation each one carries doesn't quite match the number underneath it.

The Audible
MLB · Angels at Rangers · 7:05 PM CT
Jacob deGrom Still Throws 97. The Pitch That Made Him Is the One They're Squaring Up.
Globe Life Field · Arlington · roof likely closed, upper 90s outside
José Soriano (LAA) vs Jacob deGrom (TEX)
Spread
TEX −1.5
Total
7.0
lowest on board
Moneyline
TEX −165
LAA +141

deGrom is 38 now, and the fastball still reads 97 on the gun — the velocity never left. The reputation traveling with it says untouchable. The Statcast page disagrees, and the disagreement is the whole angle.

The four-seamer that built the legend is now the pitch hitters square up: a 55% hard-hit rate when he throws it. He's a fly-ball pitcher these days — 45% of balls in play go in the air, and they leave the yard at 1.5 per nine. The strikeout artistry is fully intact (30% of hitters, a walk rate under 6%, a 0.99 WHIP), but the shape has changed. He misses bats with the slider now — 41% whiff, and he throws it more than a third of the time. The heater sets up the out; it doesn't get it anymore.

Which makes the opponent the sub-plot. The Angels arrive having lost six straight, a lineup that isn't punishing anyone at the moment. The question a low total (7.0, the smallest number on the entire board) invites: does a cold lineup let a fly-ball ace live in the strike zone, or does one mistake heater in a closed-roof yard end up in the seats? The margin between those two outcomes is one swing, and it's the swing deGrom no longer fully controls.

Sources: Baseball Savant · FanGraphs · MLB Stats APIWatch: deGrom 4-seam location
The Read
MLB · Athletics at Tigers · 6:40 PM ET
Two ERAs Open With a Three in Detroit. Only One of Them Is Paying Its Own Rent.
Comerica Park · Detroit · 85°F, calm · run factor 0.98, homers suppressed
J.T. Ginn (ATH) vs Tarik Skubal (DET)
Spread
DET −1.5
Total
8.0
Moneyline
DET −185
ATH +156

Two starters walk in with an ERA that starts with a three. That's where the resemblance ends.

Skubal's 3.15 is his. The expected version — what the quality of contact says he should be allowing — sits at 3.26, essentially on top of it. Nothing is being borrowed. The changeup is the reason: he throws it a quarter of the time and hitters miss it on 49% of swings. When the best pitcher in the league and his shadow stats agree to the decimal, there's no regression waiting in the wings.

Ginn's 3.04 is the mirage. His expected ERA is 4.08 — a full run of daylight between the line on the card and the contact he's actually surrendering. He's a strike-thrower having a good-luck season, and the A's are sending him into a matchup where the other guy doesn't hand runs back. One of these ERAs will still look like this in September. The other is already spending money it hasn't earned.

Sources: Baseball Savant · Stat Mining · MLB Stats APIWatch: Ginn's contact quality vs. the line
Stat of the Day
Paul Skenes · Braves at Pirates · PNC Park
12.3 K/9
How does a five-start slump strike out twelve a game?
Skenes' last five starts carry a 5.67 ERA, and the timeline has noticed. But that stretch also came with 12.3 strikeouts per nine — the stuff didn't go anywhere. The season tell is the strand rate: a 65.8% LOB%, well under the ~72% league norm, sitting beneath a 3.03 FIP and a 2.76 expected ERA. The runs are sequencing noise. The swings-and-misses are the signal. And PNC (0.90 homer factor) is the last park that punishes a fly ball.
The Shift
MLB · Diamondbacks at Padres · 6:40 PM PT
San Diego Is Favored Behind a 10-Run Home ERA. Arizona's Answer Stopped Missing Bats.
Petco Park · San Diego · 69°F · run factor 0.94
Zac Gallen (ARI) vs Germán Márquez (SD)
Spread
SD −1.5
Total
8.7
Moneyline
SD −124
ARI +106

The Padres are laying money at home behind a starter with a 10.38 ERA in his own ballpark this year. On paper that's a gift to Arizona. The line says otherwise — and the reason is who Arizona counters with.

Zac Gallen finished third in the 2023 NL Cy Young race. Over his last five starts he's running an 8.78 ERA, and the number that should stop you is the strikeout rate: 4.2 per nine. That's not an ace having a rough patch — that's an ace who has stopped missing bats entirely, at reliever-in-mop-up levels. The swing-and-miss was the whole engine, and it's gone quiet.

So the market makes its choice: it would rather back Márquez's ugly home split and Petco's run-suppressing dimensions than trust a former top-three finisher who can't get to strike three. The shift here isn't a line move. It's the market quietly reclassifying a name it used to respect.

Sources: Stat Mining · The Odds API · MLB voting recordsWatch: Gallen's swinging-strike rate early
Pre-Snap
MIL @ STL
DH · 12:15 CT

Day-night doubleheader at Busch, and Milwaukee runs Jacob Misiorowski out for the opener — days after losing Brandon Woodruff (shoulder) back to the IL, which thins the rotation depth behind the flamethrower just as the schedule doubles up.

MIL −194 · total 7.5 · Busch run factor 0.97
CHC @ BAL
6:35 ET

Shane Baz against Matthew Boyd, and Camden hangs the highest total on the non-Coors board. A near-coin-flip moneyline says the books can't separate them — the run environment is doing the talking.

pick'em · total 9.3 · Camden hr factor 1.07
HOU @ WSH
6:45 ET

Tatsuya Imai, the NPB import, takes his first road turns into a Nationals lineup that's been quietly competent at home. The stuff plays; the question is whether the command travels.

WSH −122 · total 9.0
KC @ NYM
7:10 ET

Seth Lugo — the man who finished runner-up to tonight's Read subject in the 2024 AL Cy Young vote — brings his junk-drawer arsenal to Citi Field against a Mets club laying a game and a half.

NYM −150 · total 8.5
SEA @ MIA
6:40 ET

Max Meyer hosts Seattle under the loanDepot roof. Miami's a slim home favorite in a pick'em-adjacent number — the kind of game the timeline skips and the sharps don't.

MIA −118 · total 8.0 · roof closed
COL @ LAD
7:10 PT

The heaviest chalk on the board. Los Angeles just got Evan Phillips back off the 60-day IL, reinforcing a bullpen that barely needs it against a Rockies club this far from the deep end.

LAD −274 · total 9.5
Weather Watch
💨Oracle Park · SF
Partly clear, wind off the bay
17 mph W · 60°F
☁️Camden Yards · BAL
Overcast
9 mph NE · 77°F
☁️Great American · CIN
Overcast, warm
8 mph NNW · 87°F
☁️Citi Field · NYM
Overcast
8 mph N · 66°F
🌤️Petco Park · SD
Mostly clear
8 mph WNW · 69°F
☀️Dodger Stadium · LA
Clear
7 mph · 74°F
☁️Busch Stadium · STL
Overcast, hot
5 mph ESE · 87°F
☀️Comerica Park · DET
Clear, warm
4 mph ENE · 85°F
Only Oracle clears the 14-mph flag tonight — a westerly off McCovey Cove into the game's most homer-suppressing yard. Everywhere else plays calm. Domes/roofs at Tropicana (TB), loanDepot (MIA) and Globe Life (TEX) are climate-controlled.
Two-Minute Drill

Three questions off tonight's arms. Tap to reveal — or scroll to the very bottom for the Answer Key.

Q1
Tarik Skubal starts for Detroit tonight, still riding his 2024 AL Cy Young — a unanimous win that capped a pitching Triple Crown. Which runner-up in that vote also takes the ball on tonight's slate, at Citi Field?
Seth Lugo. The Royals right-hander finished second to Skubal in the 2024 AL Cy Young voting — and he's on the mound at Citi tonight.
Q2
Paul Skenes (tonight's Stat of the Day) started the 2024 All-Star Game as a rookie. He was the first Pirates pitcher to start a Midsummer Classic in how long?
Nearly 50 years. The last Pittsburgh pitcher to start an All-Star Game before Skenes was Jerry Reuss, back in 1975.
Q3
Jacob deGrom headlines the Audible for Texas. He won back-to-back National League Cy Young Awards in 2018 and 2019 — for which team?
The New York Mets. deGrom's consecutive NL Cy Youngs came in Queens before he signed with the Rangers.
3/3 = you're the sharp friend. 0/3 = you're reading the right newsletter.
Two-Minute Drill · Answer Key
1. Seth Lugo (Royals) — 2024 AL Cy Young runner-up to Skubal; starting at Citi Field tonight.
2. Nearly 50 years — Jerry Reuss (1975) was the last Pirates pitcher to start an All-Star Game before Skenes in 2024.
3. The New York Mets — deGrom's back-to-back NL Cy Youngs came in 2018 and 2019.