The SP Hits Allowed model projects how many hits a starting pitcher will surrender against the day's lineup and finds over/under edges versus the book line. The Batter Hits model does the same for individual hitters. Both use Statcast pitch-type contact matchups and Bayesian-shrunk contact rates. Books set lines around ERA and batting average. We price the matchup.
Hits markets are priced around batting average trends and recent form. We price them from the pitch-level contact matchup, one plate appearance at a time.
We evaluate starting pitcher hit-allowance using 57 Statcast features weighted toward recent form. The key feature is pitch-type xwOBA matchup: each batter's xwOBA on each pitch category is weighted by the pitcher's actual arsenal usage. Physical metrics (fastball IVB, extension, spin rate) add signal beyond contact rates alone.
Starters exit. We estimate SP PA count using the same IP distribution model from our K Props pipeline, then split remaining game PAs to the bullpen. A separate XGBoost model prices RP hits using team aggregate contact rates weighted by recent usage. The simulation prices the full game: starter plus bullpen.
With P(hit) scored for every PA in the lineup, we run 100,000 vectorized simulations. Each simulation samples Beta posteriors and applies a shared per-simulation log-odds shift (game_sigma) to prevent CLT tail compression. The resulting distribution gives precise P(over/under) at any hits line for both pitcher and batter markets.
From pitch-type matchups to a hits distribution. Five stages, no black boxes.
Hit-allowance prediction starts with the pitcher's Statcast arsenal. We build a pitch-type xwOBA matchup feature by weighting each batter's xwOBA on each pitch category by the pitcher's actual usage. A pitcher who throws 38% four-seamers, 28% sliders, and 22% changeups creates a weighted matchup feature for every opposing batter in the lineup.
Physical metrics complement the matchup: fastball IVB (induced vertical break), extension from the mound, arsenal entropy (diversity of pitch usage), and O-swing rate provide signal beyond rolling contact rates. TTO (times-through-order) adjusts P(hit) on the second and third trip through the lineup, where pitchers become more vulnerable.
How deep a starter pitches determines how the lineup's hit opportunities split between the SP and bullpen. We estimate expected SP PA count from the pitcher's recent IP history (730-day Bayesian mean) and the manager's hook tendency. Bullpen PAs are the remainder of the game.
PA distribution across batting slots follows empirical MLB rates (slot 1 averages ~4.45 PA per game vs. slot 9 ~3.95). Each batter's PA vs. starter is sampled from the SP IP distribution across Monte Carlo simulations. Starter depth uncertainty feeds directly into the final hit distribution, widening the tails when a pitcher's depth is unpredictable.
Each projected PA is scored independently. For SP PAs, XGBoost outputs P(hit | PA vs starter) using the pitcher's pitch-type xwOBA matchup feature, TTO value, park hit factor, and individual batter contact metrics. For RP PAs, a separate model uses team bullpen aggregate BABIP, contact rate, and hard-hit% weighted by recent usage.
Batter-side features include: career xBA with Bayesian shrinkage, hard-hit%, 2-year rolling BABIP, O-contact rate, and count-state contact rate (P(contact | 2-strike)). The pitch-type xwOBA matchup is the most powerful feature: it captures specific stylistic mismatches that aggregate batting average cannot see.
With P(hit) for every PA in hand, we run 100,000 vectorized simulations. Each simulation: (1) samples a Beta posterior for each P(hit), propagating model uncertainty rather than using point estimates; (2) applies a shared log-odds shift (game_sigma=0.2) across all PAs in that simulation; (3) draws independent Bernoulli outcomes and sums hits.
Without game_sigma, thousands of independent Bernoulli draws would compress toward the mean via CLT, producing overconfident probability estimates at the tails. game_sigma captures game-level factors (umpire zone, pitcher command day) that affect all PAs together. It's the key architectural difference from a naive Bernoulli model.
Books price pitcher hits allowed around ERA, recent quality starts, and narrative. A pitcher who went 7 innings last week gets a high hits allowed line regardless of the matchup. We price from the contact distribution and find edge where the book's narrative pricing diverges from the Statcast matchup reality.
Pitcher hits allowed and batter hits props are both priced from the same simulation run. We require a minimum edge threshold before releasing any play. Not every game or batter has a play. When the book line accurately prices the matchup, we pass. Volume is not the goal, precision is.
OOS 2025 backtest (March–October, 182 dates). High-edge plays filtered to ≥8% model edge before sizing.
Two markets from one model run. Pitcher hits allowed lines and batter hits props, both priced daily from Statcast pitch-type matchups. A full slate can generate 4–8 plays across both sides of the market.
Get Hits ModelDaily pitcher hits allowed and batter hits props, released when lines drop. Each release includes pitch-type matchup context, xhits projection, edge percentage, and full simulation distribution.
Each release covers both pitcher hits allowed lines and batter hits props. The same SP/RP simulation generates both outputs: one model, two edge channels per game. Released when lines become available, opening day through the postseason.
Every release includes the pitcher's arsenal breakdown, the pitch-type xwOBA matchup feature, and the opposing lineup's contact profile weighted by that arsenal. Understand exactly what the model sees before placing a bet.
Each card shows the xhits projection (mean), P(over/under) at the book line, and edge percentage after power devigging. Monte Carlo tail probabilities across the full distribution, so you see not just the play but the shape of the model's confidence.
All hits props land directly in the Whizard subscriber Discord. Each post includes the full model output card, edge percentage, and matchup context summary so you can evaluate the play before acting on it.
Daily pitcher hits allowed and batter hits props from now through October. Pitch-type matchup context and full Monte Carlo distribution included in every release.