MLB Prediction System

Metric Evolution & Audit

Every number that moved, the stage that moved it, the input it used, and the arithmetic that proves it

Slate 20261013Games 1Checks 150Schema metric_evolution_report_v1Built 2026-10-12 17:48Z

Verdict across the slate

150 invariants checked across 1 games: NO DEFECT FOUND

How to read this, and what a defect looks like

Every figure below is shown with the arithmetic that produced it and a verdict beside it, so a disagreement can be pointed at a specific line rather than at the system as a whole.

Slate overview

GamePublishedp(home)StagesStages that moved itKPI appliedΔ away runsΔ home runsSimulation draw chosen on0-out starter
20261013_CLE@TB4 - 50.578881no+0.7278+0.0905-no
KPI model in force. candidate 20261012T091527Z_e6f3fdba, 48 features built from 40 registered KPIs, blend weights {"home_runs": 0.38, "away_runs": 0.34, "home_win": 0.0}, frozen evaluation ends 2026-09-27. A target whose weight is zero contributes nothing by construction: the winner probability carries weight zero while its walk-forward verdict is inconclusive, so every win-probability movement below is expected to be exactly zero.

Per game

20261013_CLE@TB — published 4-5, 150 checks, all pass
Artifact. 20261013_CLE@TB.json, phase pregame, generated 2026-10-12T17:46:05, first pitch 2026-10-14T00:00:00.
Published 4 - 5 with p(home) 0.578787. Simulation draw chosen on not recorded; ? of ? draws realized the target exactly.

Stage chain: every stage that touched the score

StageScore afterΔ awayΔ homeCum. awayCum. homeChanged targetOwn adjustment and description
1. historical_ml4.05765736661641 - 5.3260159459452280000noBase ML historical model prediction
2. variance_applied4 - 5-0.0577-0.3260-0.0577-0.3260yesDeterministic baseline target (variance factor 1.0)
3. enhanced_prediction4 - 500-0.0577-0.3260noEnhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run)
4. kpi_layer4.0 - 5.000-0.0577-0.3260noaway +0.7278; home +0.0905
Savant KPI blend computed and withheld; baseline kept
5. embedded_savant_run_environment4 - 500-0.0577-0.3260noaway -0.3590; home +0.0239
Target score adjusted by temporal Savant lineup quality versus opposing starter quality
6. fundamental_edge_target_review4 - 500-0.0577-0.3260noRefreshed score target and win probability after Savant/pitcher/team-strength adjustments
7. capped_target4 - 500-0.0577-0.3260noCapped at max 12 realistic runs
8. simulation_result4 - 5----noFinal inning-by-inning simulation result

A stage reporting its own adjustment while Changed target reads no computed a movement that a later reconciliation absorbed, or that rounded away at the integer score. That is recorded rather than hidden.

KPI layer withheld. values_fresh. The published score is the pre-KPI baseline.

Per-player metric movement

CLE against Tanner Bibee (RHP)

The pipeline applied no club-wide rescale to CLE hitter lines.
Opposing staff exposure. These hitters face the starter for 21.8189 of 35.633 projected batters (61.2%) and the 2 projected relievers for the remaining 38.8%. Every metric below is the exposure-weighted blend of both matchups; the starter-only figure is shown beside it. Real 2026 game logs put a starter at 21.75 batters faced on average (median 23, p10-p90 17-27) and a whole staff at 37.9: this starter is inside that band and this staff is inside its. The per-player columns are the measured alternative: each subject moved by his own KPI pairing. Exposure for a hitter is his projected plate appearances; for the starter it is batters faced.

PlayerPosMetricPublished → KPIΔLeagueOwn rateOpponent rateLog5Own skillOpponentRemainder
Steven KwanCFHitswhole staff0.929 → 0.854-0.0750.21690.2296n=620
Good
0.1960n=669
Good
0.2079+0.054-0.089-0.004 ok
  splitstarter x0.9053 at 0.612 share (log5 0.2079 vs his 0.1960)  +  bullpen x0.9403 at 0.388 share (log5 0.2159 vs pen 0.2037)  =  x0.9189  |  starter alone would have been -0.088
Strikeoutswhole staff0.431 → 0.508+0.0770.22120.1013n=620
Very good
0.2559n=669
Good
0.1202-0.511+0.148-0.068 ok
  splitstarter x1.1856 at 0.612 share (log5 0.1202 vs his 0.2559)  +  bullpen x1.166 at 0.388 share (log5 0.1182 vs pen 0.2523)  =  x1.178  |  starter alone would have been +0.080
Walkswhole staff0.406 → 0.288-0.1180.08890.1280n=620
Very good
0.0557n=669
Very good
0.0814+0.167-0.142-0.057 ok
  splitstarter x0.6362 at 0.612 share (log5 0.0814 vs his 0.0557)  +  bullpen x0.8268 at 0.388 share (log5 0.1058 vs pen 0.0730)  =  x0.7101  |  starter alone would have been -0.148
Home runswhole staff0.052 → 0.046-0.0050.03040.0125n=620
Poor
0.0247n=669
Good
0.0101-0.076-0.024+0.014 ok
  splitstarter x0.8105 at 0.612 share (log5 0.0101 vs his 0.0247)  +  bullpen x1.0235 at 0.388 share (log5 0.0128 vs pen 0.0311)  =  x0.8931  |  starter alone would have been -0.010
José Ramírez3BHitswhole staff0.830 → 0.761-0.0690.21690.2095n=531
Below average
0.1960n=669
Good
0.1892-0.032-0.091+0.002 ok
  splitstarter x0.903 at 0.612 share (log5 0.1892 vs his 0.1960)  +  bullpen x0.9389 at 0.388 share (log5 0.1967 vs pen 0.2037)  =  x0.9169  |  starter alone would have been -0.081
Strikeoutswhole staff0.680 → 0.795+0.1150.22120.1376n=531
Very good
0.2559n=669
Good
0.1619-0.363+0.151-0.045 ok
  splitstarter x1.1768 at 0.612 share (log5 0.1619 vs his 0.2559)  +  bullpen x1.1582 at 0.388 share (log5 0.1594 vs pen 0.2523)  =  x1.1696  |  starter alone would have been +0.120
