Willson Contreras
RHB14
HRs ?Total home runs hit while this batter appeared in the model's scored pool this season.
19.4%
HR Rate ?Percentage of scored appearances where this batter hit a home run. Higher = more reliable power output.
27.5%
Avg HR/FB ?Average HR-per-fly-ball rate across appearances. Measures how often fly balls leave the yard — above 16% is elite, above 12% is strong.
90.8
Avg EV ?Average exit velocity (mph) on batted balls. Hard contact is the best predictor of HR power — 92+ is elite, 89+ is strong.
0.208
ISO ?Isolated Power — measures raw extra-base-hit ability (SLG minus AVG). .220+ is elite power, .180+ is above average.
#8
Best Rank ?Highest model ranking this batter has achieved on a single slate. #1 means the model rated them the top HR candidate that day.
HR Profile
?Statcast-style HR metrics for this batter — same fields the model scores on. Red = elite, orange = above average, blue = below average, grey = no data.
Season-to-date · live-tape thresholds
0.225
ISO ?Isolated Power (SLG − AVG). >.220 elite, .180–.220 above avg, <.140 below avg.
87th pctile
90.0
Avg EV (mph) ?Average exit velocity (mph) on all batted balls. >92 elite, 89–92 above avg.
64th pctile
10.4%
Barrel% ?Percentage of contact classified as barrels (perfect EV+LA combo). >12% elite.
76th pctile
32.0% vs RHP
HR/FB ?Home runs per fly ball for this matchup. A vs LHP/vs RHP chip means a handedness split is shown; otherwise the value is overall.
97th pctile
410
Avg HR Dist (ft) ?Average distance of this batter's HRs in feet. >400 elite raw power.
90th pctile
19.7%
Season HR% ?HRs ÷ plate appearances this season. v3.5 model feature — strongest single backtest contributor.
16.7%
14d Pace ?HRs per game over last 14 days. v3.5 model feature — captures current hot/cold streak.
24.8%
Match% ?Combined batter × pitcher HR/FB rate — the headline "how favorable is this matchup" number.
96th pctile
29
BBE ?Batted-ball events — sample size. Treat stats with caution below 30.
HR Cadence ?Tracks how often this batter typically hits HRs and whether they're overdue. Based on the median gap (in games) between each HR this season. Display only — does not affect model score.
Typically goes yard every 5 games
· 14 HRs in 72 games
0×
Due (1×)
2×
1.4×
Dueness ?Games since last HR ÷ typical cadence. 1.0× = right on schedule. Above 1.0× = overdue relative to their own baseline. 1.5×+ = significantly overdue.
7
Games Since HR ?How many games (appearances in the scored pool) since this batter's last home run.
5
Typical Cadence ?Median number of games between home runs this season. Uses median (not average) for robustness against streaky outliers. Requires 3+ HRs to establish a baseline.
Games between HRs ?Each bar = the number of games between consecutive HRs. The final highlighted bar is the current gap (still open). Bars above the typical cadence are colored differently.
72
Appearances ?Total times this batter has appeared in the model's daily scored pool this season.
32
Top-50 Days ?Number of days this batter ranked in the top 50 on the slate. Top-50 is the model's primary recommendation zone.
8
HRs in Top 50 ?Home runs hit on days when the model ranked this batter in the top 50. Measures how often the model correctly surfaced this batter before they went deep.
57%
Catch Rate ?Percentage of this batter's HRs that occurred when the model had them ranked in the top 50. Higher = model does a good job timing this batter. 60%+ is excellent.
#69.3
Avg Rank ?This batter's average model rank across all appearances. Lower = the model consistently rates them highly.
Rank Trend ?Daily model rank over time. The Y-axis is inverted — lower on the chart = better rank. Green dots mark days this batter hit a home run.
HR Days (While Top 50) ?Every HR this batter hit on a day the model ranked them in the top 50. Shows the matchup conditions that led to each homer — pitcher, stadium, exit velocity, and distance.
| Date | Rank | Pitcher | Stadium | B/P | WT | BP | EV | Distance |
|---|---|---|---|---|---|---|---|---|
| 2026-04-25 | #35 | Trevor Rogers | Camden Yards | · | · | · | 104.2 mph | 418.0 ft |
| 2026-04-26 | #20 | Kyle Bradish | Camden Yards | · | · | · | 108.6 mph | 406.0 ft |
| 2026-04-29 | #42 | Eric Lauer | Rogers Centre | · | · | · | 103.9 mph | 406.0 ft |
| 2026-05-16 | #50 | Bryce Elder | Truist Park | · | · | · | 106.1 mph | 426.0 ft |
| 2026-06-04 | #47 | Trevor Rogers | Fenway Park | · | · | · | 100.2 mph | 403 ft |
| 2026-06-05 | #26 | Ryan Weathers | Yankee Stadium | · | · | · | 112.8 mph | 419 ft |
| 2026-06-12 | #33 | Jack Leiter | Fenway Park | R/R | ⚠️ | 104.3 mph | 379 ft | |
| 2026-06-14 | #24 | Nathan Eovaldi | Fenway Park | R/R | ⚠️ | 101.5 mph | 392 ft |
All Appearances ?Complete log of every time this batter appeared on the scored slate. Includes model rank, tier, form trend, and whether they went yard. Rows highlighted in green = HR days.
| Date | Rank | Pitcher | B/P | HR/FB | Tier | Form | WT | BP | HR? |
|---|---|---|---|---|---|---|---|---|---|
| 2026-06-22 | #8 | Ryan Feltner | R/R * | 36.8% | 🟢 A | ❄ COLD | ⚠️ | · | |
| 2026-06-21 | #44 | Logan Gilbert | R/R * | 25.7% | 🔵 C+ | ❄ COLD | ✅ | · | |
| 2026-06-20 | #67 | Emerson Hancock | R/R * | 26.4% | 🔵 C+ | ❄ COLD | ✅ | · | |
| 2026-06-19 | #59 | Bryce Miller | R/R * | 32.3% | 🟢 A | 📉 COOL | ✅ | · | |
| 2026-06-18 | #22 | Trey Yesavage | R/R * | 27.4% | 🔵 C+ | 📈 WARM | ⚠️ | · | |
| 2026-06-17 | #21 | Braydon Fisher | R/R * | 36.2% | 🟢 A | ➖ NTRL | ⚠️ | · | |
| 2026-06-16 | #59 | Dylan Cease | R/R * | 26.7% | 🔵 C+ | ➖ NTRL | ⚠️ | · | |
| 2026-06-14 | #24 | Nathan Eovaldi | R/R * | 30.7% | 🟢 A | ➖ NTRL | ⚠️ | ||
| 2026-06-13 | #33 | Jacob deGrom | R/R * | 26.2% | 🔵 C+ | ➖ NTRL | ⚠️ | · | |
| 2026-06-12 | #33 | Jack Leiter | R/R * | 23.7% | 🔵 C+ | ➖ NTRL | ⚠️ | ||
| 2026-06-10 | #25 | Drew Rasmussen | R/R * | 24.8% | 🔵 C+ | ➖ NTRL | ✅ | · | |
| 2026-06-09 | #9 | Nick Martinez | R/R * | 26.8% | 🔵 C+ | ➖ NTRL | ✅ | · | |
| 2026-06-08 | #9 | Ian Seymour | · | 26.9% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-06-07 | #26 | Cam Schlittler | · | 28.7% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-06-06 | #33 | Will Warren | · | 27.1% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-06-05 | #26 | Ryan Weathers | · | 24.3% | 🔵 C+ | ➖ NTRL | · | · | |
| 2026-06-04 | #47 | Trevor Rogers | · | 14.6% | ⚪ D | 📉 COOL | · | · | |
| 2026-06-03 | #92 | Chris Bassitt | · | 10.9% | ⚪ D | 📉 COOL | · | · | · |
| 2026-06-02 | #81 | Shane Baz | · | 16.2% | ⚪ D | ❄ COLD | · | · | · |
| 2026-05-30 | #92 | Parker Messick | · | 22.6% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-05-29 | #23 | Slade Cecconi | · | 33.7% | 🟢 A | 📉 COOL | · | · | · |
| 2026-05-28 | #22 | Chris Sale | · | 21.8% | 🔵 C+ | 📉 COOL | · | · | · |
| 2026-05-27 | #87 | Bryce Elder | · | 23.6% | 🔵 C+ | 📉 COOL | · | · | · |
| 2026-05-26 | #54 | Spencer Strider | · | 18.8% | ⚪ D | 📉 COOL | · | · | · |
| 2026-05-24 | #90 | Bailey Ober | · | 14.6% | ⚪ D | ❄ COLD | · | · | |
| 2026-05-23 | #97 | Taj Bradley | · | 18.1% | ⚪ D | 📉 COOL | · | · | · |
| 2026-05-22 | #70 | Connor Prielipp | · | 22.8% | 🔵 C+ | ❄ COLD | · | · | · |
| 2026-05-20 | #66 | Michael Wacha | · | 21.1% | 🔵 C+ | ❄ COLD | · | · | · |
| 2026-05-19 | #45 | Bailey Falter | · | 18.5% | ⚪ D | 📉 COOL | · | · | · |
| 2026-05-18 | #80 | Seth Lugo | · | 16.0% | ⚪ D | ❄ COLD | · | · | |
| 2026-05-17 | #22 | Grant Holmes | · | 29.6% | 🔵 C+ | 📉 COOL | · | · | · |
| 2026-05-16 | #50 | Bryce Elder | · | 8.8% | ⚪ D | 📉 COOL | · | · | |
| 2026-05-15 | #44 | Spencer Strider | · | 14.8% | ⚪ D | 📉 COOL | · | · | · |
| 2026-05-14 | #47 | Jesús Luzardo | · | 16.7% | ⚪ D | 📉 COOL | · | · | · |
| 2026-05-13 | #122 | Andrew Painter | · | 30.7% | 🟢 A | 📉 COOL | · | · | · |
| 2026-05-12 | #134 | Zack Wheeler | · | 18.9% | ⚪ D | 📉 COOL | · | · | · |
| 2026-05-10 | #146 | Nick Martinez | · | 26.4% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-05-09 | #146 | Nick Martinez | · | 26.9% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-05-08 | #136 | Jesse Scholtens | · | 23.2% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-05-07 | #99 | Griffin Jax | · | 21.9% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-05-06 | #109 | Jack Flaherty | · | 27.0% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-05-05 | #76 | Framber Valdez | · | 19.5% | ⚪ D | 📉 COOL | · | · | |
| 2026-05-04 | #148 | Tarik Skubal | · | 18.5% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-05-03 | #149 | Cody Bolton | · | 25.2% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-05-02 | #175 | Spencer Arrighetti | · | 25.1% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-05-01 | #146 | Mike Burrows | · | 23.2% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-04-29 | #42 | Eric Lauer | · | 29.3% | 🔵 C+ | ➖ NTRL | · | · | |
| 2026-04-27 | #12 | Dylan Cease | · | 24.2% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-04-26 | #20 | Kyle Bradish | · | 27.7% | 🔵 C+ | ➖ NTRL | · | · | |
| 2026-04-25 | #35 | Trevor Rogers | · | 23.9% | 🔵 C+ | ➖ NTRL | · | · | |
| 2026-04-24 | #42 | Brandon Young | · | 21.3% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-04-23 | #87 | Cam Schlittler | · | 11.8% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-04-22 | #102 | Max Fried | · | 12.5% | ⚪ D | 📈 WARM | · | · | · |
| 2026-04-21 | #60 | Luis Gil | · | 24.5% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-04-20 | #66 | Jack Flaherty | · | 19.6% | ⚪ D | 📈 WARM | · | · | · |
| 2026-04-19 | #157 | Framber Valdez | · | 12.8% | ⚪ D | ➖ NTRL | · | · | |
| 2026-04-18 | #152 | Tarik Skubal | · | 15.0% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-04-17 | #102 | Casey Mize | · | 19.9% | ⚪ D | 📈 WARM | · | · | · |
| 2026-04-13 | #12 | Gavin Williams | · | 18.5% | ⚪ D | 📈 WARM | · | · | · |
| 2026-04-12 | #123 | Andre Pallante | · | 1.9% | ⚪ D | 📈 WARM | · | · | |
| 2026-04-11 | #63 | Ranger Suarez | · | 13.6% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-04-10 | #43 | Dustin May | · | 19.3% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-04-08 | #32 | Miles Mikolas | · | 18.5% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-04-07 | #25 | Cade Cavalli | · | 20.7% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-04-06 | #67 | Zack Littell | · | 12.3% | ⚪ D | 📉 COOL | · | · | |
| 2026-04-05 | #67 | Keider Montero | · | 14.0% | ⚪ D | ❄ COLD | · | · | · |
| 2026-04-04 | #78 | Jack Flaherty | · | 13.1% | ⚪ D | ❄ COLD | · | · | · |
| 2026-04-01 | #120 | Freddy Peralta | · | 11.7% | ⚪ D | ❄ COLD | · | · | · |
| 2026-03-31 | #117 | Kodai Senga | · | 11.6% | ⚪ D | ❄ COLD | · | · | · |
| 2026-03-30 | #117 | Clay Holmes | · | 11.8% | ⚪ D | ❄ COLD | · | · | · |
| 2026-03-29 | #15 | Rhett Lowder | · | 18.3% | ⚪ D | ❄ COLD | · | · | · |
| 2026-03-26 | #39 | Drew Rasmussen | · | 14.0% | ⚪ D | · — | · | · | · |