⚽ Tomulator
Overview
β—ˆDashboardπŸ“…Today's gamesβ—ŽState of play
Money
πŸ’·Bets & strategies
Explore
⊞Leagues & seasonsπŸ“Metricsβ–€Data sources
Engine room
🎲SimulationsπŸ§ͺLab≣Catalog?How this works

matrix backtest: engine x rule x staking, per-season $1000 replays

← lab Β· 933 engine Γ— rule Γ— staking combos, each season from $1000 Β· ran 7/4/2026

What this is: The tournament: every prediction engine Γ— every betting rule Γ— every staking policy, replayed season by season with each season restarting from $1000. Finds which COMBINATIONS survive, not just which models predict.
Every engine Γ— bet-rule Γ— staking combination replayed season by season, each season restarting from $1000. Progression staking (martingale/fibonacci/paroli) inflates medians and hides ruin β€” always read the worst-season column. Target-chase staking STOPS at its target ($2000 for target_chase_2x), so "median $2000" means "over half the seasons doubled then quit betting", not "typically doubles" β€” the mean is the honest expectation there. Poisson engines carry only 4 stored seasons; 21-season GBM cells are the trustworthy ones.
EngineRuleStakingMedian endMean endWorst seasonWinning
GBM model #16 β†’back home wins priced 2.60–4.50, any positive model edgekelly half cap5$1250$1158$66114/21
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 2%kelly half cap5$1244$1158$65914/21
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 5%kelly half cap5$1244$1154$66913/21
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 10%kelly half cap5$1244$1160$61814/21
Poisson sim #17 β†’back draws at any price, any positive model edgeflat 10$1220$1180$7733/4
Poisson sim #17 β†’when the skill mismatch is high (top third of games): back the drawflat 10$1186$1190$9633/4
Poisson sim #17 β†’back draws priced 4.50+, any positive model edgeflat 10$1144$1139$9723/4
Poisson sim #17 β†’back draws at any price, model edge over 2%flat 10$1132$1150$9232/4
Poisson sim #17 β†’when the match stakes is high (top third of games): back the drawflat 10$1117$1114$9993/4
Poisson sim #17 β†’back home wins priced 1.80–2.60, model edge over 5%kelly half cap5$1114$1114$8772/4
Poisson sim #17 β†’when the referee's card average is high (top third of games): back the drawflat 10$1109$1140$10034/4
GBM model #16 β†’back home wins priced 2.60–4.50, any positive model edgekelly quarter cap2$1107$1069$86314/21
Poisson sim #17 β†’back home wins priced 1.80–2.60, model edge over 10%kelly half cap5$1106$1125$8742/4
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 2%kelly quarter cap2$1104$1069$86214/21
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 5%kelly quarter cap2$1104$1067$86814/21
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 10%kelly quarter cap2$1104$1069$83414/21
Poisson sim #17 β†’back draws priced 4.50+, model edge over 2%flat 10$1103$1128$10224/4
Poisson sim #17 β†’back home wins priced 1.80–2.60, model edge over 2%kelly half cap5$1087$1082$8422/4
Poisson sim #17 β†’back home wins priced 1.80–2.60, any positive model edgekelly half cap5$1086$1077$8492/4
Poisson sim #17 β†’when the referee's card average is high (top third of games): back the underdog (3.0+)flat 10$1083$1012$7673/4
GBM model #16 β†’when the match stakes is high (top third of games): back the favouritekelly half cap5$1079$1028$55914/21
Poisson sim #17 β†’when the skill mismatch is low (bottom third of games): back the underdog (3.0+)flat 10$1077$1050$8493/4
Poisson sim #17 β†’when the expected tempo is low (bottom third of games): back the drawkelly half cap5$1073$1088$9543/4
Poisson sim #17 β†’when the expected tempo is high (top third of games): back the drawflat 10$1073$1025$7202/4
Poisson sim #17 β†’when the Elo gap is high (top third of games): back the favouritekelly half cap5$1073$1095$9733/4
GBM model #16 β†’when the referee's card average is low (bottom third of games): back the favouritekelly half cap5$1072$1075$51314/21
Poisson sim #17 β†’back draws priced 2.60–4.50, any positive model edgeflat 10$1066$1041$8012/4
Poisson sim #17 β†’back draws at any price, model edge over 5%flat 10$1065$1053$8302/4
Poisson sim #17 β†’back draws priced 4.50+, model edge over 5%flat 10$1065$1075$9023/4
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 10%flat 10$1060$1037$91414/21
Poisson sim #17 β†’when the match stakes is high (top third of games): back the drawkelly half cap5$1059$1074$9442/4
GBM model #16 β†’back home wins priced 2.60–4.50, any positive model edgeflat 10$1056$1042$91315/21
Poisson sim #17 β†’when the Elo gap is high (top third of games): back the drawflat 10$1054$1117$9533/4
GBM model #16 β†’when the expected tempo is high (top third of games): back the underdog (3.0+)kelly quarter cap2$1048$940$37911/21
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 2%flat 10$1047$1042$92314/21
GBM model #16 β†’back home wins priced 2.60–4.50, model edge over 5%flat 10$1047$1035$92314/21
Poisson sim #17 β†’back home wins priced 1.80–2.60, model edge over 5%kelly quarter cap2$1045$1047$9622/4
GBM model #16 β†’when the referee's card average is high (top third of games): back the underdog (3.0+)flat 10$1045$1031$79014/21
Poisson sim #17 β†’back home wins priced 1.80–2.60, model edge over 10%kelly quarter cap2$1041$1048$9472/4
Poisson sim #17 β†’when the Elo gap is low (bottom third of games): back the drawflat 10$1041$1060$9023/4