Walkswhole staff0.360 → 0.254-0.1060.08890.1086n=531
Good
0.0557n=669
Very good
0.0685+0.085-0.144-0.029 ok
  splitstarter x0.6311 at 0.612 share (log5 0.0685 vs his 0.0557)  +  bullpen x0.8237 at 0.388 share (log5 0.0894 vs pen 0.0730)  =  x0.7058  |  starter alone would have been -0.133
Home runswhole staff0.119 → 0.107-0.0130.03040.0252n=531
Below average
0.0247n=669
Good
0.0205-0.023-0.025+0.004 ok
  splitstarter x0.8125 at 0.612 share (log5 0.0205 vs his 0.0247)  +  bullpen x1.0232 at 0.388 share (log5 0.0258 vs pen 0.0311)  =  x0.8942  |  starter alone would have been -0.022
Chase DeLauterRFHitswhole staff0.922 → 0.848-0.0740.21690.2364n=543
Very good
0.1960n=669
Good
0.2142+0.081-0.086-0.006 ok
  splitstarter x0.906 at 0.612 share (log5 0.2142 vs his 0.1960)  +  bullpen x0.9408 at 0.388 share (log5 0.2225 vs pen 0.2037)  =  x0.9195  |  starter alone would have been -0.087
Strikeoutswhole staff0.672 → 0.784+0.1120.22120.1534n=543
Good
0.2559n=669
Good
0.1799-0.281+0.144-0.034 ok
  splitstarter x1.173 at 0.612 share (log5 0.1799 vs his 0.2559)  +  bullpen x1.1549 at 0.388 share (log5 0.1772 vs pen 0.2523)  =  x1.166  |  starter alone would have been +0.116
Walkswhole staff0.321 → 0.226-0.0950.08890.1051n=543
Good
0.0557n=669
Very good
0.0662+0.067-0.138-0.023 ok
  splitstarter x0.6302 at 0.612 share (log5 0.0662 vs his 0.0557)  +  bullpen x0.8231 at 0.388 share (log5 0.0865 vs pen 0.0730)  =  x0.705  |  starter alone would have been -0.119
Home runswhole staff0.132 → 0.118-0.0140.03040.0298n=543
Average
0.0247n=669
Good
0.0242-0.003-0.024+0.001 ok
  splitstarter x0.8132 at 0.612 share (log5 0.0242 vs his 0.0247)  +  bullpen x1.0231 at 0.388 share (log5 0.0305 vs pen 0.0311)  =  x0.8946  |  starter alone would have been -0.025
Jo AdellDHHitswhole staff0.859 → 0.788-0.0710.21690.2185n=656
Average
0.1960n=669
Good
0.1975+0.006-0.083-0.001 ok
  splitstarter x0.904 at 0.612 share (log5 0.1975 vs his 0.1960)  +  bullpen x0.9395 at 0.388 share (log5 0.2052 vs pen 0.2037)  =  x0.9178  |  starter alone would have been -0.082
Strikeoutswhole staff1.109 → 1.272+0.1630.22120.2367n=656
Average
0.2559n=669
Good
0.2730+0.062+0.138+0.006 ok
  splitstarter x1.1534 at 0.612 share (log5 0.2730 vs his 0.2559)  +  bullpen x1.1376 at 0.388 share (log5 0.2692 vs pen 0.2523)  =  x1.1473  |  starter alone would have been +0.170
Walkswhole staff0.174 → 0.121-0.0530.08890.0575n=656
Poor
0.0557n=669
Very good
0.0356-0.125-0.133+0.045 ok
  splitstarter x0.6181 at 0.612 share (log5 0.0356 vs his 0.0557)  +  bullpen x0.8154 at 0.388 share (log5 0.0469 vs pen 0.0730)  =  x0.6946  |  starter alone would have been -0.067
Home runswhole staff0.148 → 0.132-0.0150.03040.0337n=656
Average
0.0247n=669
Good
0.0274+0.013-0.023-0.002 ok
  splitstarter x0.8138 at 0.612 share (log5 0.0274 vs his 0.0247)  +  bullpen x1.023 at 0.388 share (log5 0.0345 vs pen 0.0311)  =  x0.8949  |  starter alone would have been -0.028
Nathaniel Lowe1BHitswhole staff0.771 → 0.708-0.0630.21690.2187n=417
Average
0.1960n=669
Good
0.1977+0.007-0.077-0.001 ok
  splitstarter x0.9041 at 0.612 share (log5 0.1977 vs his 0.1960)  +  bullpen x0.9395 at 0.388 share (log5 0.2055 vs pen 0.2037)  =  x0.9178  |  starter alone would have been -0.074
Strikeoutswhole staff0.910 → 1.045+0.1360.22120.2293n=417
Average
0.2559n=669
Good
0.2648+0.030+0.129+0.003 ok
  splitstarter x1.1551 at 0.612 share (log5 0.2648 vs his 0.2559)  +  bullpen x1.1391 at 0.388 share (log5 0.2612 vs pen 0.2523)  =  x1.1489  |  starter alone would have been +0.141
Walkswhole staff0.260 → 0.182-0.0770.08890.0906n=417
Average
0.0557n=669
Very good
0.0568+0.006-0.123-0.002 ok
  splitstarter x0.6265 at 0.612 share (log5 0.0568 vs his 0.0557)  +  bullpen x0.8207 at 0.388 share (log5 0.0744 vs pen 0.0730)  =  x0.7018  |  starter alone would have been -0.097
Home runswhole staff0.141 → 0.126-0.0150.03040.0353n=417
Good
0.0247n=669
Good
0.0287+0.018-0.021-0.003 ok
  splitstarter x0.8141 at 0.612 share (log5 0.0287 vs his 0.0247)  +  bullpen x1.0229 at 0.388 share (log5 0.0361 vs pen 0.0311)  =  x0.8951  |  starter alone would have been -0.026
Angel MartínezLFHitswhole staff0.808 → 0.743-0.0660.21690.2293n=408
Good
0.1960n=669
Good
0.2075+0.048-0.080-0.003 ok
  splitstarter x0.9052 at 0.612 share (log5 0.2075 vs his 0.1960)  +  bullpen x0.9403 at 0.388 share (log5 0.2156 vs pen 0.2037)  =  x0.9188  |  starter alone would have been -0.077
