Research on pitching, hitting, and projections, alongside tools for comparing contracts and building trades. The articles report the tests and their limits; the trade tools use a July 31, 2026 data snapshot.
A weak spot only matters if the pitcher on the mound can reach it. In a retrospective 2024–25 test, the part of opponents’ plans aimed at a specific hitter matched about 46% of what my model said each pitcher could reach, against less than 10% when hitters were shuffled. I can’t show those plans cost hitters anything: that test came back null.
Pitch shape reduced forecast error by 1.3% across 284 eligible pitchers. The uncertainty interval includes no improvement, and ShapeCast overestimated K-BB% more than the comparison model did.
Add public Statcast pitch traits to 16 first-half statistics and second-half K-BB% forecasts get 2.6% better (95% interval 0.4% to 4.8%). But the smaller version I committed to in advance failed its own test, and this model’s RMSE was 4.6% higher than ZiPS.
Adjusting home-run forecasts for the pitches a hitter swings at made them 0.9% worse. Adding a pitcher’s secondary pitches improved fastball forecasts by 0.08%, inside an interval that spans zero. Spray-adjusted xwOBA made hitter forecasts 0.3% worse. A null on half a season of public data doesn’t prove an idea is zero, and I’ve kept all three out of the trade tools.
A ridge correction cut rest-of-season error for 2025 hitters by 4.4%, though not by enough to rule out noise. When the job was the following season, it was 3.3% worse than ZiPS alone. The trade tool runs mostly on future seasons, so the correction stayed out.
At default settings (the offseason view, with July 31, 2026 data), the trade model puts McGonigle at $382.4 million of surplus value and Judge at $18.2 million. Judge is projected to be the better player in 2027, 5.8 fWAR to 5.4. The gap is salary and time: McGonigle is paid $150.0 million over eight seasons, Judge $200.0 million over five. These are model numbers, not asking prices.
At default settings (the offseason view, with July 31, 2026 data), Paul Skenes comes out $4.2 million ahead of Julio Rodríguez in the trade builder, 3.9% of the larger side, and their ranges share $34.3 million of possible values. Neither number settles the deal. The ranges are fixed allowances, not confidence intervals, and they ignore a player’s age and experience.