Ratings Methodology
League constants, run-value weights, and engine diagnostics for the current season selection. Use the watchlists below to jump straight into a team's ratings tab and inspect its per-game adjusted detail. The shipped JSON endpoints are documented in the API guide.
League run environment per plate appearance.
Core environment scaler used to move MLB priors toward league conditions.
Share of team-game rows with box-score detail feeding the constants layer.
Current schedule-adjustment model powering team ratings.
Teams that finished the iterative engine above the convergence threshold.
Teams with less than 80% of scored games resolved into the adjusted engine.
Teams whose last iteration still moved by more than 0.05 runs per game.
League Run Values
wOBA Weights
Player Offense Layer
Player Pitching Layer
Player Baserunning Layer
Adjustment Engine
Raw Audit Summary
Validation Summary
Validation Breakdown
Method Notes
Convergence Watchlist
Teams with the largest remaining final-step movement. Open any row to inspect the ratings tab for game-level detail.
| Team | AdjRM | Rated % | Iter | Delta | Conv |
|---|---|---|---|---|---|
| Walla Walla NWAC | -4.51 | 100% | 10 | 0.1071 | N |
| Blue Mountain NWAC | -4.21 | 100% | 10 | 0.1057 | N |
| Yakima Valley NWAC | -0.16 | 98% | 10 | 0.1056 | N |
| Centralia NWAC | -1.76 | 100% | 10 | 0.1044 | N |
| Skagit Valley NWAC | -3.25 | 100% | 10 | 0.1031 | N |
| Tacoma NWAC | -0.78 | 97% | 10 | 0.1024 | N |
| Olympic NWAC | -2.72 | 100% | 10 | 0.1003 | N |
| Spokane NWAC | 1.51 | 96% | 10 | 0.0990 | N |
Coverage Watchlist
Teams with the thinnest adjusted-game coverage. These ratings may still be directionally useful, but they are less fully connected.
| Team | AdjRM | Rated % | Iter | Delta | Conv |
|---|---|---|---|---|---|
| Douglas NWAC | -4.99 | 62% | 10 | 0.0674 | N |
| Clackamas NWAC | -1.41 | 74% | 10 | 0.0370 | N |
| Mt Hood NWAC | 0.45 | 77% | 10 | 0.0369 | N |
| Linn-Benton NWAC | 2.17 | 82% | 10 | 0.0445 | N |
| Treasure Valley NWAC | -2.18 | 84% | 10 | 0.0845 | N |
| Lane NWAC | 3.24 | 84% | 10 | 0.0495 | N |
| Lower Columbia NWAC | 2.32 | 86% | 10 | 0.0853 | N |
| Grays Harbor NWAC | -7.99 | 88% | 10 | 0.0912 | N |
Raw Audit Watchlist
Teams whose raw defense needed the largest cleanup after the direct game-level signal was applied.
| Team | RawDef | Def Sig | Def Resid | RawBsR | BsR P/G | Def Sig % |
|---|---|---|---|---|---|---|
| Grays Harbor NWAC | -4.46 | 0.00 | -4.46 | -0.11 | -0.11 / -0.12 | 0% |
| Walla Walla NWAC | -3.21 | 0.00 | -3.21 | 0.02 | 0.02 / 0.02 | 0% |
| Big Bend NWAC | -2.92 | 0.00 | -2.92 | 0.07 | -0.02 / 0.23 | 0% |
| Douglas NWAC | -2.84 | 0.00 | -2.84 | 0.09 | 0.06 / 0.16 | 0% |
| Spokane NWAC | 2.52 | 0.00 | 2.52 | 0.23 | 0.07 / 0.54 | 0% |
| Everett NWAC | 1.85 | 0.00 | 1.85 | 0.37 | 0.22 / 0.66 | 0% |
| Lower Columbia NWAC | 1.80 | 0.00 | 1.80 | -0.14 | -0.29 / 0.15 | 0% |
| Skagit Valley NWAC | -1.65 | 0.00 | -1.65 | 0.01 | -0.04 / 0.11 | 0% |
Validation Watchlist
Teams with the largest gap between expected wins from the adjusted engine and actual wins.
| Team | W-L | AdjRM | Exp W | Luck | |Err| | Rated % | Risk |
|---|---|---|---|---|---|---|---|
| Blue Mountain NWAC | 18-29 | -4.21 | 6.7 | 11.3 | 11.3 | 100% | high 95%+ / drifting |
| Olympic NWAC | 19-29 | -2.72 | 8.4 | 10.6 | 10.6 | 100% | high 95%+ / drifting |
| Treasure Valley NWAC | 23-27 | -2.18 | 16.0 | 7.0 | 7.0 | 84% | high 80-95% / drifting |
| Chemeketa NWAC | 11-35 | -1.43 | 17.6 | -6.6 | 6.6 | 91% | high 80-95% / drifting |
| Centralia NWAC | 21-27 | -1.76 | 15.6 | 5.4 | 5.4 | 100% | high 95%+ / drifting |
| Yakima Valley NWAC | 30-21 | -0.16 | 24.9 | 5.1 | 5.1 | 98% | high 95%+ / drifting |
| Lane NWAC | 39-18 | 3.24 | 43.8 | -4.8 | 4.8 | 84% | high 80-95% / close |
| Big Bend NWAC | 16-30 | -4.13 | 11.3 | 4.7 | 4.7 | 91% | high 80-95% / drifting |
How To Read The Flags
Converged = N means the iterative engine still had a meaningful rating move left at the final pass. That does not make the rating unusable, but it is a good cue to inspect opponent connectivity and game-by-game detail.
Rated coverage tracks how many scored games had an opponent that resolved into the adjusted engine. Lower coverage usually means more schedule isolation or incomplete connectedness.
Matchup detail lines summarize how much richer raw offense split detail, pitching contact detail, and baserunning GDP-context support each team brings into the pregame cards.
Matchup audit lines now also split raw defense into direct signal versus cleanup and raw baserunning into player versus game-signal contributions, so matchup cards expose the same raw audit language as team pages.
Validation summary compares how well `AdjRM` and `RawRM` track win percentage, while the validation breakdown splits expected-win miss size by engine confidence so weak coverage or non-convergence is easier to spot season-wide.
Adjusted defense and baserunning now come from centered game-level proxies that include GDP-over-expected context alongside the earlier SB/CS and error signals, so those components can participate in opponent adjustment instead of remaining static season carry-through fields.
Team pages now support a direct tab=ratings link target, so the watchlists on this page can jump directly to the per-game adjusted detail behind a team's `AdjRM`.