Strikeoutswhole staff1.004 → 1.156+0.1520.22120.2185n=408
Average
0.2559n=669
Good
0.2529-0.011+0.133-0.001 ok
  splitstarter x1.1576 at 0.612 share (log5 0.2529 vs his 0.2559)  +  bullpen x1.1413 at 0.388 share (log5 0.2493 vs pen 0.2523)  =  x1.1513  |  starter alone would have been +0.158
Walkswhole staff0.132 → 0.091-0.0410.08890.0429n=408
Poor
0.0557n=669
Very good
0.0263-0.176-0.127+0.064 ok
  splitstarter x0.6144 at 0.612 share (log5 0.0263 vs his 0.0557)  +  bullpen x0.8131 at 0.388 share (log5 0.0348 vs pen 0.0730)  =  x0.6914  |  starter alone would have been -0.051
Home runswhole staff0.158 → 0.141-0.0170.03040.0387n=408
Good
0.0247n=669
Good
0.0315+0.032-0.022-0.006 ok
  splitstarter x0.8146 at 0.612 share (log5 0.0315 vs his 0.0247)  +  bullpen x1.0229 at 0.388 share (log5 0.0396 vs pen 0.0311)  =  x0.8954  |  starter alone would have been -0.029
Travis Bazzana2BHitswhole staff0.721 → 0.661-0.0600.21690.2129n=506
Average
0.1960n=669
Good
0.1924-0.015-0.078+0.001 ok
  splitstarter x0.9034 at 0.612 share (log5 0.1924 vs his 0.1960)  +  bullpen x0.9391 at 0.388 share (log5 0.2000 vs pen 0.2037)  =  x0.9172  |  starter alone would have been -0.070
Strikeoutswhole staff0.837 → 0.966+0.1290.22120.2087n=506
Average
0.2559n=669
Good
0.2421-0.047+0.129-0.005 ok
  splitstarter x1.1599 at 0.612 share (log5 0.2421 vs his 0.2559)  +  bullpen x1.1433 at 0.388 share (log5 0.2386 vs pen 0.2523)  =  x1.1535  |  starter alone would have been +0.134
Walkswhole staff0.296 → 0.209-0.0880.08890.1033n=506
Good
0.0557n=669
Very good
0.0651+0.054-0.124-0.019 ok
  splitstarter x0.6297 at 0.612 share (log5 0.0651 vs his 0.0557)  +  bullpen x0.8228 at 0.388 share (log5 0.0850 vs pen 0.0730)  =  x0.7046  |  starter alone would have been -0.110
Home runswhole staff0.115 → 0.103-0.0120.03040.0299n=506
Average
0.0247n=669
Good
0.0243-0.002-0.021+0.000 ok
  splitstarter x0.8132 at 0.612 share (log5 0.0243 vs his 0.0247)  +  bullpen x1.0231 at 0.388 share (log5 0.0306 vs pen 0.0311)  =  x0.8946  |  starter alone would have been -0.021
Patrick BaileyCHitswhole staff0.726 → 0.665-0.0600.21690.2062n=333
Below average
0.1960n=669
Good
0.1862-0.038-0.074+0.003 ok
  splitstarter x0.9027 at 0.612 share (log5 0.1862 vs his 0.1960)  +  bullpen x0.9386 at 0.388 share (log5 0.1936 vs pen 0.2037)  =  x0.9166  |  starter alone would have been -0.071
Strikeoutswhole staff1.024 → 1.168+0.1440.22120.2666n=333
Below average
0.2559n=669
Good
0.3057+0.162+0.124+0.015 ok
  splitstarter x1.1465 at 0.612 share (log5 0.3057 vs his 0.2559)  +  bullpen x1.1315 at 0.388 share (log5 0.3017 vs pen 0.2523)  =  x1.1407  |  starter alone would have been +0.150
Walkswhole staff0.220 → 0.154-0.0660.08890.0809n=333
Average
0.0557n=669
Very good
0.0505-0.029-0.119+0.010 ok
  splitstarter x0.624 at 0.612 share (log5 0.0505 vs his 0.0557)  +  bullpen x0.8192 at 0.388 share (log5 0.0663 vs pen 0.0730)  =  x0.6997  |  starter alone would have been -0.083
Home runswhole staff0.125 → 0.112-0.0130.03040.0302n=333
Average
0.0247n=669
Good
0.0246-0.001-0.020+0.000 ok
  splitstarter x0.8133 at 0.612 share (log5 0.0246 vs his 0.0247)  +  bullpen x1.0231 at 0.388 share (log5 0.0309 vs pen 0.0311)  =  x0.8946  |  starter alone would have been -0.023
Brayan RocchioSSHitswhole staff0.705 → 0.648-0.0580.21690.2238n=576
Average
0.1960n=669
Good
0.2025+0.024-0.070-0.002 ok
  splitstarter x0.9046 at 0.612 share (log5 0.2025 vs his 0.1960)  +  bullpen x0.9399 at 0.388 share (log5 0.2104 vs pen 0.2037)  =  x0.9183  |  starter alone would have been -0.067
Strikeoutswhole staff0.562 → 0.656+0.0940.22120.1501n=576
Good
0.2559n=669
Good
0.1762-0.240+0.117-0.029 ok
  splitstarter x1.1738 at 0.612 share (log5 0.1762 vs his 0.2559)  +  bullpen x1.1556 at 0.388 share (log5 0.1735 vs pen 0.2523)  =  x1.1667  |  starter alone would have been +0.098
Walkswhole staff0.184 → 0.128-0.0560.08890.0699n=576
Below average
0.0557n=669
Very good
0.0434-0.064-0.112+0.023 ok
  splitstarter x0.6212 at 0.612 share (log5 0.0434 vs his 0.0557)  +  bullpen x0.8174 at 0.388 share (log5 0.0571 vs pen 0.0730)  =  x0.6973  |  starter alone would have been -0.070
