Model Deep-Dive

Pitching+: The Complete
Picture of Pitch Quality

How Pitching+ combines command, stuff, sequencing, and batter quality into one holistic grade -- the scoreboard view of every pitch thrown.

The Complete Picture

Location+ measures command. Stuff+ measures nastiness. Pitching+ encompasses both and adds context that neither model can see alone -- sequencing, batter quality, and the interactions between everything.

PITCHING+ 40 features / depth 6 / direct xRV target Location+ Command Count context Zone location Stuff+ Velocity & spin Movement profile Release mechanics Both Sequencing pitch count, tunnels Batter Quality who's hitting Interactions hb x location, inning Click any region to see details

Pitching+ = The Whole Picture

Pitching+ isn't just Location+ plus Stuff+. It trains a single model on raw expected run value (xRV), learning interactions that neither component model can capture on its own.

  • A slider thrown low-and-away to a RHB who has already seen 3 fastballs this at-bat
  • A 97 mph fastball up-and-in that's MORE valuable than its stuff + location independently
  • A changeup to a batter who crushes fastballs -- context changes everything

What the Extra Features Add

Pitching+ uses 40 features -- all the physics and location features from Stuff+ and Location+, plus sequencing, batter quality, inning context, and interaction terms that capture the game situation.

A Single Pitch Through Pitching+'s Lens Release Plate PHYSICS (Stuff+) velocity, spin_rate pfx_x/z, extension vmov_diff_from_ff LOCATION (Location+) plate_x/z, zone_z_norm against_break, arm-plane SEQUENCING (new) pitch_type_count_to_batter tunnel_rotation axis_deviation fastball_movement_spread BATTER QUALITY (new) adjusts expectations based on who is hitting INTERACTIONS (new) hb_x_plate_x decomposed inning break x location = deception COUNT CONTEXT strikes, balls, outs shared with Location+
S
Sequencing
Has the batter seen this pitch before in this at-bat? How distinguishable is it from the fastball mid-flight? A first-pitch slider and a third-pitch slider have very different outcomes.
pitch_type_count_to_batter tunnel_rotation axis_deviation fastball_movement_spread
B
Batter Quality
The same pitch thrown to Juan Soto and a replacement-level hitter should be worth different amounts. This feature adjusts the model's expectations for who's in the box.
batter_quality
I
Interaction Terms
Horizontal break times horizontal location captures deception geometry -- a slider breaking AWAY from a batter who's already lunging toward the outside. Neither break nor location alone tells this story.
hb_x_plate_x decomposed_inning
C
Inning Context
Decomposed inning effects capture fatigue, lineup position effects, and how pitch effectiveness changes as the game progresses. A pitcher's 5th-inning slider isn't the same as their 1st-inning slider.
inning_decomposed haa

Why Train a Separate Combined Model?

Why not just add Location+ and Stuff+ together? Because interactions between command and stuff create value that neither model alone can see. The combined model learns these effects directly from outcomes.

The Same Pitch -- Different Models See Different Things 97 mph fastball, up-and-in to a LHB, 1-2 count, 3rd fastball this AB Location+ Stuff+ Pitching+ FB Sees: up-and-in Count: 1-2 Doesn't know it's 97mph Loc+ = 112 Good location velo: 97.2 mph spin: 2,340 rpm iVB: +16.8 in ext: 6.7 ft Sees: pure physics Residual after Location+ Doesn't know the count St+ = 108 Good stuff Sees EVERYTHING plus: 3rd FB this AB vs quality LHB hb x location synergy 97 up-and-in after 2 FBs = less surprise value Interaction effect detected P+ = 105 Good, but less than sum Simple addition: Loc+ 112 + St+ 108 = "120" (overestimates) Pitching+: 105 (knows the 3rd fastball has diminishing returns, batter is adjusting) The combined model captures interaction effects that neither model alone can see

Key insight: Pitching+ trains directly on raw xRV (expected run value), NOT on residuals. It builds its own view of every pitch from scratch, learning interaction effects like "a good fastball in a predictable sequence is worth less" that emerge naturally from the unified training target.

When to Use Each Grade

Each model answers a different question. Click any node to see more detail about when and why you'd reach for that grade.

What do you want to know? "How good is this pitch overall?" "Is the pitch itself nasty?" "Does the pitcher have good command?" Pitching+ The scoreboard view Stuff+ Pure nastiness Location+ Command skill "How do the pitches play together?" deeper question Arsenal Synergy Pitch mix interaction Fantasy rankings, WAR comps Scouting, pitch design Development, diagnosis Arsenal construction, pitch mix Pitching+ for evaluation, Stuff+ and Location+ for diagnosis, Arsenal Synergy for pitch mix

Click a node above to see details

Each model answers a different question about pitcher performance. Click any question or answer node to learn more about when to use each grade.

Deeper Trees for Deeper Understanding

More features means more potential interactions. More potential interactions means each tree needs more splits per path to capture them. But more capacity requires more regularization to stay honest.

Model Complexity Ladder Location+ Features 11 Depth 4 Max Trees 400 Learning Rate 0.05 Regularization default Simplest model Pure command signal Stuff+ Features 24 Depth 5 Max Trees 600 Learning Rate 0.08 Regularization default Medium complexity Physics interactions Pitching+ Features 40 Depth 6 Max Trees 600 Learning Rate 0.08 Regularization alpha=1 lambda=10 Most complex model Heaviest regularization More features = deeper trees + heavier regularization = controlled complexity

Why alpha=1.0 and lambda=10? With 40 features and depth 6, each tree has up to 64 leaf nodes. That's a lot of capacity. L1 regularization (alpha) encourages sparsity -- most leaf predictions stay near zero. L2 regularization (lambda) prevents any single leaf from being extreme. Together they act as a leash: the model can learn complex interactions, but it has to earn every bit of signal.

The Scoreboard View

Pitching+ is the best single number for predicting outcomes. But it hides why a pitcher succeeds. Use Location+ and Stuff+ for diagnosis, Pitching+ for evaluation.

Evaluation

Pitching+ answers "how good is this pitch?" It's the closest to actual run prevention -- the scoreboard doesn't care if it was nasty stuff or elite command.

Diagnosis

When Pitching+ drops, look at Location+ and Stuff+ to find out why. Losing velocity? Command slipping? The component models tell the story.

Development

Stuff+ identifies what a pitcher's arsenal CAN do. Location+ reveals their command floor. Together they show the path to a better Pitching+ grade.

40
Features
6
Tree Depth
xRV
Direct Target
6-way
Split Strategy

The bottom line: Pitching+ is the holistic grade. It sees command, stuff, sequencing, batter quality, and the interactions between them all. When you want a single number for how good a pitch was -- in context, against this batter, at this moment in the game -- Pitching+ is the answer.