MLBQUANT

How the system works

And, just as deliberately, what it refuses to do.

The pipeline

Six seasons of MLB results, starting pitchers, Statcast batted-ball data, and game-time weather feed 25 leakage-safe features — every rolling statistic uses only information available before the game it describes. A calibrated logistic regression produces win probabilities; those are compared against vig-removed consensus odds from nine sportsbooks; disagreements above threshold become flags; flags that clear all eight gates become simulated 1-unit paper bets, logged with their odds, probability, expected value, and the model's top reasons. Final scores grade every bet automatically.

Why the probabilities can be trusted (and where they can't)

Calibration analysis on held-out 2026 games shows predicted probabilities in the 30–70% band track observed win rates. Outside that band the samples are thin and the model measurably overconfident — so the policy simply refuses to bet there. The betting gates are derived from the project's own validation findings, not borrowed thresholds.

What it refuses to do

A second model that predicts run totals failed to beat the naive always-predict-the-average baseline in cross-validation. The system reads that verdict from the model's own saved report card and disables O/U betting automatically — the model exists, and is not allowed to act, until it earns it. There is also no real-money automation anywhere: the ledger's job is to establish, in public, whether the edges are real. Sizing stays at a flat 1 unit; quarter-Kelly stakes are recorded in parallel for comparison but never used, because Kelly trusts the model's probabilities and that trust is exactly what's being tested.

Honest limitations

Cross-validated accuracy is ~0.55 against a 0.52 home-team baseline — a real but thin signal, nowhere near guaranteed to survive closing-line vig. Some prediction inputs fall back to training-mean placeholders when lineups or weather aren't posted (a fallback scheme rebuilt after a placeholder bias was caught flagging every road team on one slate — graded honestly in the project log). The sample of settled bets is small; nothing here is a conclusion yet. That's what the ledger is for.