Pounds the zone, but too much of it gets hit hard.
Curvelo is getting hit harder than most pitchers
The simulator expects 0.579 bases allowed per batter faced against him — better than 1st percentile of qualified pitchers. The soft spot is HR Suppression (1st percentile). Short relief stints inflate strikeout rates a touch, so read the Strikeouts spoke with that in mind.
Each spoke is a skill estimate adjusted for sample size (not raw season stats), so farther out = better.
Percentiles vs. 424 qualified pitchers — 100+ batters faced, starters and relievers pooled. He hasn't reached that bar himself, so he is measured against them rather than counted among them.
41 batters faced · data through 2026-07-29.
Plays like…
Same archetype, nearest by rate — the pitchers whose profile looks most like this one.
What they throw, how hard, and what misses bats — from pitch tracking, regular season only.
Sinker
34%↑ +11 pts vs '25
94.5 mph · lg 94.8↓ −1.0 mph vs '25
—
Slider
31%↓ −10 pts vs '25
83.3 mph · lg 86.9↓ −1.2 mph vs '25
—
Splitter
20%
83.0 mph · lg 86.8
—
Four-Seam Fastball
16%↓ −15 pts vs '25
95.2 mph · lg 95.1↓ −1.1 mph vs '25
—
By appearance
How the stuff has held up outing to outing
One point per outing — how his velocity, movement, and pitch mix have moved across the season, with league context for scale. Each pitch keeps the same color in every chart.
Platoon splits
How he fares against lefties and righties
Platoon splits (EB/PA allowed)
Dot = shrunk true-talent estimate; bar = 50% probable range. Tap or hover any mark for its number, or tab to a row for all of them.
Faint diamond = his raw, unshrunk rate against that side — small samples make it noisy, which is why the model pulls the dot toward a more trustworthy estimate.
These are bases allowed, so lower is better. Weighted by how often he faces each side, the two splits average back to his modeled overall EB/PA allowed — not the xEB/PA headline at the top of the page, which folds in strikeouts and walks differently.
Gray tick (marked “lg”) = league median vs that side; the faint gray band behind it spans the middle half of the league (25th–75th percentile).
Shrunk splits beat raw splits on held-out seasons, most decisively at low batters-faced counts (relievers especially), and converge with the raw numbers as exposure builds.
vs LHB20 PA0.641
vs LHB: shrunk estimate 0.641 EB/PA, 50% probable range 0.617 to 0.664, based on 20 plate appearances. Raw (unshrunk) rate: 0.495 EB/PA. League median vs LHB: 0.422 EB/PA.
lg
vs RHB20 PA0.601
vs RHB: shrunk estimate 0.601 EB/PA, 50% probable range 0.578 to 0.626, based on 20 plate appearances. Raw (unshrunk) rate: 0.853 EB/PA. League median vs RHB: 0.406 EB/PA.
lg
Raw vs RHB rate (0.853) is off this scale — small samples like this are exactly why the shrunk estimate (the dot) is the trustworthy number, not the raw one.
0.3750.4550.5350.6150.695
← better (fewer bases allowed)worse →
Better vs RHB than vs LHB by 0.040 EB/PA allowed (modeled).
50% probable range: +0.033 to +0.048
About the typical split for a righty arm (median 0.041). He allows more than the league median against both sides.
Contact allowed
What hitters do when they connect
Batters go to the pull side off him most often, and that's where the hardest contact comes from.
Pull and oppo are relative to each batter's stance, so this pools all the hitters he faced.
Batted balls allowed
Where every ball hit off Luis Curvelo landed this season.
Dots are colored by estimated bases (EB) — pale slate (easy out) to dark teal (home-run territory).
Filled dots are hits; hollow rings are outs — a dark ring in the outfield is a crushed ball his defense ran down.
Tap or hover a dot or a row to link the two; use the ▶ links below to watch on Baseball Savant.