Betting Value Engine

Poisson v2 – rolling evaluation

Report #8 · 23.08.2026 07:55:19 · source backtest #6

Development rows11 229
Validation rows2 279
Selected config—
Holdout readNE

Development rolling test

2019/20–2023/24. Každý zápas používá jen výsledky před jeho časem. Kalibrace je naučená na těchto rolling OOS predikcích; její validní kontrola je až níže na 2024/25.

ModelBrierLog lossCalibration errorPočet
Base-rate——— %0
Poisson v1——— %0
Poisson v2 raw——— %0
Poisson v2 calibrated——— %0
Poisson v2 Dixon–Coles calibrated——— %0
Opening market——— %0

Validation 2024/25

Specifikace a kalibrátor jsou zde už zmrazené podle developmentu. Opening market zůstává pouze benchmarkem.

Dixon–Coles vychází pro agregovanou pravděpodobnost Over/Under 2,5 stejně jako kalibrovaný Poisson očekávaně: standardní tau korekce pouze přerozděluje nízké skóre uvnitř intervalu 0–2.

ModelBrierLog lossCalibration errorPočet
Base-rate——— %0
Poisson v1——— %0
Poisson v2 raw——— %0
Poisson v2 calibrated——— %0
Poisson v2 Dixon–Coles calibrated——— %0
Opening market——— %0

Výběr hyperparametrů

Řazení je podle development Brier score, při shodě podle development log loss. ROI se do výběru nepoužívá.

ConfigDecay half-lifeShrinkage priorCarry-overDev BrierDev log lossValidation BrierValidation log loss

Rolling vývoj po sezonách

SezonaV2 raw BrierV2 calibrated BrierDC calibrated BrierV2 raw log lossV2 calibrated log loss
1920—————
2021—————
2122—————
2223—————
2324—————
2425 validation—————

Metodika a zmrazení

{
    "M0": "Opening no-vig market baseline.",
    "M1": "Frozen market-offset regularized logistic model using Poisson v2 and pre-match metadata features.",
    "M2_linear": "Market-offset regularized logistic model with the frozen M1 features plus rolling match statistics.",
    "M2_boost": "A deliberately small depth-1 boosted-stump residual model; no external boosting library, no hyperparameter search, fixed rounds, learning rate, leaf cap, and L2.",
    "new_information": [
        "shots",
        "shots on target",
        "corners",
        "short versus long form",
        "shot conversion",
        "rest days",
        "rolling tempo",
        "statistical history and data quality"
    ],
    "rolling": "Each development season is predicted from earlier development seasons; validation is fit on development only. Same-time matches are predicted before any result is added.",
    "league_quality": "Stats are modeled relative to league-season baselines. Serie A shot fields retain an explicit measurement caveat and are not globally pooled.",
    "selection": "Only development Brier\/log loss select M2-linear regularization. M2-boost configuration is fixed in advance. ROI is excluded.",
    "holdout": "The later holdout was not queried, read, trained on, tuned on, or evaluated.",
    "main_metrics": [
        "Brier score",
        "log loss"
    ],
    "immutable_result": true
}
{
    "m1_regularization_frozen": 100,
    "m2_linear_selected_regularization": 100,
    "m2_boost_configuration": {
        "rounds": 12,
        "learning_rate": 0.05,
        "l2": 50,
        "quantiles": [
            0.25,
            0.5,
            0.75
        ],
        "max_leaf_value": 0.15
    },
    "linear_primary_metric": "development rolling Brier score",
    "linear_secondary_metric": "development rolling log loss",
    "boost_hyperparameters_tuned": false,
    "validation_used_for_selection": false,
    "roi_used_for_selection": false
}