RankFantasy

MLB · SP Streaming

MLB Matchup Rater

Every upcoming SP start ranked by matchup favorability — how easy or tough is the opposing lineup? Built from season-to-date batting stats, not a black box.

17 starts with a named SP · sorted by matchup favorability

MatchupPitcherOpponentDateERAWHIPK/9FP/startOpp FP/GOpp K%Park
Neutral59Noah SchultzCWS@BALJul 15.571.338.117.64.8026.4%Neutral
Neutral57Joey CantilloCLEvsTEXJul 13.621.429.6811.14.9923.2%Neutral
Neutral47Reynaldo LópezATLvsSTLJul 14.541.448.2810.25.2520.9%Neutral
Neutral45Freddy PeraltaNYM@TORJul 14.421.338.319.55.2818.2%Neutral
Tough36Paul SkenesPIT@PHIJul 13.821.1210.3312.85.5519.8%Neutral
Tough35Colin ReaCHCvsSDJul 14.401.356.6711.45.6721.3%Neutral
Tough34MacKenzie GoreTEX@CLEJul 14.591.349.189.35.6718.9%Neutral
Tough34Shane McClanahanTB@KCJul 13.361.128.0811.55.7120.7%Neutral
Tough33Braydon FisherTORvsNYMJul 13.211.278.8016.05.5822.2%Neutral
Tough31Will WarrenNYYvsDETJul 13.921.379.1210.95.9022.3%Neutral
Tough30Zack WheelerPHIvsPITJul 13.061.0610.8516.06.0822.6%Neutral
Tough29Andrew AlvarezWSH@BOSJul 13.431.309.1113.25.9621.7%Neutral
Tough27Payton TolleBOSvsWSHJul 13.031.1010.3514.86.0422.1%Neutral
Tough27Troy MeltonDET@NYYJul 12.761.137.4013.25.9124.6%Neutral
Tough21Michael McGreevySTL@ATLJul 13.951.286.149.25.9021.3%Neutral
Tough19Seth LugoKCvsTBJul 15.171.477.006.86.2117.9%Neutral
Tough9Walker BuehlerSD@CHCJul 14.631.357.678.06.4821.4%Neutral
Matchup:Favorable ≥ 62Neutral 38–61Tough < 38Score = 100 − team offense score (fp/G + HR/G − K%)

How the Matchup Rater works

Matchup favorability (0–100) measures how favorable the opposing lineup is for a starting pitcher — higher is better for the SP. It is computed as 100 minus the team's offense score, so a 75 means the opposing lineup ranks in roughly the bottom 25% of MLB offenses this season.

Team offense score aggregates three signals across qualified batters (≥ 30 PA) for the opposing team: average fantasy points per game (60% weight), HR per game (25%), and inverted K-rate — 100 minus the team's SO/PA percentile (15%). All three are min-max normalized across all 30 teams before weighting. A strikeout-heavy lineup has a lower offense score (and thus a higher matchup favorability for the SP facing it).

What it is not wOBA or wRC+. Those metrics require FanGraphs data that isn't accessible from our CI pipeline. The offense score uses MLB Stats API counting stats only. It captures volume (fp/G), power (HR/G), and contact quality (K%) from the same primary source as all other RankFantasy data. The methodology is labeled so you know exactly what went into it.

Use alongside the Start Score. The MLB Start Score's SP matchup signal currently defaults to neutral (no lineup adjustment) because wRC+ is unavailable. The Matchup Rater provides the lineup-quality lens the Start Score doesn't yet have. For the full picture, check both: a pitcher with a strong Start Score and a Favorable matchup is the streaming sweet spot.

Park context. The Park column shows whether the game is in a hitter-friendly (run factor ≥ 106), pitcher-friendly (≤ 94), or neutral park. These are wide bands on purpose: in the current factors only Coors Field and Petco Park clear them, so nearly every game reads Neutral. This does not feed into the matchup score — it is additional context for your decision.

Data updates nightly. Batting stats, probable starters, and park factors are refreshed by the ETL each morning. Same-day lineup changes may not be reflected. Always confirm starter status before locking lineups.

Informational only — not betting, DFS, or lineup advice. Lineup quality based on season-to-date stats; does not account for day-to-day lineup construction. Probable starters update nightly; confirm on game day. Stats via the MLB Stats API; park factors from FanGraphs. Not affiliated with or endorsed by MLB or any MLB club.