Home runswhole staff0.088 → 0.079-0.0090.03040.0250n=576
Below average
0.0247n=669
Good
0.0203-0.018-0.019+0.003 ok
  splitstarter x0.8125 at 0.612 share (log5 0.0203 vs his 0.0247)  +  bullpen x1.0232 at 0.388 share (log5 0.0256 vs pen 0.0311)  =  x0.8942  |  starter alone would have been -0.017
STARTER Foster Griffin21.9057 BFStarterHits5.968 → 6.311+0.3430.21690.2244n=721
Below average
0.22959/9 qualified
lineup mean
0.2373+0.165+0.276+0.007 ok
Strikeouts4.438 → 3.973-0.4650.22120.2193n=721
Average
0.19819/9 qualified
lineup mean
0.1963-0.041-0.507+0.003 ok
Walks1.349 → 1.208-0.1410.08890.0672n=721
Very good
0.07989/9 qualified
lineup mean
0.0601-0.476-0.200+0.046 ok
Home runs0.280 → 0.267-0.0130.03040.0313n=721
Average
0.02909/9 qualified
lineup mean
0.0299+0.021-0.031-0.001 ok
RELIEVER Joey Cantillo3.6815 BFLong RelieverHits0.716 → 0.758+0.0420.21690.2118n=687
Average
0.22959/9 qualified
lineup mean
0.2242-0.019+0.046-0.001 ok
Strikeouts2.074 → 1.863-0.2110.22120.2460n=687
Good
0.19819/9 qualified
lineup mean
0.2210+0.091-0.085-0.007 ok
Walks0.704 → 0.634-0.0700.08890.1125n=687
Below average
0.07989/9 qualified
lineup mean
0.1012+0.087-0.034-0.008 ok
Home runs0.000 → 0.00000.03040.0270n=687
Good
0.02909/9 qualified
lineup mean
0.0257-0.013-0.005+0.001 ok
RELIEVER Hunter Gaddis2.1601 BFRelieverHits0.462 → 0.489+0.0270.21690.2138n=252
Average
0.22959/9 qualified
lineup mean
0.2263-0.006+0.027-0.000 ok
Strikeouts0.479 → 0.429-0.0500.22120.2220n=252
Average
0.19819/9 qualified
lineup mean
0.1988+0.002-0.050-0.000 ok
Walks0.190 → 0.171-0.0190.08890.0879n=252
Average
0.07989/9 qualified
lineup mean
0.0789-0.002-0.020+0.000 ok
Home runs0.064 → 0.061-0.0030.03040.0294n=252
Average
0.02909/9 qualified
lineup mean
0.0281-0.002-0.003+0.000 ok
RELIEVER Tim Herrin2.157 BFRelieverHits0.438 → 0.464+0.0260.21690.2029n=237
Good
0.22959/9 qualified
lineup mean
0.2149-0.030+0.027-0.001 ok
Strikeouts0.488 → 0.437-0.0510.22120.2262n=237
Average
0.19819/9 qualified
lineup mean
0.2026+0.011-0.050-0.001 ok
Walks0.230 → 0.206-0.0230.08890.1065n=237
Below average
0.07989/9 qualified
lineup mean
0.0958+0.038-0.020-0.004 ok
Home runs0.059 → 0.056-0.0030.03040.0272n=237
Average
0.02909/9 qualified
lineup mean
0.0259-0.007-0.003+0.000 ok
RELIEVER Erik Sabrowski2.137 BFRelieverHits0.389 → 0.412+0.0240.21690.1819n=194
Very good
0.22959/9 qualified
lineup mean
0.1930-0.075+0.027-0.003 ok
Strikeouts0.715 → 0.650-0.0650.22120.3346n=194
Very good
0.19819/9 qualified
lineup mean
0.3042+0.242-0.050-0.015 ok
Walks0.274 → 0.247-0.0270.08890.1280n=194
Poor
0.07989/9 qualified
lineup mean
0.1154+0.084-0.019-0.007 ok
Home runs0.055 → 0.053-0.0030.03040.0259n=194
Good
0.02909/9 qualified
lineup mean
0.0247-0.010-0.003+0.000 ok
RELIEVER Shawn Armstrong1.8177 BFRelieverHits0.377 → 0.400+0.0220.21690.2076n=148
Average
0.22959/9 qualified
lineup mean
0.2198-0.017+0.023-0.001 ok
Strikeouts0.396 → 0.355-0.0420.22120.2180n=148
Average
0.19819/9 qualified
lineup mean
0.1951-0.006-0.042+0.001 ok
Walks0.190 → 0.171-0.0190.08890.1048n=148
Below average
0.07989/9 qualified
lineup mean
0.0942+0.029-0.017-0.003 ok
Home runs0.051 → 0.048-0.0020.03040.0279n=148
Average
0.02909/9 qualified
lineup mean
0.0266-0.005-0.003+0.000 ok
RELIEVER Cade Smith1.7993 BFRelieverHits0.344 → 0.364+0.0210.21690.1909n=281
Very good
0.22959/9 qualified
lineup mean
0.2024-0.047+0.023-0.002 ok
Strikeouts0.597 → 0.542-0.0540.22120.3315n=281
Very good
0.19819/9 qualified
lineup mean
0.3013+0.199-0.042-0.013 ok
Walks0.140 → 0.125-0.0150.08890.0776n=281
Good
0.07989/9 qualified
lineup mean
0.0695-0.021-0.016+0.002 ok
Home runs0.046 → 0.044-0.0020.03040.0255n=281
Good
0.02909/9 qualified
lineup mean
0.0243-0.009-0.003+0.000 ok
RELIEVER Tanner Bibee1.6012 BFMiddle RelieverHits0.944 → 0.998+0.0540.21690.2223n=780
Average
0.22959/9 qualified
lineup mean
0.2351+0.009+0.020+0.000 ok
Strikeouts0.967 → 0.863-0.1040.22120.1927n=780
Below average
0.19819/9 qualified
lineup mean
0.1719-0.046-0.037+0.004 ok
Walks0.570 → 0.511-0.0590.08890.0736n=780
Good
0.07989/9 qualified
lineup mean
0.0660-0.025-0.015+0.002 ok
Home runs0.141 → 0.135-0.0060.03040.0347n=780
Below average
0.02909/9 qualified
lineup mean
0.0331+0.007-0.002-0.000 ok

