The Model Lab — how CFL's two public models work, and the honest windows they're graded on. Value prices bets against the opening line. Fight IQ picks winners from tape alone and never sees a line. Every graded number on this page counts only fights after each model's training cutoff — fights the model never saw — and ROI is computed at the opening line, the realistic price a bettor could actually get. Earlier models (v1, v2, v4, v5) are retired; v5 is retired because it was trained on the closing line, which made its accuracy the market's own number.
Each line below is a fight on an upcoming UFC card. For every fight, each of CFL's two public models gives its own predicted win probability for each fighter, and we compare that to what the betting market is offering. When the model thinks a fighter is meaningfully more likely to win than the market price implies, the row gets flagged ★ — that's a candidate bet.
Kelly is a formula that tells you the bet size that mathematically maximizes long-term growth, given your model's win probability and the odds offered. Bigger edges = bigger stakes. We default to Half Kelly because Full Kelly has brutal short-term variance — half-Kelly captures ~75% of the long-run growth with ~25% of the swings.
Max bet cap (default 5%) is a safety net against any single bet wrecking the bankroll if the model is wrong about one fighter. Even at 0% Kelly value, you'll never be exposed beyond this cap on one bet.
We use edge ≥ 5% as the default "would_bet" threshold. Lower thresholds catch more bets but include more marginal ones; higher thresholds (7–10%) are more selective with better per-bet ROI but fewer opportunities. The model card stats above show how each threshold performed historically.
Each model is graded only on fights after its own training cutoff — fights it never saw. Click a model for the full breakdown and recent graded picks.