⚽ 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

tennis lab: normal + ratio + crazy rules at real closing prices

← lab Β· matches replayed 14,400 Β· ran 7/11/2026

What this is: A one-off study β€” its numbers below are exactly what the run reported.
noteflat $1 at CLOSING prices (Bet365+Pinnacle best-of, the sharpest line there is); train 2020-2023, test 2024-2025. SURVIVES = +EV in BOTH windows with test nβ‰₯150. The always-favourite row is the margin baseline, not a strategy.
matches replayed14,400

results

ruletest ntrain nverdicttest roi pcttrain roi pct
book war fav only (crazy)1651THIN23.38-18.14
grinder fade (crazy)373999DEAD-1.15-1.16
specialist gap 60 (ratio)2,4433,720DEAD-1.9-2.84
public always favourite (baseline)5,3339,067DEAD-2.11-2.66
clutch dog (crazy)372721DEAD-2.37-6.11
fatigue fade 8sets (ratio)5491,056DEAD-2.44-8.59
elo edge fav only (normal)1,5281,776DEAD-4.58-5.02
elo edge 5 (normal)3,7867,029DEAD-4.93-7.07
elo edge 10 (normal)2,9525,872DEAD-5.64-7.2
surface elo edge 5 (normal)4,0137,477DEAD-7.43-6.55
rank ratio dog (ratio)8661,642DEAD-8.15-7.24
book war b365 v pinnacle (crazy)266553DEAD-9.11-1.09

Reading the columnswhat each number actually means

AUCpredictability: 0.50 = coin flip, ~0.70 = ceiling for sports
Importancehow much the model leans on this factor (permutation importance)
Directionsign of the raw correlation with the outcome
Survives all eraseffect points the same way in every historical era
Spec Β· the reproducible recipe
{
  "kind": "tennis_lab",
  "rules": [
    "elo_edge_5 (normal)",
    "surface_elo_edge_5 (normal)",
    "specialist_gap_60 (ratio)",
    "rank_ratio_dog (ratio)",
    "fatigue_fade_8sets (ratio)",
    "clutch_dog (crazy)",
    "grinder_fade (crazy)",
    "book_war_b365_v_pinnacle (crazy)",
    "public_always_favourite (baseline)",
    "elo_edge_fav_only (normal)",
    "elo_edge_10 (normal)",
    "book_war_fav_only (crazy)"
  ]
}