1-Atlas Model: Orioles Team Total Under 4.5 Fires in BOTH Halves of the Astros Doubleheader
Houston Astros at Baltimore Orioles | Camden Yards | April 30, 2026 | Game 1 1:05 PM ET, Game 2 7:05 PM ET
The 1-Atlas team-runs regression model produced one of its rarer outputs Thursday morning: the same exact pick, fired as a separate signal, in both games of a same-day doubleheader. The Baltimore Orioles team total Under 4.5 came back at edge +0.81 in Game 1 and edge +0.81 in Game 2, with prices of -115 and -125 respectively. The model's central projection for Baltimore's run output is identical in both halves at 3.69 runs, which puts the calibrated under probability comfortably above each ticket's break-even line. The structure of the bet is two independent signals stacked on the same team in the same calendar day, and the model treats them as separate stakes rather than a parlay. This piece walks through how the Atlas projection is generated, why the same number appears for both games, and where the remaining sources of variance sit.
The Atlas Architecture in One Paragraph
1-Atlas is a residual-target gradient boosted regression that predicts a team's run output in a single MLB game. The training set is the 19,326 team-game observations from 2022 through 2025, walk-forward validated by season. The model is trained to predict not the raw run total but the residual against a per-season league-average run baseline, which removes the run-environment drift between years and keeps the regression tree focused on the matchup-level signal. The feature set carries roughly 80 to 100 inputs per team-game, including team-side rolling offensive metrics over 7-day, 14-day, and 30-day windows, opponent starter rolling allowed metrics over the same windows, park factor in raw and league-residual form, weather inputs from the Action Network feed, and the Vegas total and run-line as market priors. The output is a point projection plus a 10th-90th percentile interval. For Thursday's Baltimore line, the central projection is 3.69 runs and the q10/q90 band sits at roughly 2.1 to 5.6 runs.
Why the same projection in both games? The Atlas team-side feature vector for Baltimore is identical between the two halves because the offense, the park, the weather window, and the opponent's organizational pitching profile have not changed. The model treats opposing-starter ID through the rolling allowed metrics, which differ between Lambert (Game 1) and McCullers Jr. (Game 2), but those features are second-order relative to the team's own rolling offensive output. The result is a converged 3.69-run projection on both halves rather than two distinct numbers.
The Residual-Target Trick and Per-Season Bias Correction
The original v1 of Atlas predicted raw runs and walk-forward backtests showed a structural over-projection issue: the model consistently projected 0.2 to 0.3 runs higher than reality across 2022 and 2025 specifically. That is not a tuning failure, it is a regime-shift problem. Run environments drift. The 2022 and 2025 league-average runs per team-game were measurably different, and a single model trying to fit both eras was averaging across the gap. The v2 fix was to predict the team-game residual against a league-average baseline calculated per season, then add the season-specific baseline back at inference time. The training residual mean now sits at +0.215, an artifact of which seasons get more weight in the recency-weighted loss, and that mean is corrected at inference rather than being absorbed into the leaves of the trees. The result is the model is calibrated to within 0.05 runs per team-game across the last four seasons, walk-forward.
For Baltimore Thursday, the residual projection comes back at +0.215 below the 2026 baseline, the season baseline gets added back, and the final point projection is 3.69 runs. The same projection appears in both halves because the team-side feature vector is identical, the per-season correction is the same, and the opposing-starter shrinkage is roughly even across Lambert and McCullers' respective rolling allowed lines.
Backtest Reference Points
| Slice | Bets | Hit % | ROI % |
|---|---|---|---|
| Atlas v2 full backtest (4 seasons) | 3,825 | 59.2 | +6.59 |
| Edge >= 0.50 slice | 1,062 | 62.4 | +9.81 |
| Edge >= 0.75 slice (today's Baltimore) | 486 | 64.7 | +11.42 |
| 2025 walk-forward (most recent) | 923 | 58.8 | +6.10 |
Why the Astros Pitching Plan Lines Up With the Output
Even though the Atlas projection on Baltimore is set primarily by the Orioles' own rolling offensive features, the opposing-starter inputs do not undermine the under case in either game. Peter Lambert opens Game 1 carrying a 1-1 record and a 3.27 ERA across his early-season profile, with rolling allowed-runs metrics that fall in the 4.0 to 4.4 per-nine range against right-leaning lineups. Lance McCullers Jr. follows in Game 2 at a 1-2, 6.75 ERA surface line that masks an xFIP much closer to mid-fours, and his sinker-curve mix induces ground balls at a top-quartile rate when the command is on. Neither starter is a true-talent 7.00 ERA arm, and neither lines up as the kind of profile that gets the Orioles offense into a 5-plus-run regulation game.
The Atlas team-side feature vector for Baltimore tells the bigger story. The Orioles' rolling 14-day OPS sits at .689 and the wRC+ has been below 95, well off the 110 baseline the projection systems were calling for in March. The team's rolling 7-day runs-per-game has trended toward 3.8, which aligns almost exactly with the Atlas point projection of 3.69. When the rolling offensive output, the model output, and the recent record (14-15) all triangulate at the same number, the under is the calibrated side of the line.
Calibration Math: From 3.69 Runs to a Probability
The translation from a point projection to a betting probability runs through a calibrated Poisson distribution fit to historical team-game run totals. For a posted line of 4.5 runs, the under outcome requires the team to score 4 runs or fewer. Using the Atlas central projection of 3.69 runs as the Poisson rate parameter and the calibrated overdispersion factor of 1.18, the implied under probability lands at approximately 62.4 percent. Game 1 at -115 has a break-even of 53.5 percent, leaving a 8.9 percentage point cushion. Game 2 at -125 has a break-even of 55.6 percent, leaving a 6.8 point cushion. Both prices are above water on the model's calibrated probability.
Two Independent Signals, Not a Parlay
| Game | Line | Price | Model U Prob | Break-Even | Edge |
|---|---|---|---|---|---|
| Game 1 (1:05 PM ET) | 4.5 | -115 | 62.4% | 53.5% | +8.9 pp |
| Game 2 (7:05 PM ET) | 4.5 | -125 | 62.4% | 55.6% | +6.8 pp |
Each ticket carries its own price and break-even. The model treats them as independent signals because the projection mechanism for each is independent, even though the team-side features overlap. Combined expected value across both 1.5-unit stakes is positive on each side. Do not parlay.
Doubleheader Fatigue: A Small Tail Adjustment
The model does not explicitly carry a doubleheader fatigue feature, which means any historical edge associated with second-game offensive degradation is unmodeled. A walk-forward audit of doubleheader games in the 2022-2025 sample shows the second game of a same-day twin bill has run roughly 0.18 runs lower than the first game on a league-wide basis, holding all other inputs constant. That is not a large effect, but it tilts the same direction the model is already leaning. The Game 2 price has roughly 0.10 runs of additional steam priced in (-125 vs -115), which is consistent with sharps recognizing the fatigue effect in roughly the same magnitude as the historical sample suggests. Net of that adjustment, the Game 2 ticket is still positive expected value at the posted price.
Variance Sources to Track
- Pitcher health. Either Lambert or McCullers exiting in the third inning would shift the projection toward the over via increased bullpen exposure. Atlas has Houston's pen at a 4.05 ERA which is above its starters' run-prevention rate.
- Weather. A late-day temperature spike at Camden Yards above 75 degrees would push the projection up by roughly 0.15 runs. Current forecast is mid-60s through both first pitches.
- Lineup card surprises. An Orioles top of the order with both Henderson and Rutschman fully active is the projection baseline. A late scratch would tilt the projection further under, not over.
- Same-game inning script. An early 3-0 Orioles lead by the third inning would compress the bet's variance to whether they tack on additional runs. The model's q10/q90 interval already accounts for that distribution shape.
Verdict
The 1-Atlas residual model fired Baltimore Orioles team total Under 4.5 as a separate signal in both halves of the Astros doubleheader, with identical 3.69-run point projections and +0.81 edge per side. Game 1 at -115 carries a 8.9 point edge over break-even, Game 2 at -125 carries a 6.8 point edge. The historical Atlas edge >= 0.75 slice has hit at 64.7 percent and ROI'd at +11.42 percent across nearly 500 walk-forward bets. The under is the model's call in both halves at posted prices.
MODEL PROJECTION
1-Atlas central projection: 3.69 runs, both halves. Implied under probability: 62.4 percent on Poisson with overdispersion 1.18. Edge over break-even: 8.9 pp Game 1, 6.8 pp Game 2. Backtest reference: edge >= 0.75 slice, 486 bets, 64.7% hit, +11.42% ROI. Model confidence: HIGH on both halves, treated as independent signals.