sweep: match.total_fouls >= 23
β lab Β· AUC 0.600 (real signal) Β· ran 7/4/2026
What this is: Asks which pre-match factors drive one specific outcome, using a walk-forward model and permutation importance.
| Factor | Importance | Direction | Survives all eras? |
|---|
| match.ref_fouls_avg | 0.0199 | β +0.221 | β³ yes |
| market.p_draw | 0.0143 | β +0.142 | β³ yes |
| match.tempo | 0.0034 | β -0.049 | no |
| home__team.ht_lead_rate_l20 | 0.0021 | β -0.047 | β³ yes |
| match.stakes | 0.0021 | β -0.005 | no |
| home__team.shot_diff_avg_l5 | 0.0019 | β -0.030 | β³ yes |
| away__team.elo | 0.0015 | β -0.024 | no |
| home__team.dominance_l5 | 0.0013 | β -0.029 | β³ yes |
| away__team.corners_for_avg_l5 | 0.0013 | β -0.005 | no |
| away__team.goals_volatility_l10 | 0.0012 | β -0.004 | no |
| match.ref_cards_avg | 0.0011 | β +0.066 | β³ yes |
| market.p_home | 0.0011 | β -0.044 | β³ yes |
Reading the columnswhat each number actually means
| AUC | predictability: 0.50 = coin flip, ~0.70 = ceiling for sports |
| Importance | how much the model leans on this factor (permutation importance) |
| Direction | sign of the raw correlation with the outcome |
| Survives all eras | effect points the same way in every historical era |
Spec Β· the reproducible recipe
{
"name": "sweep: match.total_fouls >= 23",
"sport": "football",
"target": {
"op": ">=",
"value": 23,
"metric": "match.total_fouls"
},
"features": "all"
}