TB against Cole Sulser (RHP)

The pipeline applied no club-wide rescale to TB hitter lines.
Opposing staff exposure. These hitters face the starter for 21.9057 of 37.258 projected batters (58.8%) and the 2 projected relievers for the remaining 41.2%. Every metric below is the exposure-weighted blend of both matchups; the starter-only figure is shown beside it. Real 2026 game logs put a starter at 21.75 batters faced on average (median 23, p10-p90 17-27) and a whole staff at 37.9: this starter is inside that band and this staff is inside its. The per-player columns are the measured alternative: each subject moved by his own KPI pairing. Exposure for a hitter is his projected plate appearances; for the starter it is batters faced.

PlayerPosMetricPublished → KPIΔLeagueOwn rateOpponent rateLog5Own skillOpponentRemainder
Yandy DíazDHHitswhole staff1.139 → 1.136-0.0030.21690.2464n=678
Very good
0.2244n=721
Below average
0.2546+0.129+0.033+0.003 ok
  splitstarter x1.0333 at 0.588 share (log5 0.2546 vs his 0.2244)  +  bullpen x0.9465 at 0.412 share (log5 0.2332 vs pen 0.2048)  =  x0.9975  |  starter alone would have been +0.038
Strikeoutswhole staff0.648 → 0.687+0.0400.22120.1455n=678
Very good
0.2193n=721
Average
0.1442-0.330-0.008+0.002 ok
  splitstarter x0.9908 at 0.588 share (log5 0.1442 vs his 0.2193)  +  bullpen x1.1615 at 0.412 share (log5 0.1691 vs pen 0.2533)  =  x1.0611  |  starter alone would have been -0.006
Walkswhole staff0.305 → 0.279-0.0260.08890.0835n=678
Average
0.0672n=721
Very good
0.0630-0.024-0.095+0.005 ok
  splitstarter x0.7543 at 0.588 share (log5 0.0630 vs his 0.0672)  +  bullpen x1.14 at 0.412 share (log5 0.0952 vs pen 0.1013)  =  x0.9132  |  starter alone would have been -0.075
Home runswhole staff0.150 → 0.147-0.0020.03040.0319n=678
Average
0.0313n=721
Average
0.0328+0.006+0.004+0.000 ok
  splitstarter x1.0307 at 0.588 share (log5 0.0328 vs his 0.0313)  +  bullpen x0.9195 at 0.412 share (log5 0.0293 vs pen 0.0279)  =  x0.9849  |  starter alone would have been +0.005
Jonathan Aranda1BHitswhole staff1.056 → 1.054-0.0030.21690.2302n=661
Good
0.2244n=721
Below average
0.2380+0.055+0.031+0.001 ok
  splitstarter x1.0341 at 0.588 share (log5 0.2380 vs his 0.2244)  +  bullpen x0.9454 at 0.412 share (log5 0.2176 vs pen 0.2048)  =  x0.9975  |  starter alone would have been +0.036
Strikeoutswhole staff1.047 → 1.103+0.0560.22120.2420n=661
Average
0.2193n=721
Average
0.2401+0.086-0.008-0.001 ok
  splitstarter x0.9918 at 0.588 share (log5 0.2401 vs his 0.2193)  +  bullpen x1.1407 at 0.412 share (log5 0.2761 vs pen 0.2533)  =  x1.0532  |  starter alone would have been -0.009
Walkswhole staff0.294 → 0.269-0.0250.08890.1007n=661
Good
0.0672n=721
Very good
0.0763+0.049-0.090-0.011 ok
  splitstarter x0.7578 at 0.588 share (log5 0.0763 vs his 0.0672)  +  bullpen x1.137 at 0.412 share (log5 0.1145 vs pen 0.1013)  =  x0.9141  |  starter alone would have been -0.071
Home runswhole staff0.145 → 0.143-0.0020.03040.0325n=661
Average
0.0313n=721
Average
0.0335+0.009+0.004+0.000 ok
  splitstarter x1.0307 at 0.588 share (log5 0.0335 vs his 0.0313)  +  bullpen x0.9195 at 0.412 share (log5 0.0298 vs pen 0.0279)  =  x0.9849  |  starter alone would have been +0.004
Junior Caminero3BHitswhole staff0.982 → 0.979-0.0020.21690.2330n=695
Good
0.2244n=721
Below average
0.2409+0.065+0.030+0.002 ok
  splitstarter x1.0339 at 0.588 share (log5 0.2409 vs his 0.2244)  +  bullpen x0.9456 at 0.412 share (log5 0.2203 vs pen 0.2048)  =  x0.9975  |  starter alone would have been +0.033
Strikeoutswhole staff0.728 → 0.770+0.0420.22120.1853n=695
Good
0.2193n=721
Average
0.1836-0.145-0.007+0.001 ok
  splitstarter x0.9912 at 0.588 share (log5 0.1836 vs his 0.2193)  +  bullpen x1.1528 at 0.412 share (log5 0.2136 vs pen 0.2533)  =  x1.0578  |  starter alone would have been -0.006
Walkswhole staff0.367 → 0.336-0.0310.08890.1100n=695
Good
0.0672n=721
Very good
0.0836+0.085-0.088-0.019 ok
  splitstarter x0.7597 at 0.588 share (log5 0.0836 vs his 0.0672)  +  bullpen x1.1354 at 0.412 share (log5 0.1249 vs pen 0.1013)  =  x0.9145  |  starter alone would have been -0.088
Home runswhole staff0.223 → 0.220-0.0030.03040.0522n=695
Very good
0.0313n=721
Average
0.0537+0.088+0.004+0.003 ok
  splitstarter x1.03 at 0.588 share (log5 0.0537 vs his 0.0313)  +  bullpen x0.921 at 0.412 share (log5 0.0480 vs pen 0.0279)  =  x0.9851  |  starter alone would have been +0.007