933 cells total Β· leaderboard shows the top by median season end.

Reading the columnswhat each number actually means

Median endmedian season-ending bankroll (start $1000). CAUTION: target-chase staking stops at its target, so when most seasons hit the stop the median pins to exactly the target β€” read the mean beside it
Mean endaverage season-ending bankroll β€” the honest expectation; losing seasons drag it down where the median can't see them
Worst seasonthe ruin check β€” progression staking looks great until this column
Winningseasons that ended above $1000 / seasons replayed
Stakinghow bet size was chosen; same rule + different staking = wildly different fates
Spec Β· the reproducible recipe
{
  "kind": "matrix_backtest",
  "rules": [
    "public_always_favorite",
    "public_always_home",
    "public_always_away",
    "public_always_over25",
    "public_always_under25",
    "public_always_btts_yes",
    "public_draws_blind",
    "public_longshot_lover",
    "public_odds_on_banker",
    "model_any_any_e0",
    "model_1x2_any_e0",
    "model_draws_any_e0",
    "model_homes_any_e0",
    "model_aways_any_e0",
    "model_overs_any_e0",
    "model_unders_any_e0",
    "model_btts_yes_any_e0",
    "model_btts_no_any_e0",
    "model_any_odds_on_e0",
    "model_1x2_odds_on_e0",
    "model_draws_odds_on_e0",
    "model_homes_odds_on_e0",
    "model_aways_odds_on_e0",
    "model_overs_odds_on_e0",
    "model_unders_odds_on_e0",
    "model_btts_yes_odds_on_e0",
    "model_btts_no_odds_on_e0",
    "model_any_even_zone_e0",
    "model_1x2_even_zone_e0",
    "model_draws_even_zone_e0",
    "model_homes_even_zone_e0",
    "model_aways_even_zone_e0",
    "model_overs_even_zone_e0",
    "model_unders_even_zone_e0",
    "model_btts_yes_even_zone_e0",
    "model_btts_no_even_zone_e0",
    "model_any_mid_dog_e0",
    "model_1x2_mid_dog_e0",
    "model_draws_mid_dog_e0",
    "model_homes_mid_dog_e0",
    "model_aways_mid_dog_e0",
    "model_overs_mid_dog_e0",
    "model_unders_mid_dog_e0",
    "model_btts_yes_mid_dog_e0",
    "model_btts_no_mid_dog_e0",
    "model_any_longshot_e0",
    "model_1x2_longshot_e0",
    "model_draws_longshot_e0",
    "model_homes_longshot_e0",
    "model_aways_longshot_e0",
    "model_overs_longshot_e0",
    "model_unders_longshot_e0",
    "model_btts_yes_longshot_e0",
    "model_btts_no_longshot_e0",
    "model_any_any_e2",
    "model_1x2_any_e2",
    "model_draws_any_e2",
    "model_homes_any_e2",
    "model_aways_any_e2",
    "model_overs_any_e2",
    "model_unders_any_e2",
    "model_btts_yes_any_e2",
    "model_btts_no_any_e2",
    "model_any_odds_on_e2",
    "model_1x2_odds_on_e2",
    "model_draws_odds_on_e2",
    "model_homes_odds_on_e2",
    "model_aways_odds_on_e2",
    "model_overs_odds_on_e2",
    "model_unders_odds_on_e2",
    "model_btts_yes_odds_on_e2",
    "model_btts_no_odds_on_e2",
    "model_any_even_zone_e2",
    "model_1x2_even_zone_e2",
    "model_draws_even_zone_e2",
    "model_homes_even_zone_e2",
    "model_aways_even_zone_e2",
    "model_overs_even_zone_e2",
    "model_unders_even_zone_e2",
    "model_btts_yes_even_zone_e2",
    "model_btts_no_even_zone_e2",
    "model_any_mid_dog_e2",
    "model_1x2_mid_dog_e2",
    "model_draws_mid_dog_e2",
    "model_homes_mid_dog_e2",
    "model_aways_mid_dog_e2",
    "model_overs_mid_dog_e2",
    "model_unders_mid_dog_e2",
    "model_btts_yes_mid_dog_e2",
    "model_btts_no_mid_dog_e2",
    "model_any_longshot_e2",
    "model_1x2_longshot_e2",
    "model_draws_longshot_e2",
    "model_homes_longshot_e2",
    "model_aways_longshot_e2",
    "model_overs_longshot_e2",
    "model_unders_longshot_e2",
    "model_btts_yes_longshot_e2",
    "model_btts_no_longshot_e2",
    "model_any_any_e5",
    "model_1x2_any_e5",
    "model_draws_any_e5",
    "model_homes_any_e5",
    "model_aways_any_e5",
    "model_overs_any_e5",
    "model_unders_any_e5",
    "model_btts_yes_any_e5",
    "model_btts_no_any_e5",
    "model_any_odds_on_e5",
    "model_1x2_odds_on_e5",
    "model_draws_odds_on_e5",
    "model_homes_odds_on_e5",
    "model_aways_odds_on_e5",
    "model_overs_odds_on_e5",
    "model_unders_odds_on_e5",
    "model_btts_yes_odds_on_e5",
    "model_btts_no_odds_on_e5",
    "model_any_even_zone_e5",
    "model_1x2_even_zone_e5",
    "model_draws_even_zone_e5",
    "model_homes_even_zone_e5",
    "model_aways_even_zone_e5",
    "model_overs_even_zone_e5",
    "model_unders_even_zone_e5",
    "model_btts_yes_even_zone_e5",
    "model_btts_no_even_zone_e5",
    "model_any_mid_dog_e5",
    "model_1x2_mid_dog_e5",
    "model_draws_mid_dog_e5",
    "model_homes_mid_dog_e5",
    "model_aways_mid_dog_e5",
    "model_overs_mid_dog_e5",
    "model_unders_mid_dog_e5",
    "model_btts_yes_mid_dog_e5",
    "model_btts_no_mid_dog_e5",
    "model_any_longshot_e5",
    "model_1x2_longshot_e5",
    "model_draws_longshot_e5",
    "model_homes_longshot_e5",
    "model_aways_longshot_e5",
    "model_overs_longshot_e5",
    "model_unders_longshot_e5",
    "model_btts_yes_longshot_e5",
    "model_btts_no_longshot_e5",
    "model_any_any_e10",
    "model_1x2_any_e10",
    "model_draws_any_e10",
    "model_homes_any_e10",
    "model_aways_any_e10",
    "model_overs_any_e10",
    "model_unders_any_e10",
    "model_btts_yes_any_e10",
    "model_btts_no_any_e10",
    "model_any_odds_on_e10",
    "model_1x2_odds_on_e10",
    "model_draws_odds_on_e10",
    "model_homes_odds_on_e10",
    "model_aways_odds_on_e10",
    "model_overs_odds_on_e10",
    "model_unders_odds_on_e10",
    "model_btts_yes_odds_on_e10",
    "model_btts_no_odds_on_e10",
    "model_any_even_zone_e10",
    "model_1x2_even_zone_e10",
    "model_draws_even_zone_e10",
    "model_homes_even_zone_e10",
    "model_aways_even_zone_e10",
    "model_overs_even_zone_e10",
    "model_unders_even_zone_e10",
    "model_btts_yes_even_zone_e10",
    "model_btts_no_even_zone_e10",
    "model_any_mid_dog_e10",
    "model_1x2_mid_dog_e10",
    "model_draws_mid_dog_e10",
    "model_homes_mid_dog_e10",
    "model_aways_mid_dog_e10",
    "model_overs_mid_dog_e10",
    "model_unders_mid_dog_e10",
    "model_btts_yes_mid_dog_e10",
    "model_btts_no_mid_dog_e10",
    "model_any_longshot_e10",
    "model_1x2_longshot_e10",
    "model_draws_longshot_e10",
    "model_homes_longshot_e10",
    "model_aways_longshot_e10",
    "model_overs_longshot_e10",
    "model_unders_longshot_e10",
    "model_btts_yes_longshot_e10",
    "model_btts_no_longshot_e10",
    "ctx_mismatch_high_fav",
    "ctx_mismatch_high_dog",
    "ctx_mismatch_high_draw",
    "ctx_mismatch_high_over",
    "ctx_mismatch_high_under",
    "ctx_mismatch_low_fav",
    "ctx_mismatch_low_dog",
    "ctx_mismatch_low_draw",
    "ctx_mismatch_low_over",
    "ctx_mismatch_low_under",
    "ctx_elo_gap_high_fav",
    "ctx_elo_gap_high_dog",
    "ctx_elo_gap_high_draw",
    "ctx_elo_gap_high_over",
    "ctx_elo_gap_high_under",
    "ctx_elo_gap_low_fav",
    "ctx_elo_gap_low_dog",
    "ctx_elo_gap_low_draw",
    "ctx_elo_gap_low_over",
    "ctx_elo_gap_low_under",
    "ctx_tempo_high_fav",
    "ctx_tempo_high_dog",
    "ctx_tempo_high_draw",
    "ctx_tempo_high_over",
    "ctx_tempo_high_under",
    "ctx_tempo_low_fav",
    "ctx_tempo_low_dog",
    "ctx_tempo_low_draw",
    "ctx_tempo_low_over",
    "ctx_tempo_low_under",
    "ctx_ref_cards_avg_high_fav",
    "ctx_ref_cards_avg_high_dog",
    "ctx_ref_cards_avg_high_draw",
    "ctx_ref_cards_avg_high_over",
    "ctx_ref_cards_avg_high_under",
    "ctx_ref_cards_avg_low_fav",
    "ctx_ref_cards_avg_low_dog",
    "ctx_ref_cards_avg_low_draw",
    "ctx_ref_cards_avg_low_over",
    "ctx_ref_cards_avg_low_under",
    "ctx_stakes_high_fav",
    "ctx_stakes_high_dog",
    "ctx_stakes_high_draw",
    "ctx_stakes_high_over",
    "ctx_stakes_high_under",
    "ctx_stakes_low_fav",
    "ctx_stakes_low_dog",
    "ctx_stakes_low_draw",
    "ctx_stakes_low_over",
    "ctx_stakes_low_under"
  ],
  "run_ids": [
    16,
    17
  ],
  "staking": [
    "flat_10",
    "kelly_quarter_cap2",
    "kelly_half_cap5"
  ]
}