Impact Metric · Experimental
New here? This site ranks every MLB hitter and pitcher using TROUT — a stat built to answer one simple question: how good is this player, really, right now?
Talent-adjusted, Regularized
Output, Using, Track-record
In plain English: TROUT is a guess at how good a player actually is right now — not just how they've played lately. A hot streak makes a player look better than they probably really are; a slump makes them look worse. TROUT corrects for that by blending this season with who that player has been in past years, so a lucky week or a rough month doesn't fool you.
The more detailed version: TROUT estimates a player's true current talent — not just what already happened. It takes this season's real performance, adjusts for batted-ball luck, and blends it with a multi-year track record, weighted by how much reliable sample actually backs up what you're seeing. The less data there is, the more it leans on who a player has shown themselves to be over time.
TROUT = ( Batting/Pitching RAA + Positional Adj + Defense + Baserunning + Replacement Credit ) ÷ Runs per Win
View Hitters Leaderboard →
View Pitchers Leaderboard →
The whole point of this stat
Where TROUT Disagrees With WAR
This is the actual reason TROUT exists — not to repeat what WAR already tells you, but to flag the players where regularization and luck-adjustment tell a real, different story.
Today
Games See live counts →
Loading today's games…
How it's built
Four steps, applied in order
01
Check for luck
Did the player actually hit the ball hard, or did some weak contact happen to fall in for hits? TROUT looks at real contact quality, not just the outcome.
02
Compare to their history
How does this season stack up against the last few years? The earlier we are in the season, the more weight goes to who they've already proven to be over time.
03
Add defense and speed
Credit for good glove work and baserunning, a penalty for a bad glove or being a DH who doesn't play the field at all.
04
Turn it into one number
Everything above gets added up and converted into wins — the same "wins" scale WAR uses, so the numbers feel familiar.
How to actually use it
TROUT vs. WAR — different questions
Use TWAR / bWAR for
"How much value has this player actually produced this season?" WAR is a historical ledger — it takes the season's real events at face value on purpose, because it isn't trying to predict anything. It's the right tool for awards, trade value already delivered, and season-end accounting.
Use TROUT for
"What do I actually expect from this player the rest of the way?" TROUT is forecasting-flavored — it deliberately does NOT take a hot or cold stretch at full face value. Use it when deciding whether to trust a slump, a breakout, or a small early-season sample.
TROUT is not a replacement for WAR — it's a complement. It answers a genuinely different question, and it's still an experimental, hand-built stat with real approximations in it, not a peer-reviewed or industry-standard metric.
Reading the diagnostic columns
Contact & Profile notes
- Contact note
- Does the way a player actually hits the ball match the "luck" story above? If they're hitting it hard, that backs up ("supported") a lucky read. If they're not, it "contradicts" it.
- Profile note
- Is this likely to keep up? For pitchers: striking guys out and limiting hard contact tends to last; leaning only on groundballs is shakier. For hitters: hitting a lot of fly balls is only a good sign if there's real power behind them — otherwise it's a pop-up risk.
- "n/a"
- We just don't have the extra data for this player yet. Their main TROUT score is still accurate — this only affects the bonus notes.
- "sample too small to trust"
- Not enough games played yet to say anything meaningful here — an honest "too early to tell" instead of guessing.
Separate League, Separate Model
Triple-A
All 30 real Triple-A teams, sourced from Baseball Savant's real minor-league Statcast tracking (Hawk-Eye-equipped AAA parks) plus real MLB Stats API box scores — not FanGraphs, not estimated. This is a lighter model than MLB TROUT: Savant doesn't publish a baserunning-run-value, fielding-run-value, or batted-ball-type model for the minors, so AAA TROUT uses simplified stand-ins (stolen-base-based baserunning, positional-adjustment-only defense, FIP without xFIP) instead of the real Savant models MLB TROUT uses. AAA parks also have no bat-tracking sensors, so Bat Speed and Fast-Swing% aren't available for AAA hitters at all (confirmed, not just unfetched), and there's no real fielder-throw-tracking data exposed for the minors either, so Arm Strength is MLB-only. Real wOBA, xwOBA, BB%, K%, Whiff%, Sweet-Spot%, and FIP are all unaffected by those gaps — same real per-event data MLB uses.
| # |
Player |
AAA Team |
Org |
Age |
PA |
wOBA |
xwOBA |
Luck |
TROUT-AAA |
| # |
Player |
AAA Team |
Org |
Age |
Role |
IP |
ERA |
FIP |
TROUT-AAA-P |
Every Term On This Site
Glossary
One place for every stat, column, and label on TROUT — what it means, where it comes from, and how it's calculated.
The core TROUT stats
- TROUT
- Total estimated wins for a hitter, combining regularized batting, defense, baserunning, and replacement level. Forecasting-flavored by design — it blends this season with a player's multi-year track record and adjusts for batted-ball luck, so a hot streak or slump isn't taken at full face value.
- TROUT-P
- The pitcher version of TROUT: total estimated wins from regularized RAA (Runs Above Average) plus a replacement-level credit.
- TWAR
- An independent WAR-equivalent reconstruction, not a FanGraphs number. Built from this season's real components (raw wRC+/xFIP, real BsR/Def, real park adjustment) taken at face value, not blended with multi-year history the way TROUT is. Named honestly — "twar," not "fWAR."
- RAA (Runs Above Average)
- Runs above average after luck-adjustment and blending with a pitcher's multi-year track record — the pitching-side input to TROUT-P, the same way regularized wRC+ feeds TROUT for hitters.
Real, computed sabermetric stats
- wRC+
- Weighted Runs Created Plus. 100 = league average. Park-adjusted using real, computed multi-year park factors — this season's raw performance, not yet blended with prior-year history.
- Luck / Luck ratio
- xwOBA ÷ wOBA. Above 1.0 means the player's contact quality suggests better results than they've actually gotten (unlucky). Below 1.0 means the opposite — better results than the contact quality suggests (lucky).
- BsR (Baserunning Runs)
- Baserunning runs above average, from Baseball Savant's own baserunning-run-value model. A real, computed value, not an estimate.
- Def (Defensive Runs)
- Fielding runs from Baseball Savant's own fielding-run-value model, plus a standard, well-established positional adjustment. A real, computed value, not an estimate.
- FIP (Fielding Independent Pitching)
- Strips out defense, but not HR/FB luck. This season's raw value, computed directly from real strikeout/walk/home-run counts.
- xFIP
- FIP with the pitcher's own HR/FB rate replaced by league average — removes home-run luck on top of what FIP already removes.
- wOBA vs. xwOBA
- wOBA (weighted On-Base Average) is what actually happened — real outcomes weighted by their real run value. xwOBA (expected wOBA) is Statcast's own model of what should have happened based on exit velocity and launch angle alone. The ratio between the two is where TROUT's luck signal comes from.
Standard box-score stats
- PA / IP
- Plate appearances (hitters) / innings pitched (pitchers) this season — the sample size behind every other column.
- AVG / OBP / SLG / OPS
- Batting average, on-base percentage, slugging percentage, and their sum (OPS). Plain counting-stat definitions, taken at face value — no regularization or luck adjustment applied.
- HR / RBI / SB / R
- Home runs, runs batted in, stolen bases, runs scored — standard counting stats, straight from MLB's own play-by-play data.
- ERA
- Earned run average — includes defense and sequencing luck, taken at face value.
- W-L / K / SV / HLD
- Wins-losses, strikeouts, saves, holds — standard pitcher counting stats.
- Role
- Starter (SP), Reliever (RP), or Closer (CL) — inferred from games started and saves, not self-reported.
Diagnostic notes
- Contact note
- Does the way a player actually hits the ball match the "luck" story above? If they're hitting it hard, that backs up ("supports") a lucky read. If they're not, it contradicts it.
- Profile note
- Is this likely to keep up? For pitchers: striking guys out and limiting hard contact tends to last; leaning only on groundballs is shakier. For hitters: hitting a lot of fly balls is only a good sign if there's real power behind them — otherwise it's a pop-up risk.
- "n/a"
- We just don't have the extra data for this player yet. Their main TROUT score is still accurate — this only affects the bonus notes.
- "sample too small to trust"
- Not enough games played yet to say anything meaningful here — an honest "too early to tell" instead of guessing.
How TROUT is built
- Regularization / shrinkage
- Blending this season's stats with a player's multi-year track record, weighted by how much reliable sample actually backs up what's being seen. The less current-season data there is, the more the estimate leans on who the player has shown themselves to be over time.
- Park factor
- How much a ballpark inflates or suppresses run scoring relative to a league-average park (100 = neutral). Computed fresh each run from real MLB home/road scoring splits, using multiple seasons for stability — not a hardcoded table.
- Positional adjustment
- A credit or penalty based on how hard a defensive position is to play — catchers and shortstops get credited, first basemen and DHs get docked. Uses Tom Tango's well-established, essentially unchanging sabermetric constants, the same ones FanGraphs and Baseball Reference use.
- Replacement level / Replacement credit
- The baseline a freely-available bench/waiver-wire player would produce. WAR-style stats measure value above this floor, not above zero — replacement credit is the runs added just for being a rosterable MLB player at all.
- Runs per win
- The generally accepted sabermetric constant for how many runs above or below average equal one win (about 9.5 runs here) — the last step that turns a runs estimate into the "wins" scale WAR-style stats use.