Ryan ViladeRFHitswhole staff0.882 → 0.880-0.0020.21690.2163n=274
Average
0.2244n=721
Below average
0.2238-0.002+0.028-0.000 ok
  splitstarter x1.0347 at 0.588 share (log5 0.2238 vs his 0.2244)  +  bullpen x0.9445 at 0.412 share (log5 0.2043 vs pen 0.2048)  =  x0.9975  |  starter alone would have been +0.031
Strikeoutswhole staff0.880 → 0.927+0.0470.22120.2348n=274
Average
0.2193n=721
Average
0.2329+0.051-0.007-0.000 ok
  splitstarter x0.9917 at 0.588 share (log5 0.2329 vs his 0.2193)  +  bullpen x1.1422 at 0.412 share (log5 0.2682 vs pen 0.2533)  =  x1.0537  |  starter alone would have been -0.007
Walkswhole staff0.279 → 0.255-0.0240.08890.0931n=274
Average
0.0672n=721
Very good
0.0704+0.016-0.082-0.004 ok
  splitstarter x0.7562 at 0.588 share (log5 0.0704 vs his 0.0672)  +  bullpen x1.1383 at 0.412 share (log5 0.1060 vs pen 0.1013)  =  x0.9137  |  starter alone would have been -0.068
Home runswhole staff0.154 → 0.152-0.0020.03040.0354n=274
Good
0.0313n=721
Average
0.0364+0.019+0.004+0.001 ok
  splitstarter x1.0306 at 0.588 share (log5 0.0364 vs his 0.0313)  +  bullpen x0.9197 at 0.412 share (log5 0.0325 vs pen 0.0279)  =  x0.9849  |  starter alone would have been +0.005
Jonny DeLucaCFHitswhole staff0.992 → 0.990-0.0020.21690.2346n=363
Good
0.2244n=721
Below average
0.2426+0.069+0.029+0.002 ok
  splitstarter x1.0339 at 0.588 share (log5 0.2426 vs his 0.2244)  +  bullpen x0.9457 at 0.412 share (log5 0.2219 vs pen 0.2048)  =  x0.9976  |  starter alone would have been +0.034
Strikeoutswhole staff0.841 → 0.887+0.0470.22120.2132n=363
Average
0.2193n=721
Average
0.2114-0.031-0.007+0.000 ok
  splitstarter x0.9915 at 0.588 share (log5 0.2114 vs his 0.2193)  +  bullpen x1.1468 at 0.412 share (log5 0.2445 vs pen 0.2533)  =  x1.0555  |  starter alone would have been -0.007
Walkswhole staff0.188 → 0.171-0.0170.08890.0572n=363
Poor
0.0672n=721
Very good
0.0429-0.123-0.084+0.029 ok
  splitstarter x0.749 at 0.588 share (log5 0.0429 vs his 0.0672)  +  bullpen x1.1446 at 0.412 share (log5 0.0655 vs pen 0.1013)  =  x0.912  |  starter alone would have been -0.047
Home runswhole staff0.130 → 0.128-0.0020.03040.0303n=363
Average
0.0313n=721
Average
0.0313-0.000+0.0040 ok
  splitstarter x1.0307 at 0.588 share (log5 0.0313 vs his 0.0313)  +  bullpen x0.9193 at 0.412 share (log5 0.0279 vs pen 0.0279)  =  x0.9848  |  starter alone would have been +0.004
Chandler SimpsonLFHitswhole staff1.132 → 1.129-0.0030.21690.2576n=606
Very good
0.2244n=721
Below average
0.2660+0.158+0.029+0.004 ok
  splitstarter x1.0328 at 0.588 share (log5 0.2660 vs his 0.2244)  +  bullpen x0.9472 at 0.412 share (log5 0.2440 vs pen 0.2048)  =  x0.9975  |  starter alone would have been +0.037
Strikeoutswhole staff0.392 → 0.418+0.0260.22120.0898n=606
Very good
0.2193n=721
Average
0.0889-0.511-0.007+0.004 ok
  splitstarter x0.9902 at 0.588 share (log5 0.0889 vs his 0.2193)  +  bullpen x1.1739 at 0.412 share (log5 0.1054 vs pen 0.2533)  =  x1.0659  |  starter alone would have been -0.004
Walkswhole staff0.141 → 0.129-0.0130.08890.0505n=606
Poor
0.0672n=721
Very good
0.0377-0.150-0.085+0.035 ok
  splitstarter x0.7476 at 0.588 share (log5 0.0377 vs his 0.0672)  +  bullpen x1.1458 at 0.412 share (log5 0.0578 vs pen 0.1013)  =  x0.9117  |  starter alone would have been -0.036
Home runswhole staff0.039 → 0.038-0.0010.03040.0092n=606
Poor
0.0313n=721
Average
0.0095-0.082+0.004-0.003 ok
  splitstarter x1.0314 at 0.588 share (log5 0.0095 vs his 0.0313)  +  bullpen x0.9177 at 0.412 share (log5 0.0085 vs pen 0.0279)  =  x0.9845  |  starter alone would have been +0.001
Nick FortesCHitswhole staff0.822 → 0.820-0.0020.21690.2269n=320
Good
0.2244n=721
Below average
0.2346+0.033+0.025+0.001 ok
  splitstarter x1.0342 at 0.588 share (log5 0.2346 vs his 0.2244)  +  bullpen x0.9452 at 0.412 share (log5 0.2144 vs pen 0.2048)  =  x0.9975  |  starter alone would have been +0.028
Strikeoutswhole staff0.515 → 0.546+0.0310.22120.1513n=320
Good
0.2193n=721
Average
0.1499-0.229-0.006+0.002 ok
  splitstarter x0.9908 at 0.588 share (log5 0.1499 vs his 0.2193)  +  bullpen x1.1602 at 0.412 share (log5 0.1755 vs pen 0.2533)  =  x1.0606  |  starter alone would have been -0.005
Walkswhole staff0.147 → 0.134-0.0130.08890.0514n=320
Poor
0.0672n=721
Very good
0.0385-0.123-0.071+0.029 ok
  splitstarter x0.7478 at 0.588 share (log5 0.0385 vs his 0.0672)  +  bullpen x1.1456 at 0.412 share (log5 0.0589 vs pen 0.1013)  =  x0.9117  |  starter alone would have been -0.037
