Why DIY Beats the Bookies
Everyone chases the same consensus odds, and the market eats them for breakfast. Your edge? A spreadsheet you control, data you trust, formulas you write. No one else can tweak your model on the fly, so you stay ahead of the curve.
Gathering the Data
Start with a raw feed—Baseball-Reference, FanGraphs, or a reputable API. Pull game logs, pitcher splits, park factors, and weather forecasts. Dump everything into a single sheet; raw rows are your mining ground. By the way, double‑check the date format, or you’ll spend an hour cleaning later.
Import Mechanics
Use Power Query to pull CSVs or JSONs directly. One click, and you have a live connection that refreshes every night. Avoid manual copy‑pastes; they poison the model with human error.
Setting Up the Spreadsheet
Lay out tabs like a playbook: INPUT, METRICS, PROJECTIONS, and RESULTS. INPUT holds the raw feed; METRICS calculates ERA+, wOBA, and BABIP. PROJECTIONS applies regression, while RESULTS compares your predicted run line to the market.
Naming Conventions
Every column gets a short, unique code—no spaces, no ambiguity. Example: “HR_15” for 15‑day home run trend. This speeds up formula writing and cuts down on #REF! errors.
Core Metrics & Formulas
Take a pitcher’s recent ERA, blend it with league average using weighted averages: = (RecentERA*0.7)+(LeagueERA*0.3). For hitters, use a z‑score to normalize past performance: = (Stat-Mean)/STDEV. And here is why: normalization smooths out outliers, letting your model see true talent.
Run Expectancy
Deploy the classic “Run Expectancy Matrix” keyed to base‑state and outs. Multiply the matrix by your projected batting averages to get expected runs per inning. The math is simple, the impact is massive.
Testing & Tweaking
Back‑test the model against the last 2 seasons. Plot predicted vs. actual run totals, flag any systematic bias. If you consistently over‑predict, dial back your weight on recent performance. Remember, a model that works on paper but fails live is useless.
Final Action
Lock your spreadsheet, set an automatic nightly refresh, and place a single wager based on the biggest discrepancy between your projection and the posted line. That’s the razor‑sharp move that turns data into dollars.