⚽ 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 Β· 55,349 engine Γ— rule Γ— staking combos, each season from $1000 Β· ran 7/7/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 #10 β†’back match-result picks at any price, any positive model edgemartingale capped$2638$2638$26381/1
GBM model #10 β†’back anything the model likes priced 4.50+, model edge over 2%martingale capped$2318$2318$23181/1
GBM model #10 β†’back match-result picks priced 4.50+, model edge over 2%martingale capped$2318$2318$23181/1
Poisson sim #17 β†’when the expected tempo is high (top third of games): back the underdog (3.0+)martingale capped$2251$2852$52/4
GBM model #10 β†’back draws at any price, model edge over 10%martingale capped$2248$2248$22481/1
GBM model #10 β†’back match-result picks at any price, model edge over 10%martingale capped$2206$2206$22061/1
GBM model #28 β†’when the expected tempo is high (top third of games): back the underdog (3.0+)Fibonacci ladder$2151$1723$55/9
Poisson sim #17 β†’when the referee's card average is high (top third of games): back the drawFibonacci ladder$2086$1873$10984/4
GBM model #10 β†’back match-result picks priced 2.60–4.50, any positive model edgeFibonacci ladder$2033$2033$20331/1
Poisson sim #17 β†’when the skill mismatch is high (top third of games): back the drawFibonacci ladder$2014$1632$3213/4
GBM model #10 β†’when the expected tempo is high (top third of games): back the drawmartingale capped$1997$1997$19971/1
GBM model #10 β†’back match-result picks priced 2.60–4.50, model edge over 10%martingale capped$1975$1975$19751/1
GBM model #10 β†’back anything the model likes priced 4.50+, model edge over 2%Fibonacci ladder$1924$1924$19241/1
GBM model #10 β†’back match-result picks priced 4.50+, model edge over 2%Fibonacci ladder$1924$1924$19241/1
GBM model #10 β†’back match-result picks priced 2.60–4.50, any positive model edgemartingale capped$1921$1921$19211/1
GBM model #10 β†’when the expected tempo is high (top third of games): back the underdog (3.0+)martingale capped$1908$1908$19081/1
GBM model #10 β†’back draws priced 4.50+, model edge over 5%Fibonacci ladder$1883$1883$18831/1
GBM model #10 β†’when the referee's card average is high (top third of games): back the drawthompson kelly$1864$1864$18641/1
GBM model #10 β†’back anything the model likes priced 4.50+, model edge over 5%Fibonacci ladder$1824$1824$18241/1
GBM model #10 β†’back match-result picks priced 4.50+, model edge over 5%Fibonacci ladder$1824$1824$18241/1
GBM model #10 β†’back draws priced 4.50+, model edge over 10%Fibonacci ladder$1817$1817$18171/1
GBM model #10 β†’back anything the model likes priced 2.60–4.50, any positive model edgemartingale capped$1780$1780$17801/1
GBM model #10 β†’when the skill mismatch is low (bottom third of games): back the underdog (3.0+)martingale capped$1767$1767$17671/1
Poisson sim #17 β†’back draws priced 4.50+, model edge over 5%Fibonacci ladder$1734$1555$3783/4
Poisson sim #17 β†’when the skill mismatch is high (top third of games): back the drawmartingale capped$1732$1498$1163/4
GBM model #10 β†’back match-result picks at any price, model edge over 10%Fibonacci ladder$1726$1726$17261/1
GBM model #10 β†’when the expected tempo is high (top third of games): back the underdog (3.0+)Fibonacci ladder$1721$1721$17211/1
GBM model #15 β†’back anything the model likes priced 2.60–4.50, any positive model edgemartingale capped$1714$1564$714/21
Poisson sim #17 β†’back draws priced 4.50+, any positive model edgeFibonacci ladder$1706$1511$4663/4
GBM model #10 β†’back anything the model likes priced 2.60–4.50, any positive model edgeFibonacci ladder$1703$1703$17031/1
Poisson sim #17 β†’when the referee's card average is high (top third of games): back the drawmartingale capped$1693$1603$8583/4
GBM model #10 β†’when the expected tempo is high (top third of games): back the underdog (3.0+)thompson kelly$1692$1692$16921/1
GBM model #10 β†’back match-result picks at any price, any positive model edgeFibonacci ladder$1667$1667$16671/1
GBM model #10 β†’back draws at any price, model edge over 10%Fibonacci ladder$1623$1623$16231/1
GBM model #10 β†’when the match stakes is high (top third of games): back the drawFibonacci ladder$1616$1616$16161/1
GBM model #10 β†’when the expected tempo is high (top third of games): back the drawFibonacci ladder$1615$1615$16151/1
Poisson sim #17 β†’back draws at any price, any positive model edgeFibonacci ladder$1612$1384$713/4
GBM model #10 β†’when the skill mismatch is high (top third of games): back the underdog (3.0+)kelly half cap5$1605$1605$16051/1
GBM model #29 β†’when the expected tempo is low (bottom third of games): back the underdog (3.0+)Fibonacci ladder$1601$1210$55/8
GBM model #15 β†’back anything the model likes priced 2.60–4.50, any positive model edgeFibonacci ladder$1596$1500$514/21

55,349 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": null,
  "staking": [
    "flat_10",
    "stop_loss_ladder",
    "kelly_quarter_cap2",
    "kelly_half_cap5",
    "stake_to_win_2pct",
    "martingale_capped",
    "paroli_press3",
    "fibonacci",
    "sqrt_edge",
    "drawdown_brake",
    "bayesian_adaptive",
    "thompson_kelly",
    "kelly_of_ruin",
    "vol_target_1pct",
    "cvar_budget_15",
    "entropy_scale"
  ]
}