The Marginbeta
Methodology

SLIDER: how it works

SLIDER is our independent NCAA D1 baseball team rating, built entirely from our own data. The name maps to the six knobs that drive the model: Score-margin, Lambda (the ridge penalty), Injury, Decay (time-weighted on the injury layer), ERA (the rotation baseline), and Ridge regression. Every component ships with its own per-team rank on /cbb-ratings.

The composite

margin_rating = base + 0.20·form + 0.35·rotation + 1.0·injury

Three weights, locked on a 2018-2022 train / 2023-2024 validate split. Each layer ships its own value and its own per-team rank, so a reader can sort the table by any one of them and see who is up purely on base strength versus who is climbing on form or sliding on injuries.

Layer 1: Base (Massey ridge)

score_margin = rating_home − rating_away + HFA·(1−neutral) + ε

Solved by ridge least-squares (λ=0.1) with a global mean-zero constraint and per-team L2 shrinkage. Score margins are clipped to ±15 runs so a 25-run blowout doesn't drag the loser's rating into orbit. Home-field advantage and the neutral-site flag are fit as free parameters; we don't hardcode them.

Layer 2a: Form

form_adj = clip( 0.5 · EWM(residuals, halflife=5), ±0.5 )

For each team, the residual on game G is actual_margin − expected_margin where expected comes from the current base ratings + HFA. Take an exponentially-weighted mean of the last 10 residuals with a half-life of 5 games, multiply by 0.5, then clip at ±0.5. The cap is tight because the holdout sweep showed monotonically better validation accuracy as the cap got tighter, form residuals are noisier than expected.

Layer 2b: Rotation

rotation_adj = (4.50 − weighted_top3_ERA) · 0.15
weighted_top3_ERA = 0.5·ERA₁ + 0.3·ERA₂ + 0.2·ERA₃

Reads the team's probable starters for the upcoming weekend from cbb_probable_starters (scraped from D1Baseball). The 4.50 baseline is the rough D1 league average ERA. Starters under 30 IP are treated as league-average to keep small-sample swings (a freshman with one good start) from dominating. Capped at ±1.5 rating points but rarely binds in practice.

Layer 2c: Injury

injury_adj = − 1.5 · (absent_IP_total / team_IP_total)

Reads the existing pitcher_health snapshot that drives the CWS simulator. Only fires when the team is flagged red or yellow (top-3-by-IP pitcher missing recent appearances with non-trivial innings); green / unknown teams get a 0. Always non-positive, injury never helps a team.

Example team: Auburn (as of 2026-05-14)

base = +6.96 (rank 4)
form = +0.50 (rank 4) → contributes 0.20 · (+0.50) = +0.10
rotation = +0.33 (rank 5) → contributes 0.35 · (+0.33) = +0.12
injury = 0.00 (rank 16) → contributes 1.0 · 0.00 = 0.00
margin_rating = 6.96 + 0.10 + 0.12 + 0.00 = +7.18 (rank 3)

Auburn ranks 4th on pure base strength but climbs to 3rd on the composite because (a) recent-form residual is at the cap , they've been over-performing their rating, and (b) their probable weekend rotation grades a third of a run better than league baseline. No injury hit either. Three small tailwinds compound into one rank step.

Retrospective, six NCAA Tournaments

For each year in [2018, 2019, 2021, 2022, 2023, 2024] we built the base rating using only games played before that year's Selection Day, then tested on every post- selection-day tournament game where both teams appeared in the field. Composite-layer parameters (form/rotation/injury) are not applied here, they use 2026-season data that does not exist historically.

Live Kalshi forward test, what survives at real ask

SLIDER also runs in parallel on the live Kalshi CBB scanner, with its predictions logged against every emitted opportunity. Across 15,966 resolved 2026 opps (about 5 weeks of forward data), we ran the same realized-P&L analysis as above but with two real-world adjustments:

Peer review, what changed

Two independent reviewers examined the retrospective before this page was published. Three things changed as a result:

Overlay validation status (H2)

The composite includes form, rotation, and injury layers. Their out-of-sample validation status on tournament games:

The 66.1% retrospective accuracy and 4/6 champion identification apply to the base layer only. The production composite adds small overlay adjustments that have negligible measured effect on tournament Brier.

Validation, regular-season

Tested on a 2018-2022 train / 2023-2024 validate split, then a 2024 holdout for the head-to-head vs PEAR. Three gates:

Honest disclosures

What the rating doesn't capture

Home-field advantage is fitted at +0.22 rating points, well below the +0.5-0.8 industry consensus. Two reasons. First, ESPN's neutral-site flag covers about 60% of our scored games, the missing 40% are mostly mid-major non-conference matchups that aren't on ESPN's scoreboard, so neutral tournament games in those windows still look like home games to the solver. Second, college baseball legitimately has a smaller HFA than basketball or football, ballparks vary less than arenas or stadiums. Both factors contribute; we're not hardcoding a floor.

Rotation coverage is partial. We have probable starters for ~100 of 309 D1 teams on any given weekend (scraped from D1Baseball, which prioritizes higher-profile programs). Teams without probable-starter data get a 0 rotation adjustment, not a penalty. The composite is therefore most differentiated against PEAR for the top half of the standings.

Injury coverage is partial. The pitcher- health snapshot flags about 80 teams as red or yellow at any time; the rest are green or unknown. Teams that legitimately have a healthy staff and teams whose injury data we lack both get 0.

What it doesn't see at all

Data we use

Not used as input: anything from PEAR Ratings, D1Baseball, or Baseball America. Those appear as comparison columns elsewhere on the site, never as inputs to this rating.

What changes day to day

A nightly worker recomputes every team at 06:00 MT. Across the last 7 days the average team's rating moves by 0.09 rating points; the most volatile teams move ~0.4. Most of the motion comes from the form layer cycling through last-10 residuals; rotation and injury rarely move the needle by more than a tenth of a rating point on any given day.