Ian Happ
SHB17
HRs ?Total home runs hit while this batter appeared in the model's scored pool this season.
22.4%
HR Rate ?Percentage of scored appearances where this batter hit a home run. Higher = more reliable power output.
26.6%
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.0
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.230
ISO ?Isolated Power — measures raw extra-base-hit ability (SLG minus AVG). .220+ is elite power, .180+ is above average.
#1
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.263
ISO ?Isolated Power (SLG − AVG). >.220 elite, .180–.220 above avg, <.140 below avg.
96th pctile
90.2
Avg EV (mph) ?Average exit velocity (mph) on all batted balls. >92 elite, 89–92 above avg.
68th pctile
11.9%
Barrel% ?Percentage of contact classified as barrels (perfect EV+LA combo). >12% elite.
89th pctile
32.5% 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
403
Avg HR Dist (ft) ?Average distance of this batter's HRs in feet. >400 elite raw power.
77th pctile
24.6%
Season HR% ?HRs ÷ plate appearances this season. v3.5 model feature — strongest single backtest contributor.
25.0%
14d Pace ?HRs per game over last 14 days. v3.5 model feature — captures current hot/cold streak.
38.3%
Match% ?Combined batter × pitcher HR/FB rate — the headline "how favorable is this matchup" number.
99th pctile
27
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 4 games
· 17 HRs in 76 games
0×
Due (1×)
2×
2.0×
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.
8
Games Since HR ?How many games (appearances in the scored pool) since this batter's last home run.
4
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.
76
Appearances ?Total times this batter has appeared in the model's daily scored pool this season.
52
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.
10
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.
59%
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.
#38.4
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-03-29 | #48 | Jake Irvin | Wrigley Field | · | · | · | 99.8 mph | 361.0 ft |
| 2026-03-30 | #25 | Ryan Johnson | Wrigley Field | · | · | · | 101.6 mph | 378.0 ft |
| 2026-04-17 | #30 | Kodai Senga | Wrigley Field | · | · | · | 106.4 mph | 411.0 ft |
| 2026-04-18 | #16 | Freddy Peralta | Wrigley Field | · | · | · | 105.4 mph | 431.0 ft |
| 2026-04-23 | #8 | Cristopher Sánchez | Wrigley Field | · | · | · | 110.7 mph | 429.0 ft |
| 2026-05-14 | #9 | Chris Sale | Truist Park | · | · | · | 107.6 mph | 424.0 ft |
| 2026-05-28 | #34 | Paul Skenes | PNC Park | · | · | · | 103.7 mph | 403.0 ft |
| 2026-05-29 | #39 | Andre Pallante | Busch Stadium | · | · | · | 104.1 mph | 407 ft |
| 2026-06-04 | #18 | J.T. Ginn | Wrigley Field | · | · | · | 108.1 mph | 446 ft |
| 2026-06-10 | #3 | Antonio Senzatela | Coors Field | S/R | ⚠️ | 98.2 mph | 424 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 | #17 | Kodai Senga | S/R * | 26.1% | 🔵 C+ | ❄ COLD | ⚠️ | · | |
| 2026-06-21 | #46 | Dylan Cease | S/R * | 24.5% | 🔵 C+ | ❄ COLD | ⚠️ | · | |
| 2026-06-20 | #36 | Patrick Corbin | S/L * | 21.5% | 🔵 C+ | ❄ COLD | ⚠️ | · | |
| 2026-06-19 | #46 | Kevin Gausman | S/R * | 24.2% | 🔵 C+ | ❄ COLD | ⚠️ | · | |
| 2026-06-17 | #14 | COL Bullpen Proxy | S/ | 28.6% | 🔵 C+ | 📉 COOL | ⚠️ | · | |
| 2026-06-16 | #16 | Ryan Feltner | S/R * | 29.9% | 🔵 C+ | 📉 COOL | ⚠️ | · | |
| 2026-06-15 | #9 | Michael Lorenzen | S/R * | 38.3% | 🟢 A | 📉 COOL | ⚠️ | · | |
| 2026-06-14 | #69 | Logan Webb | S/R * | 27.3% | 🔵 C+ | 📉 COOL | ⚠️ | · | |
| 2026-06-13 | #70 | Trevor McDonald | S/R * | 33.3% | 🟢 A | 📉 COOL | ⚠️ | ||
| 2026-06-12 | #57 | Landen Roupp | S/R * | 26.8% | 🔵 C+ | 📈 WARM | ⚠️ | · | |
| 2026-06-11 | #2 | Ryan Feltner | S/R * | 37.8% | 🟢 A | 📈 WARM | ⚠️ | · | |
| 2026-06-10 | #3 | Michael Lorenzen | S/R * | 45.2% | 🔥 A+ | 📈 WARM | ⚠️ | ||
| 2026-06-09 | #1 | Tomoyuki Sugano | S/R * | 38.3% | 🟢 A | 📈 WARM | ⚠️ | · | |
| 2026-06-07 | #10 | Trevor McDonald | · | 46.4% | 🔥 A+ | 📈 WARM | · | · | · |
| 2026-06-06 | #23 | Landen Roupp | · | 28.9% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-06-05 | #4 | Robbie Ray | · | 28.7% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-06-04 | #18 | J.T. Ginn | · | 33.2% | 🟢 A | 📉 COOL | · | · | |
| 2026-06-03 | #15 | Jeffrey Springs | · | 27.0% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-06-02 | #14 | Gage Jump | · | 19.2% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-05-31 | #34 | Matthew Liberatore | · | 24.2% | 🔵 C+ | 📉 COOL | · | · | · |
| 2026-05-30 | #8 | Kyle Leahy | · | 38.8% | 🟢 A | ➖ NTRL | · | · | · |
| 2026-05-29 | #39 | Andre Pallante | · | 25.9% | 🔵 C+ | 📉 COOL | · | · | |
| 2026-05-28 | #34 | Paul Skenes | · | 19.3% | ⚪ D | 📉 COOL | · | · | |
| 2026-05-27 | #69 | Bubba Chandler | · | 14.4% | ⚪ D | 📉 COOL | · | · | |
| 2026-05-26 | #74 | Braxton Ashcraft | · | 14.6% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-05-25 | #71 | Carmen Mlodzinski | · | 15.1% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-05-22 | #21 | Spencer Arrighetti | · | 14.1% | ⚪ D | 📈 WARM | · | · | · |
| 2026-05-20 | #19 | Kyle Harrison | · | 28.4% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-05-19 | #10 | Jacob Misiorowski | · | 34.9% | 🟢 A | 📈 WARM | · | · | · |
| 2026-05-18 | #7 | Brandon Sproat | · | 38.2% | 🟢 A | 📈 WARM | · | · | · |
| 2026-05-17 | #9 | Erick Fedde | · | 25.6% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-05-16 | #19 | Davis Martin | · | 30.3% | 🟢 A | 🔥 HOT | · | · | · |
| 2026-05-15 | #12 | Sean Burke | · | 29.5% | 🔵 C+ | 🔥 HOT | · | · | · |
| 2026-05-14 | #9 | Chris Sale | · | 30.8% | 🟢 A | 🔥 HOT | · | · | |
| 2026-05-13 | #5 | JR Ritchie | · | 38.1% | 🟢 A | 🔥 HOT | · | · | · |
| 2026-05-12 | #13 | Grant Holmes | · | 34.9% | 🟢 A | 📈 WARM | · | · | · |
| 2026-05-10 | #122 | Jacob deGrom | · | 27.5% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-05-09 | #91 | Jack Leiter | · | 29.1% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-05-08 | #92 | Kumar Rocker | · | 28.8% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-05-07 | #21 | Rhett Lowder | · | 25.7% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-05-06 | #61 | Brady Singer | · | 29.9% | 🔵 C+ | 📉 COOL | · | · | |
| 2026-05-05 | #42 | Andrew Abbott | · | 22.6% | 🔵 C+ | 📉 COOL | · | · | · |
| 2026-05-04 | #41 | Chase Petty | · | 23.6% | 🔵 C+ | 📉 COOL | · | · | · |
| 2026-05-03 | #30 | Merrill Kelly | · | 32.2% | 🟢 A | ❄ COLD | · | · | · |
| 2026-05-02 | #55 | Ryne Nelson | · | 25.8% | 🔵 C+ | ❄ COLD | · | · | |
| 2026-05-01 | #70 | Zac Gallen | · | 25.6% | 🔵 C+ | 📉 COOL | · | · | · |
| 2026-04-29 | #163 | Matt Waldron | · | 27.2% | 🔵 C+ | 📉 COOL | · | · | · |
| 2026-04-28 | #95 | Walker Buehler | · | 30.5% | 🟢 A | 📉 COOL | · | · | · |
| 2026-04-27 | #44 | Randy Vásquez | · | 26.7% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-04-26 | #12 | Justin Wrobleski | · | 26.8% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-04-25 | #11 | Roki Sasaki | · | 46.8% | 🔥 A+ | ➖ NTRL | · | · | · |
| 2026-04-24 | #14 | Emmet Sheehan | · | 46.9% | 🔥 A+ | ➖ NTRL | · | · | · |
| 2026-04-23 | #8 | Cristopher Sánchez | · | 34.3% | 🟢 A | ➖ NTRL | · | · | |
| 2026-04-22 | #8 | Kyle Backhus | · | 28.9% | 🔵 C+ | ➖ NTRL | · | · | · |
| 2026-04-21 | #14 | Jesús Luzardo | · | 31.1% | 🟢 A | ➖ NTRL | · | · | · |
| 2026-04-20 | #10 | Aaron Nola | · | 31.1% | 🟢 A | ➖ NTRL | · | · | · |
| 2026-04-19 | #16 | Tobias Myers | · | 36.2% | 🟢 A | ➖ NTRL | · | · | · |
| 2026-04-18 | #16 | Freddy Peralta | · | 31.9% | 🟢 A | ➖ NTRL | · | · | |
| 2026-04-17 | #30 | Kodai Senga | · | 18.3% | ⚪ D | ➖ NTRL | · | · | |
| 2026-04-15 | #25 | Jesús Luzardo | · | 16.8% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-04-14 | #44 | Aaron Nola | · | 15.2% | ⚪ D | ➖ NTRL | · | · | · |
| 2026-04-13 | #73 | Cristopher Sánchez | · | 2.5% | ⚪ D | 📉 COOL | · | · | · |
| 2026-04-11 | #89 | Braxton Ashcraft | · | 11.6% | ⚪ D | 📈 WARM | · | · | · |
| 2026-04-10 | #66 | Carmen Mlodzinski | · | 15.8% | ⚪ D | 📈 WARM | · | · | · |
| 2026-04-08 | #51 | Joe Boyle | · | 16.1% | ⚪ D | 🔥 HOT | · | · | · |
| 2026-04-07 | #39 | Drew Rasmussen | · | 17.8% | ⚪ D | 🔥 HOT | · | · | · |
| 2026-04-06 | #20 | Shane McClanahan | · | 21.8% | 🔵 C+ | 📈 WARM | · | · | · |
| 2026-04-05 | #108 | Parker Messick | · | 11.9% | ⚪ D | 📈 WARM | · | · | |
| 2026-04-05 | #58 | Slade Cecconi | · | 14.5% | ⚪ D | 📈 WARM | · | · | |
| 2026-04-04 | #53 | Slade Cecconi | · | 14.5% | ⚪ D | 📈 WARM | · | · | · |
| 2026-04-01 | #90 | Yusei Kikuchi | · | 12.7% | ⚪ D | 📈 WARM | · | · | · |
| 2026-03-31 | #60 | José Soriano | · | 14.5% | ⚪ D | 📈 WARM | · | · | · |
| 2026-03-30 | #25 | Ryan Johnson | · | 17.2% | ⚪ D | 📈 WARM | · | · | |
| 2026-03-29 | #48 | Jake Irvin | · | 15.4% | ⚪ D | 📈 WARM | · | · | |
| 2026-03-28 | #68 | Miles Mikolas | · | 13.5% | ⚪ D | 📈 WARM | · | · | |
| 2026-03-26 | #16 | Cade Cavalli | · | 16.2% | ⚪ D | 📈 WARM | · | · | · |