Contreras, Willson
Veteran bat leaning on contact and approach
Season percentile report
The headline weighs outcome stats (xwOBA, barrels); each bar averages its full strip group below. 100 = best in MLB.
percentile
Preseason / current pace / Bayesian update
Rolling bands shrink current-season signal toward the preseason prior until the sample earns more weight.
| xwOBA preseason | 0.356 |
| xwOBA current pace | 0.390 |
| xwOBA rolling p50 | 0.378 |
| Observed weight | 63% |
Actual percentile with projection tick
100th = best in MLB.
SEAGER+ and decision components
SEAGER+ is the promoted plate-discipline index; component rows marked rebadged research are visible diagnostic context, not standalone promoted metrics.
xwOBA snapshot line
Live snapshot series; true 50/100 PA windows require PA-level logs
Field-coordinate spray profile
171 Statcast batted-ball coordinates from the pitch-event feed (2026). Direction profile remains as the v1 context layer when coordinate density is limited.
Swing path, attack angle, bat speed
Aggregate Savant bat-tracking metrics; not per-swing motion capture. The full swing, with the recommended path overlaid, lives in the 3D Swing Simulator.
Aggregate zone heatmap
Aggregate zone metrics from seasonal Statcast leaderboards.
Current-season signal
| xwOBA Δ | +0.031 |
| wOBA Δ | +0.065 |
| Sample | 381 PA |
negative regression
Point projection and range
| Metric | Point | Range | Half-width |
|---|---|---|---|
| Plate Appearances | 528 | -- | -- |
| Home Runs | 20 | -- | -- |
| Stolen Bases | 0 | -- | -- |
| xwOBA | 0.359 | 0.316 to 0.393 | +/- 0.039 |
| ISO | 0.183 | 0.142 to 0.271 | +/- 0.065 |
| Barrel% | 7.2% | 5.1% to 9.8% | +/- 2.4% |
| Hard-Hit% | 46.6% | 42.2% to 53.1% | +/- 5.4% |
| K% | 24.2% | 20.2% to 29.5% | +/- 4.6% |
| BB% | 9.0% | 7.6% to 11.8% | +/- 2.1% |
| BABIP | 0.330 | 0.281 to 0.375 | +/- 0.047 |
1168 career PA
| xwOBA | 0.306 |
| K% | 20.6% |
| BB% | 9.5% |
| Barrel | 6.1% |
3337 career PA
| xwOBA | 0.294 |
| K% | 21.1% |
| BB% | 7.2% |
| Barrel | 6.4% |