Betting Value Engine

Market-Residual v2 – match statistics

Report #9 · 23.08.2026 07:58:10 · source backtest #6

Development rows11 229
Validation rows2 279
M2-linear λ100
Holdout readNE

Development rolling test

M1 je zmrazená specifikace z předchozí fáze. M2-linear vybírá pouze regularizaci podle development Brier/log-loss. M2-boost má předem pevný malý konfigurací omezený model bez ladění.

ModelBrierLog lossCalibration errorPočet
M0 – opening market0,24050,67381,18 %11 229
Poisson v2 raw (kontext)0,24570,68450,78 %11 229
M1 – frozen residual0,24050,67391,23 %11 229
M2-linear – match stats0,24050,67391,24 %11 229
M2-boost – fixed stumps0,24060,67401,08 %11 229

Validation 2024/25

ModelBrierLog lossCalibration errorPočet
M0 – opening market0,23950,67181,44 %2 279
Poisson v2 raw (kontext)0,24320,67950,91 %2 279
M1 – frozen residual0,23960,67181,46 %2 279
M2-linear – match stats0,23960,67181,46 %2 279
M2-boost – fixed stumps0,23950,67181,46 %2 279

Výběr M2-linear regularizace

λVybranáDevelopment BrierDevelopment log lossValidation BrierValidation log loss
100ANO0,24050,67390,23960,6718
10ne0,24060,67400,23950,6718
1ne0,24120,67530,23950,6718
0.1ne0,24490,68390,23970,6721

Paired bootstrap na validation

Záporný rozdíl znamená, že první model je lepší. 5 000 event-level replikací, seed 42.

PorovnáníMetrikaRozdíl95% CIP(model lepší)
m1_minus_marketBrier0,00000,0000 až 0,000118,36 %
m1_minus_marketLog loss0,00000,0000 až 0,000118,78 %
m2_linear_minus_marketBrier0,00000,0000 až 0,000118,02 %
m2_linear_minus_marketLog loss0,00000,0000 až 0,000118,24 %
m2_boost_minus_marketBrier0,0000-0,0001 až 0,000156,76 %
m2_boost_minus_marketLog loss0,0000-0,0003 až 0,000257,32 %
m2_linear_minus_m1Brier0,00000,0000 až 0,000030,70 %
m2_linear_minus_m1Log loss0,00000,0000 až 0,000030,66 %

Validation podle všech lig

LigaPočetM0M1M2-linearM2-boost
England Championship5420,24360,24370,24370,2435
England Premier League3800,24230,24230,24230,2424
France Ligue 13060,23860,23860,23860,2385
Germany Bundesliga2960,22840,22840,22840,2284
Italy Serie A3750,24360,24360,24360,2438
Spain La Liga3800,23640,23640,23640,2363

Datová a modelová metodika

{
    "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
}
{
    "base_feature_names": [
        "v2_logit_minus_market_logit",
        "expected_total_goals",
        "history_min_log",
        "history_gap",
        "season_progress",
        "lambda_imbalance",
        "home_attack_strength",
        "home_defense_strength",
        "away_attack_strength",
        "away_defense_strength",
        "newcomer_home",
        "newcomer_away",
        "league__787ef53ef6aaa63e299c3de2e064d8ff0bacf00a",
        "league__d6696a57d064756df605440f8ed399e496f2dbb3",
        "league__03b21abbf0d4c7b4bf6276904abc71fd8e9781ba",
        "league__029373fe60e47c2e06041eed872b1c9de9a083c6",
        "league__67d96333beca94ff7f67a7a7d7f6e18f02f24be4",
        "league__dae49a978b80c49996fb27e320b6f875a2c5a43e"
    ],
    "combined_feature_names": [
        "v2_logit_minus_market_logit",
        "expected_total_goals",
        "history_min_log",
        "history_gap",
        "season_progress",
        "lambda_imbalance",
        "home_attack_strength",
        "home_defense_strength",
        "away_attack_strength",
        "away_defense_strength",
        "newcomer_home",
        "newcomer_away",
        "league__787ef53ef6aaa63e299c3de2e064d8ff0bacf00a",
        "league__d6696a57d064756df605440f8ed399e496f2dbb3",
        "league__03b21abbf0d4c7b4bf6276904abc71fd8e9781ba",
        "league__029373fe60e47c2e06041eed872b1c9de9a083c6",
        "league__67d96333beca94ff7f67a7a7d7f6e18f02f24be4",
        "league__dae49a978b80c49996fb27e320b6f875a2c5a43e",
        "stats_shots_for_diff",
        "stats_shots_against_diff",
        "stats_shots_on_target_for_diff",
        "stats_shots_on_target_against_diff",
        "stats_corners_for_diff",
        "stats_corners_against_diff",
        "stats_shot_on_target_ratio_diff",
        "stats_short_long_shots_diff",
        "stats_short_long_sot_diff",
        "stats_conversion_diff",
        "stats_tempo_diff",
        "stats_rest_home",
        "stats_rest_away",
        "stats_rest_diff",
        "stats_history_min_log",
        "stats_history_gap",
        "stats_data_quality"
    ],
    "league_feature_map": {
        "league__787ef53ef6aaa63e299c3de2e064d8ff0bacf00a": "England Championship",
        "league__d6696a57d064756df605440f8ed399e496f2dbb3": "England Premier League",
        "league__03b21abbf0d4c7b4bf6276904abc71fd8e9781ba": "France Ligue 1",
        "league__029373fe60e47c2e06041eed872b1c9de9a083c6": "Germany Bundesliga",
        "league__67d96333beca94ff7f67a7a7d7f6e18f02f24be4": "Italy Serie A",
        "league__dae49a978b80c49996fb27e320b6f875a2c5a43e": "Spain La Liga"
    },
    "match_stats": {
        "shots_for": "HS",
        "shots_against": "AS",
        "shots_on_target_for": "HST",
        "shots_on_target_against": "AST",
        "corners_for": "HC",
        "corners_against": "AC",
        "fouls_for": "HF",
        "fouls_against": "AF",
        "yellow_for": "HY",
        "yellow_against": "AY",
        "red_for": "HR",
        "red_against": "AR"
    },
    "normalization": "All raw match stats are converted to rolling team features and league-season relative features before model fitting."
}