MLBPrediction Today's Board Methodology Evaluation Record About

Model evaluation · built September 10, 2026

How well does it actually work

Every settled prediction this project has ever made, scored against the baselines that matter. The model is compared to a coin flip and to simply betting the home team, because a number with nothing to beat is not evidence of anything.

Store 1627 predictions Settled 1627 Versions 3 Integrity verified

This is a back test, not a track record. only 10 live settled predictions, 250 required before any accuracy figure appears on the site Every number on this page comes from predictions made after the games were played, using data those games had already produced. That is the right way to check whether the maths works and the wrong way to judge whether the model predicts anything. The prospective count is 10 and the page will say so until it reaches 250.

Out of sample, which is the number that counts

Every input below is cumulative to the day before the game, and every fitted constant is refit from games completed before that date. Nothing here has seen the future.

WALK FORWARD, point in time

Point in time inputs, constants refit daily from completed games only.

Sample1309 games, 2026-06-01 to 2026-09-09
Brier0.24868
95% interval0.24443 to 0.25294
Coin flip0.25000
Skill vs coin+0.53%
Hit rate54.2%
Calibration in the large+0.0025
Total MAE3.60 against 3.62 naive

The interval contains 0.25, so this sample cannot distinguish the model from a coin flip.

HOLDOUT, constants frozen before the window

Constants frozen on the earlier window, then applied unchanged to a later window that was untouched when they were fitted.

Sample543 games, 2026-08-01 to 2026-09-09
Brier0.24573
95% interval0.23949 to 0.25197
Coin flip0.25000
Skill vs coin+1.71%
Hit rate55.2%
Calibration in the large+0.0253
Total MAE3.54 against 3.56 naive

The interval contains 0.25, so this sample cannot distinguish the model from a coin flip.

The baselines the model has to beat. Log5 on season to date winning percentage is included because it is the simplest defensible team strength model, and it is worse than a coin flip, which is itself a useful result.
BaselinenBrierLog lossHit rate
coin flip13090.250000.6931552.5%
always the home team at 54%13090.249610.6923852.5%
log5 on season to date win pct13090.254540.7037253.7%

Every version, scored the same way, in sample

The table below is the development back test. It is kept because the gap between it and the walk forward numbers above is the single most useful thing on this page: it shows how much a leaky evaluation flatters a model.

Lower is better for Brier, log loss and calibration gap. Calibration in the large is observed home win rate minus mean predicted home win probability, so zero is perfect and a positive number means the model was too low on home teams. The current version is highlighted.
VersionnBrierLog lossCalib gap Hit rateIn the largeTotal MAE
v1.0.0-poisson
Poisson, no home field term. The first version.
5440.240630.674170.0462957.2%+0.04273.48
v1.1.0-negbin-hfa
Negative binomial, home field from the run split.
5390.240760.674450.0421157.7%+0.03683.47
v1.2.0-negbin-hfa-logit
Negative binomial, home field from the win rate. Current.
5440.239620.672090.0211958.3%+0.01533.47
Coin flip
every game 50/50
5440.250000.69315
Always the home team
flat 54.0%
5440.24822
Season average total
guess the mean every night
544 3.58

What that table says, in plain terms

The win probability has a small real edge

Brier 0.23962 against 0.25000 for a coin flip and 0.24822 for always backing the home team. That is a Brier skill score of 4.15% over a coin and 3.46% over home field. Real, measurable, and small. Anyone telling you a baseball model does much better than this over a full season is selling something.

The total model is close to worthless

Mean absolute error 3.47 runs against 3.58 for ignoring the model entirely and guessing the season average every night. That is not an edge. The total projection is published because it is an honest output of the model, not because it is good, and it should not be used to price a bet.

Calibration is the number that improved

The weighted calibration gap is 0.0212 and calibration in the large is +0.0153. The first version was at 0.0463 and +0.0427, which was the model being systematically too low on home teams. Finding and fixing that was worth more than any amount of tuning.

Hit rate is the least useful number here

58.3% of games went the way the model leaned. It is on this page for completeness and it is the one figure that should carry the least weight, because it throws away everything the probability was telling you.

Calibration, bucket by bucket

Predictions grouped by the probability the model gave them. A well calibrated model that says 60% should be right about 60% of the time. Thin buckets are noise, so read the ones with a large n.
Predicted bandnMean predictedObservedGap
30-40%210.3660.381+0.015
40-50%1670.4590.449-0.009
50-60%2760.5480.573+0.024
60-70%780.6360.667+0.031
70-80%20.7251.000+0.275

Why each version exists

Old predictions permanently keep the version that produced them. A model change never rewrites history, it starts a new series.
VersionReason for the change
v1.0.0-poissonAssumed run totals follow a Poisson distribution and gave the home club no advantage at all.
v1.1.0-negbin-hfaFixed the distribution (the league variance to mean ratio is 2.32, a Poisson requires 1.0) and added a home term from the measured run split.
v1.2.0-negbin-hfa-logitThe run split under-explains the home win rate because the home club does not bat in the bottom of the ninth when it is ahead. Runs stay on the measured split so the score projection stays unbiased; the win probability carries a separate constant fitted to the league home win rate.

What would make this page dishonest. Quoting the hit rate without the baseline. Quoting the back test as a track record. Changing the model until the back test improves and calling the result a discovery. Dropping the total MAE row because it is unflattering. None of those will appear here.

The full method  ·  Today's board