Home runswhole staff0.089 → 0.088-0.0010.03040.0240n=320
Below average
0.0313n=721
Average
0.0248-0.021+0.003-0.001 ok
  splitstarter x1.0309 at 0.588 share (log5 0.0248 vs his 0.0313)  +  bullpen x0.9189 at 0.412 share (log5 0.0221 vs pen 0.0279)  =  x0.9847  |  starter alone would have been +0.003
Jorge Mateo2BHitswhole staff0.781 → 0.779-0.0020.21690.2085n=219
Below average
0.2244n=721
Below average
0.2158-0.028+0.025-0.001 ok
  splitstarter x1.0351 at 0.588 share (log5 0.2158 vs his 0.2244)  +  bullpen x0.9439 at 0.412 share (log5 0.1968 vs pen 0.2048)  =  x0.9975  |  starter alone would have been +0.027
Strikeoutswhole staff1.016 → 1.066+0.0500.22120.2943n=219
Below average
0.2193n=721
Average
0.2920+0.247-0.006-0.001 ok
  splitstarter x0.9924 at 0.588 share (log5 0.2920 vs his 0.2193)  +  bullpen x1.1297 at 0.412 share (log5 0.3324 vs pen 0.2533)  =  x1.049  |  starter alone would have been -0.008
Walkswhole staff0.177 → 0.161-0.0150.08890.0639n=219
Below average
0.0672n=721
Very good
0.0479-0.085-0.074+0.020 ok
  splitstarter x0.7503 at 0.588 share (log5 0.0479 vs his 0.0672)  +  bullpen x1.1434 at 0.412 share (log5 0.0730 vs pen 0.1013)  =  x0.9123  |  starter alone would have been -0.044
Home runswhole staff0.102 → 0.100-0.0020.03040.0270n=219
Average
0.0313n=721
Average
0.0278-0.012+0.003-0.000 ok
  splitstarter x1.0308 at 0.588 share (log5 0.0278 vs his 0.0313)  +  bullpen x0.9191 at 0.412 share (log5 0.0248 vs pen 0.0279)  =  x0.9848  |  starter alone would have been +0.003
Taylor WallsSSHitswhole staff0.751 → 0.749-0.0020.21690.2028n=430
Below average
0.2244n=721
Below average
0.2099-0.048+0.026-0.001 ok
  splitstarter x1.0353 at 0.588 share (log5 0.2099 vs his 0.2244)  +  bullpen x0.9436 at 0.412 share (log5 0.1913 vs pen 0.2048)  =  x0.9975  |  starter alone would have been +0.026
Strikeoutswhole staff0.828 → 0.872+0.0440.22120.2418n=430
Average
0.2193n=721
Average
0.2399+0.071-0.006-0.000 ok
  splitstarter x0.9918 at 0.588 share (log5 0.2399 vs his 0.2193)  +  bullpen x1.1407 at 0.412 share (log5 0.2759 vs pen 0.2533)  =  x1.0532  |  starter alone would have been -0.007
Walkswhole staff0.289 → 0.264-0.0250.08890.1012n=430
Good
0.0672n=721
Very good
0.0767+0.042-0.075-0.009 ok
  splitstarter x0.7579 at 0.588 share (log5 0.0767 vs his 0.0672)  +  bullpen x1.1369 at 0.412 share (log5 0.1151 vs pen 0.1013)  =  x0.9141  |  starter alone would have been -0.070
Home runswhole staff0.053 → 0.052-0.0010.03040.0144n=430
Poor
0.0313n=721
Average
0.0149-0.055+0.003-0.002 ok
  splitstarter x1.0313 at 0.588 share (log5 0.0149 vs his 0.0313)  +  bullpen x0.9181 at 0.412 share (log5 0.0133 vs pen 0.0279)  =  x0.9847  |  starter alone would have been +0.002
