Inputs: start from the official competition state
Use the official Bundesliga standings to anchor clubs, played matches, results, goal difference and points for the current campaign. Save the retrieval date and do not attach a prior-season forecast to a promoted or materially changed team without an explicit transfer method.
| Layer | Record |
|---|---|
| Competition | Season, fixture, venue and current table date |
| Data | Provider, definitions, coverage and correction policy |
| Team state | Availability, lineup status, rest and role changes |
| Market | Result, total, handicap or prop with exact period |
| Forecast | Version, training cutoff, probability and uncertainty |
| Ticket | Accepted price, stake, timestamp and settlement rule |
Replace league stereotypes with tests
Do not assume Bundesliga fixtures are automatically suitable for overs, BTTS or favorite parlays. Opta's football-statistics definitions show why event metrics require a named provider. Estimate each exact target from current, lagged inputs and compare with a simpler baseline.
For promoted clubs or coaching and squad changes, publish a wider uncertainty range or abstain until the model has relevant evidence. More historical seasons do not repair a mismatched current process.
Translate the US contract
DraftKings' soccer rules provide one current US operator example of regulation-time, totals, handicap, player and tournament settlement. Retain the local accepted wording; a three-way result and two-way qualification product are not interchangeable.
Validation
Following scikit-learn's TimeSeriesSplit documentation, evaluate on later matches without training on future observations. Report calibration for each market and season segment using scikit-learn's reliability guidance.
Test these failure modes:
| Test | Question |
|---|---|
| Season transition | Does performance survive promoted and relegated teams? |
| Competition transfer | Was a model developed on another league? |
| Definition drift | Did provider fields change? |
| Price comparison | Was the analysed quote actually accepted? |
| Selection bias | Are all eligible forecasts retained? |
Dependence
Totals, BTTS, moneyline and player legs from one match share score states. Different fixtures can share weather, schedule and model error. OpenStax's independence condition must be justified before marginal probabilities are combined.
Current-season decision rule
Classify every proposed leg as usable, conditional or abstain. A usable leg has the current competition state, a stable provider definition, a later-tested probability, an accepted price and an exact local rule. A conditional leg is waiting for a named input such as confirmed lineup status. Abstain when a promoted or materially changed team falls outside the model's tested scope, when a provider field has drifted, or when the analysed market cannot be matched to the receipt.
Do not move a leg from conditional to usable because its price shortens or another leg needs company. Recompute from the newly available information, retain the earlier version, and apply the same inclusion rule to winning and losing outcomes.
Next step
Use Bundesliga Accumulator for the next part of this topic.
Continue learning
- Next guide: Champions League Parlays
- Related guide: La Liga Parlays
Assumptions and limitations
This page publishes no current picks, fixed scoring rate or team hierarchy. The official table, squads, prices, availability and model relationships change. Current-season data can be sparse, and historical relationships may not transfer to the next fixture.

