Mithrandir Metrics
Mithrandir+ / v1.0-family / partial production

Pitch-Type Vulnerability validated pitch-family resistance.

A hitter pitch-family vulnerability surface using regressed wOBA against pitch-recognition families, displayed as resistance percentile where 100 is best.

Fastball r
.363
Sinker r
.359
Changeup r
.411
Version v1.0-family Status partial production Snapshot 2026-06-12
Definition / formula

2023-2025 Statcast pitch-event outcomes grouped into hitter-recognition pitch families: Fastball, Sinker, Changeup, Breaking horizontal, Breaking vertical, and Cutters/Splitters.

Resistance percentile = 100 - percentile(regressed same-family wOBA vulnerability)
Method note

Per-type validation first exposed sample holes for curveballs and cutters. Family aggregation followed Robert Orr-style pitch recognition grouping rather than goalpost moving.

Method note

Fastball, Sinker, and Changeup cleared the locked r >= .300 gate. Horizontal breaking is borderline and labeled cautiously. Vertical breaking and cutters/splitters show raw current-year context with limited-sample disclosure.

Method note

Future v1.1 should use hierarchical/Bayesian estimation for small-sample breaking-ball and cutter/splitter vulnerability.

Validation / what it does not measure
Fastball r .363 Sinker r .359 Changeup r .411
Does not measure

Breaking-horizontal is displayed with an interpret-cautiously tag; r .239 missed the .300 predictive gate.

Does not measure

Breaking-vertical and Cutters/Splitters remain insufficient-sample surfaces; most hitters do not accumulate 100+ qualified exposures per year.

Does not measure

It is not a recommendation engine by itself; it is matchup context for how hitters handle pitch families.

Top 20 / current cached snapshot
Rank Player Metric Sample Status
1 Hitter 678662 100 79 Fastball / validated
2 Hitter 669357 100 44 Changeup / validated thin sample
3 Hitter 702332 100 53 Sinker / validated
4 Hitter 678489 100 46 Fastball / validated
5 Hitter 666176 100 29 Changeup / validated thin sample
6 Hitter 592518 100 54 Sinker / validated
7 Hitter 656775 99 71 Fastball / validated
8 Hitter 663538 99 24 Changeup / validated thin sample
9 Hitter 605170 99 28 Sinker / validated
10 Hitter 686217 99 81 Fastball / validated
11 Hitter 808975 99 30 Changeup / validated thin sample
12 Hitter 693307 99 52 Sinker / validated
13 Hitter 694671 99 27 Fastball / validated
14 Hitter 670770 99 26 Changeup / validated thin sample
15 Hitter 664761 99 62 Sinker / validated
16 Hitter 663728 99 66 Fastball / validated
17 Hitter 800050 99 31 Changeup / validated thin sample
18 Hitter 666971 99 21 Sinker / validated
19 Hitter 669394 99 64 Fastball / validated
20 Hitter 680757 99 29 Changeup / validated thin sample