STARTER Drew Rasmussen21.8189 BFStarterHits3.260 → 3.320+0.0600.21690.1960n=669
Good
0.22079/9 qualified
lineup mean
0.1996-0.455+0.084-0.006 ok
Strikeouts5.640 → 4.799-0.8410.22120.2559n=669
Good
0.18699/9 qualified
lineup mean
0.2178+0.758-0.748-0.085 ok
Walks1.135 → 1.129-0.0060.08890.0557n=669
Very good
0.08859/9 qualified
lineup mean
0.0554-0.726-0.010+0.003 ok
Home runs0.272 → 0.257-0.0150.03040.0247n=669
Good
0.02879/9 qualified
lineup mean
0.0233-0.124-0.037+0.007 ok
RELIEVER Griffin Jax3.2173 BFRelieverHits0.675 → 0.687+0.0120.21690.2098n=434
Average
0.22079/9 qualified
lineup mean
0.2136-0.023+0.012-0.000 ok
Strikeouts0.799 → 0.679-0.1200.22120.2484n=434
Good
0.18699/9 qualified
lineup mean
0.2111+0.088-0.110-0.010 ok
Walks0.261 → 0.260-0.0010.08890.0812n=434
Average
0.08859/9 qualified
lineup mean
0.0808-0.025-0.001+0.000 ok
Home runs0.101 → 0.095-0.0060.03040.0313n=434
Average
0.02879/9 qualified
lineup mean
0.0296+0.003-0.005-0.000 ok
RELIEVER Ian Seymour2.8941 BFLong RelieverHits1.326 → 1.350+0.0240.21690.2104n=551
Average
0.22079/9 qualified
lineup mean
0.2141-0.019+0.011-0.000 ok
Strikeouts1.951 → 1.668-0.2830.22120.2784n=551
Very good
0.18699/9 qualified
lineup mean
0.2380+0.166-0.099-0.018 ok
Walks0.433 → 0.430-0.0020.08890.0706n=551
Good
0.08859/9 qualified
lineup mean
0.0702-0.053-0.001+0.000 ok
Home runs0.225 → 0.213-0.0120.03040.0387n=551
Poor
0.02879/9 qualified
lineup mean
0.0365+0.024-0.005-0.001 ok
RELIEVER Kevin Kelly2.644 BFRelieverHits0.548 → 0.558+0.0100.21690.2073n=279
Average
0.22079/9 qualified
lineup mean
0.2110-0.025+0.010-0.000 ok
Strikeouts0.594 → 0.502-0.0920.22120.2248n=279
Average
0.18699/9 qualified
lineup mean
0.1901+0.009-0.091-0.001 ok
Walks0.151 → 0.151-0.0010.08890.0573n=279
Very good
0.08859/9 qualified
lineup mean
0.0570-0.084-0.001+0.000 ok
Home runs0.071 → 0.067-0.0040.03040.0270n=279
Good
0.02879/9 qualified
lineup mean
0.0255-0.009-0.004+0.001 ok
RELIEVER Cam Booser2.2627 BFMiddle Reliever (High Leverage)Hits0.352 → 0.358+0.0060.21690.1990n=152
Good
0.22079/9 qualified
lineup mean
0.2027-0.040+0.009-0.001 ok
Strikeouts0.651 → 0.556-0.0960.22120.2702n=152
Good
0.18699/9 qualified
lineup mean
0.2306+0.111-0.078-0.012 ok
Walks0.120 → 0.120-0.0010.08890.0646n=152
Very good
0.08859/9 qualified
lineup mean
0.0643-0.055-0.001+0.000 ok
Home runs0.064 → 0.060-0.0040.03040.0310n=152
Average
0.02879/9 qualified
lineup mean
0.0293+0.001-0.004-0.000 ok
RELIEVER Bryan Baker2.2586 BFRelieverHits0.415 → 0.422+0.0080.21690.1836n=244
Very good
0.22079/9 qualified
lineup mean
0.1870-0.075+0.009-0.001 ok
Strikeouts0.562 → 0.478-0.0850.22120.2490n=244
Good
0.18699/9 qualified
lineup mean
0.2116+0.063-0.077-0.007 ok
Walks0.203 → 0.202-0.0010.08890.0897n=244
Average
0.08859/9 qualified
lineup mean
0.0892+0.002-0.0010 ok
Home runs0.058 → 0.054-0.0030.03040.0254n=244
Good
0.02879/9 qualified
lineup mean
0.0240-0.011-0.004+0.001 ok
RELIEVER Steven Matz0.2721 BFRelieverHits0.059 → 0.060+0.0010.21690.2166n=342
Average
0.22079/9 qualified
lineup mean
0.2205-0.000+0.0010 ok
Strikeouts0.051 → 0.043-0.0080.22120.1865n=342
Below average
0.18699/9 qualified
lineup mean
0.1565-0.009-0.009+0.001 ok
Walks0.021 → 0.021-0.0000.08890.0781n=342
Good
0.08859/9 qualified
lineup mean
0.0777-0.003-0.0000 ok
Home runs0.010 → 0.009-0.0010.03040.0362n=342
Poor
0.02879/9 qualified
lineup mean
0.0342+0.002-0.001-0.000 ok
RELIEVER Cole Sulser0.2652 BFRelieverHits0.058 → 0.059+0.0010.21690.2203n=236
Average
0.22079/9 qualified
lineup mean
0.2242+0.001+0.0010 ok
Strikeouts0.062 → 0.052-0.0090.22120.2332n=236
Average
0.18699/9 qualified
lineup mean
0.1975+0.003-0.009-0.000 ok
Walks0.021 → 0.021-0.0000.08890.0788n=236
Good
0.08859/9 qualified
lineup mean
0.0784-0.003-0.0000 ok
Home runs0.008 → 0.007-0.0000.03040.0301n=236
Average
0.02879/9 qualified
lineup mean
0.0285-0.000-0.0000 ok

Published pitching, integer draw beside the continuous model line

PitcherRoleBFIPexpected IPH int/contSO int/contBB int/contER int/contRate source
Foster GriffinStarter21.95.04.86310 / 5.9682 / 4.4381 / 1.3495 / 2.711all_players_stats_recent_season_blend
Joey CantilloLong Reliever7.42.02.0031 / 0.7161 / 2.0740 / 0.7040 / 0.118all_players_stats_recent_season_blend
Tanner BibeeMiddle Reliever4.51.01.0010 / 0.9442 / 0.9670 / 0.5700 / 0.703all_players_stats_recent_season_blend
Drew RasmussenStarter21.85.25.8087 / 3.2605 / 5.6402 / 1.1353 / 0.924all_players_stats_recent_season_blend
Ian SeymourLong Reliever7.82.02.0142 / 1.3262 / 1.9511 / 0.4331 / 0.592all_players_stats_recent_season_blend
Cam BooserMiddle Reliever (High Leverage)2.51.10.6720 / 0.3520 / 0.6510 / 0.1200 / 0.116all_players_stats_recent_season_blend

Audit: NO DEFECT FOUND

InvariantVerdictEvidence
Log5 additivity136 checksPASS136 of 136 pass
away club fields exactly one starterPASS1 starters in a staff of 3
away staff totals a regulation workloadPASS24 outs recorded, 24 expected
away starter carries a continuous linePASSexpected_IP 4.863
away starter batters faced inside the real bandPASSFoster Griffin projected 21.9 batters faced; real starters run p01-p99 4-30, median 23, mean 21.75
away reliever batters faced inside the real band2 checksPASS2 of 2 pass
home club fields exactly one starterPASS1 starters in a staff of 3
home staff totals a regulation workloadPASS27 outs recorded, 27 expected
home starter carries a continuous linePASSexpected_IP 5.808
home starter batters faced inside the real bandPASSDrew Rasmussen projected 21.8 batters faced; real starters run p01-p99 4-30, median 23, mean 21.75
home reliever batters faced inside the real band2 checksPASS2 of 2 pass
away hitters satisfy every coherence rulePASS9 hitters checked; H<=AB, HR<=H, 2B+3B+HR<=H, SO<=AB, continuous line present
home hitters satisfy every coherence rulePASS9 hitters checked; H<=AB, HR<=H, 2B+3B+HR<=H, SO<=AB, continuous line present
Provenance. Read only from published artifacts and stored KPI value documents. Nothing is recomputed, so this document cannot disagree with what was published. Per-player metric adjustments are a measurement of the catalog at player level and are labelled as such throughout; the pipeline itself moved team runs, the win probability, and hitter lines by one club-wide ratio.