How to Build Your Own MLB Betting Model in Excel

Data, the Bloodstream

First off, you’re staring at a mountain of stats and you can already feel the noise. Pull game logs, player splits, park factors—everything from Statcast velocity to bullpen fatigue. Dump CSVs into a single workbook, label sheets like “Raw”, “Clean”, “Metrics”. By the way, avoid copy‑pasting from random blogs; you’ll drown in mismatched columns. Link up to a reliable feed on baseball-bet.com and let the numbers breathe.

Cleaning & Normalizing

Here is the deal: raw data is a junkyard, you need a refinery. Strip out rows with missing innings, replace NA with the league average, and align dates to a uniform timezone. Use Excel’s Power Query to merge daily rosters, then pivot the table so each row is a game‑team combo. And here is why you must standardize every stat to a per‑plate‑appearance baseline—otherwise your model will compare apples to oranges.

Feature Engineering, Not Guesswork

Now we get to the meat. Compute batting average on balls in play, weighted runs created, and a pitcher’s FIP adjusted for park effects. Throw in a “recent form” proxy: a rolling 10‑game weighted mean that decays older games. Throw a splash of intuition—split splits on lefty vs. righty, clutch at‑bats in the 7th inning, and you’ve got a feature set that sings. Long, unwieldy formulas are fine; keep them in named ranges to stay sane.

Statistical Engine

Time to turn those columns into predictions. Set up a simple linear regression using the Analysis ToolPak: target = win probability, predictors = the engineered metrics. For a sharper edge, dabble with logistic regression—Excel can do it if you add the Solver add‑in and crank the likelihood function. Forget the fancy black‑box; the goal is transparency, so you can tweak a coefficient on the fly and instantly see the impact.

Testing, Tuning, and the Hard Truth

Split the season into training and hold‑out sets—say March through July for fitting, August onward for validation. Compare predicted probabilities to actual outcomes, compute Brier scores, and watch for over‑fitting like a cat on a hot tin roof. If your model consistently overestimates underdogs, dial back the weight on recent form. Adjust, rerun Solver, and repeat until the error curve flattens. No magic, just grind.

Deploy and Bet

Export the final probability column to a new sheet, overlay the Vegas odds, and flag any edges greater than your threshold—say 5 % for a solid edge. Copy the spreadsheet into your betting workflow, set alerts, and let the model do the heavy lifting. The instant you see a +150 line where your model spits 62 % win probability, you’ve got a ticket. Take that.

Scroll to Top