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-09-09
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 106 Fastball / validated
2 Hitter 669357 100 55 Changeup / validated thin sample
3 Hitter 664770 100 41 Sinker / validated
4 Hitter 691176 100 32 Fastball / validated
5 Hitter 663538 100 42 Changeup / validated thin sample
6 Hitter 671732 100 54 Sinker / validated
7 Hitter 665966 100 65 Fastball / validated
8 Hitter 680779 100 21 Changeup / validated thin sample
9 Hitter 808982 99 73 Sinker / validated
10 Hitter 683002 99 99 Fastball / validated
11 Hitter 666176 99 37 Changeup / validated thin sample
12 Hitter 664761 99 87 Sinker / validated
13 Hitter 678489 99 57 Fastball / validated
14 Hitter 670770 99 28 Changeup / validated thin sample
15 Hitter 605170 99 36 Sinker / validated
16 Hitter 695657 99 144 Fastball / validated
17 Hitter 623168 99 21 Changeup / validated thin sample
18 Hitter 666182 99 88 Sinker / validated
19 Hitter 678218 99 52 Fastball / validated
20 Hitter 686555 99 45 Changeup / validated thin sample