Location+ grades where the pitch crosses the plate and how that interacts with count. It is intentionally blind to velocity, movement, and spin — isolating command as a standalone skill.
Location+ is the first model in the pipeline. It establishes the command baseline, and its predictions become the foundation for Stuff+ — which trains on xRV residuals after removing Location+ predictions. This separation ensures Stuff+ measures pure nastiness, decorrelated from command.
Not all locations are equal — and the "right" spot changes dramatically by pitch type and batter handedness. Location+ learns these value surfaces from millions of pitch outcomes. Toggle between pitch types to see how the model values different zones.
Raw plate coordinates treat all pitchers the same. But a pitch at the same (x, z) location means something very different from a high-three-quarters arm slot versus a sidearm slot. Location+ decomposes plate_x and plate_z into coordinates relative to the pitcher's release point.
Why this matters: Without arm-plane decomposition, Location+ would systematically misgrade pitchers with unusual release points. A sidearm pitcher who consistently hits the outside corner is exercising elite command relative to their delivery — but raw plate_x alone cannot capture that. The decomposition lets the model see command as relative precision.
Every pitch has natural movement from its spin. against_break_location and against_break_vertical measure how much the final plate location differs from where spin alone would have taken the ball. High against-break means the pitcher placed the pitch against its natural tendency — a sign of active command, not passive delivery.
Hover over each feature to learn what it measures and why it matters for grading command. Notice: no velocity, no movement, no spin — purely location and situation.
The model's strength is its discipline. By refusing to look at physics, it produces a command grade that is independent of stuff — making it the perfect baseline for the Stuff+ residual target.
Consider two pitcher archetypes. Their overall results might be similar, but the underlying skills are opposite. Location+ sees the difference that aggregate stats miss.
Lives on the edges of the zone. Every pitch is precisely placed relative to the count and batter. But the stuff won't fool anyone by itself — batters just can't hit what they can't square up.
Throws 100 mph with nasty movement. But leaves pitches over the middle, can't hit the zone in 3-ball counts, and doesn't vary approach by count. Raw arm talent carrying undeveloped control.
Pitching+ combines both skills, which is why these pitchers score similarly overall. But the separated grades reveal entirely different profiles — useful for scouting, development, and projection. A pitcher with elite stuff and poor command has more room to grow than one who has already maxed out on location.
Raw xRV predictions are converted to a 100-centered grade where 100 is league average for that pitch type. The distribution follows a roughly normal shape — most pitches cluster near average, with tails for truly elite or poor command.
Each individual pitch gets a Location+ grade. A pitcher's season grade is the average across all their pitches — meaning one bad pitch doesn't tank a whole outing, but consistent misses will.
Scaling is done within each of the 6 sub-models (fastball/breaking/offspeed crossed with batter hand). A 110 changeup and a 110 fastball both represent the same percentile of command quality within their category.
Location+ is trained first. Its predictions then serve as the subtraction baseline for Stuff+, ensuring the two grades measure independent skills.
11 features, zero physics. Grades where the pitch goes, not what it does when it gets there.
Decomposes location relative to each pitcher's release point. A sidearm corner-painter gets proper credit.
First model trained. Its predictions become the baseline that Stuff+ removes, ensuring decorrelated grades.