Sports Dashboard

MI Bivariate Poisson + Dixon-Coles + Elo

← Back to Blog
|Signal Test|ACCEPTED

New Markets: BTTS and OU25 Side-Select — Adding 750 Bets/Year

Tested BTTS and OU25 per-league × per-side × per-season. 38 combinations tested, 3 stable: Segunda BTTS Yes (+7.5%), Bundesliga 2 OU25 Under (+2.0%), Belgian Pro OU25 Under (+8.8%). Year-over-year stability check caught EPL BTTS Yes and Championship BTTS No as unstable (1/3 years). ~360 additional bets/year deployed.

New Bets
~360/yr
BTTS + OU25 side-select
Stable Signals
3 of 38
Year-over-year validated
BTTS CLV
+9.5%
19 leagues (7,412 bets)
Rejected
35 of 38
Unstable across seasons

New Markets: BTTS and OU25 Side-Select — Adding 750 Bets/Year

The model has been AH-only. That's where the money is — +6.5% CLV, +2.49% historical ROI, +27.5% live ROI. But AH gives us ~1,000 bets per year. The Fundamental Law of Active Management says: IR = IC × √BR. Same skill, more bets, better information ratio.

BTTS and OU25 were sitting right there in the score grid. We just hadn't tested whether they're profitable.

The Question

Can we add BTTS (Both Teams To Score) and OU25 (Over/Under 2.5) as new betting markets? Not blindly — per-league, per-side, with year-over-year stability validation.

What We Found

BTTS: 7,412 bets across 19 leagues

Overall: CLV +9.5%, ROI -5.96%. Negative at scale — like OU25, the model finds value but can't convert it profitably across all leagues.

But the per-league × per-side breakdown reveals structure:

LeagueBTTS Yes ROIBTTS No ROIBest Side
Segunda**+7.5%** (229)-15.3% (87)Yes
Championship+0.9% (142)**+4.1%** (296)No
EPL**+8.9%** (138)-2.0% (155)Yes
Serie A-6.7% (157)-20.3% (177)Neither
Eredivisie-20.1% (42)-16.2% (309)Neither

The profitable side varies by league. Championship's "No" edge means the model correctly identifies clean sheet opportunities. Segunda/EPL "Yes" means both teams scoring more than the market expects.

Year-over-year stability check (the critical gate):

Signal2022-232023-242024-25Stable?
Segunda Yes+19%-1%+13%**Yes (2/3)**
EPL Yes-10%+20%-2%No (1/3)
Championship No-4%+13%-3%No (1/3)

Only Segunda BTTS Yes is stable. EPL and Championship flip-flop. We almost deployed both — the year-over-year check caught it.

OU25: Same analysis, per-side

League + Side2022-232023-242024-25Stable?
Bundesliga 2 Under+6%+6%0%**Yes (3/3)**
Belgian Pro Under-12%+7%+10%**Yes (2/3)**
La Liga Under-11%+9%-6%No (1/3)
Championship Under+4%-9%+10%Mixed
Ligue 2 Over-8%+6%-8%No (1/3)

Bundesliga 2 Under is rock solid — positive in all 3 tested seasons. Belgian Pro Under is improving and passed 2/3.

The Nuance

Why does the profitable side vary by league?

The model over-predicts goals by 8.7% on average. But this varies:

  • In Championship: the model OVER-predicts goals → "Under" is the correction side → BTTS No benefits (fewer goals = fewer both-score outcomes)
  • In Segunda: the model correctly identifies attacking imbalances → "Yes" edge is genuine

Why the stability check matters:

EPL BTTS Yes looked amazing: +8.9% ROI, 138 OOS bets, 64.5% hit rate. But one year earlier it was -10%. And one year later -2%. The aggregate OOS number was driven by one exceptional season (2023-24: +20%). Without the year-over-year check, we would have deployed a signal that's profitable 1-in-3 years.

What Didn't Work

Every league × side combination that showed the OPPOSITE pattern from our hypothesis:

  • Serie A BTTS: both sides negative, both unstable
  • Turkish Super: BTTS No -26.4% (worst in dataset)
  • Eredivisie: BTTS Yes -20.1%
  • Scottish Prem: both sides -11% to -17%

These leagues' BTTS markets are either efficiently priced or our model is structurally wrong for these specific prediction types in these contexts. We don't know which — and we don't need to. The data says don't bet.

What This Means

Deployed (stable across seasons):

SignalLeagueSideEst. Bets/YearOOS ROI
BTTSSegundaYes~100+7.5%
OU25Bundesliga 2Under~100+2.0%
OU25Belgian ProUnder~160+8.8%

Total: ~360 additional bets/year. Combined with ~1,000 AH bets, that's a 36% increase in breadth.

At $20/bet flat staking:

  • Segunda BTTS Yes: ~$150/year
  • Bundesliga 2 Under: ~$40/year
  • Belgian Pro Under: ~$280/year
  • Total: ~$470/year incremental

This isn't transformative by itself, but it's free — the model already computes these probabilities on every prediction. No new modeling required.

What's Next

  1. Monitor live performance — these signals are deployed, logging to paper trade. Watch for 50+ settled bets per signal.
  2. Phase 3: More leagues — FootyStats covers 1,500+ leagues. Each new league with positive AH CLV adds to the portfolio. The side-select framework applies to all of them.
  3. Combined portfolio test — pre-registered as btts-ou25-combined-portfolio. Need to validate that adding BTTS + OU25 doesn't degrade AH Sharpe via correlation.
  4. Re-evaluate unstable signals annually — EPL BTTS Yes and Championship BTTS No may stabilize with more data. Re-test after 2025-26 season completes.
ACCEPTEDSignal: btts-side-select|2026-03-23