Soccer prediction system deep audit

Slate 20261024 · immutable forensic review of 8 match prediction artifact(s)

Executive conclusion

In 2 match(es) the headline score is not the distribution's modal scoreline (a breach of the published-mode contract) — see the MOST_LIKELY_IS_MODE findings.

At a glance

8matches audited
0critical
0errors
7warnings
0grid non-reproducible
2headline != modal
0winner disagreements
0lambda inconsistencies
0with real result
-winner hit-rate
-decisive hit-rate
38%predicted draws
-actual draws
0confident misses
-mean Brier
 

Matches

Chelsea vs Tottenham

20261024_TOT@CHE · Premier League
WARNINGS risk 20 pred 1-0 (Chelsea)λ 1.79 / 1.04conf 0.75 warning 2 good 38
Problems (2)
SevCategoryRuleMessageValueExpected
warningmodel_behaviorMOST_LIKELY_IS_MODEHeadline score is not the modal scoreline (modal=1-1 (p=0.1105), shown=1-0 (p=0.1048)); the published exact score must be the grid mode, and the winning scenario belongs in the labelled most_likely_winning_score_home/away fields. Both lean Chelsea.1-01-1
warningprovenanceFBREF_PRIORS_ACTIVEFBref dataset files not found; team priors inactive.
Lambda evolution (audit trail)
StageHome λAway λ
Pre-competitive-floor1.7891.042
Pre-calibration1.7271.081
Final1.7891.042
competition_calibration_scale: 1.0competition_observed_total_goals: 0.0quality_gap_applied: Truemismatch_score_pressure_applied: Falsecompetitive_underdog_floor_applied: Falsestage_discount: 1.0
Scoreline distribution
Top scorelinesP
1-111.1%
1-010.5%
2-19.8%
2-09.4%
0-16.1%
Outcome — home 54.8% · draw 23.3% · away 21.9%
Markets — O2.5 53.8% · BTTS 54.0%
Passed checks (38)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENChelsea: 11 starters.
goodstructureFORMATION_VALIDChelsea: formation 3-4-2-1 valid.
goodstructureLINEUP_ELEVENTottenham: 11 starters.
goodstructureFORMATION_VALIDTottenham: formation 4-2-3-1 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 1.0000.
goodprobabilityMARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.
goodprobabilitySCORELINE_PROBS_NONNEGAll scoreline probabilities within [0,1].
goodprobabilityGRID_SUMS_ONEscoreline grid sums to 0.9973.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0007).
goodprobabilityMLS_PROBABILITY_MATCHESHeadline probability matches the grid.
goodmodel_behaviorOUTCOME_MATCHES_GRIDOutcome split matches the grid (max diff 0.0017).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0026).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Chelsea' is a participating side.
goodmodel_behaviorWINNER_MATCHES_SCOREWinner agrees with headline score (Chelsea).
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Chelsea' follows the published modal scoreline 1-0.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 1.789, away 1.042).
goodprovenanceLAMBDA_FACTORS_PRESENTlambda_factors audit trail present.
goodmodel_behaviorLAMBDA_CONSISTENCYLambda identical across prediction / antagonist / factors.
goodmodel_behaviorCALIBRATION_SCALE_BOUNDSCalibration scale 1.0 in range.
goodprovenanceXGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning present (XGBoost).
goodmodel_behaviorLAMBDA_REASONING_CONSISTENCYLambdas in xgboost_reasoning match final Poisson lambdas (1.789 / 1.042).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMChelsea: player goals reconcile to team total (1).
goodintegrityTEAM_GOALS_SUMTottenham: player goals reconcile to team total (0).
goodstructurePOSSESSION_SUMS_100Possession sums to 100.0%.
goodintegrityPLAYER_STAT_REALISMAll 22 projected player lines pass realism checks.
goodstructureEXACTLY_ONE_GOALKEEPERChelsea: exactly one goalkeeper (Mike Penders).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPChelsea: 16 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPERTottenham: exactly one goalkeeper (Antonín Kinský).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPTottenham: 15 projected shots inside the realistic envelope.
goodprovenanceSTANDING_AVAILABLELeague-standing context available for both sides.
goodprovenanceRANKING_PROVENANCE22/22 starters carry a ranking source.
goodprovenanceDATA_DEPTH21/22 starters have adequate recent history.
goodprovenancePREGAME_DIRECTION_AGREESPregame favorite agrees with the model winner (Chelsea).
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 2.83 ~ Poisson total 2.83.

Atlético Madrid vs Deportivo

20261024_COR@ATM · LaLiga
WARNINGS risk 10 pred 2-0 (Atlético Madrid)λ 2.90 / 0.66conf 0.84 warning 1 good 39
Problems (1)
SevCategoryRuleMessageValueExpected
warningprovenanceFBREF_PRIORS_ACTIVEFBref dataset files not found; team priors inactive.
Lambda evolution (audit trail)
StageHome λAway λ
Pre-mismatch2.7900.768
Pre-calibration2.6570.808
Final2.9030.655
competition_calibration_scale: 1.0competition_observed_total_goals: 0.0quality_gap_applied: Truemismatch_score_pressure_applied: Truecompetitive_underdog_floor_applied: Falsestage_discount: 1.0
Scoreline distribution
Top scorelinesP
2-012.0%
3-011.6%
4-08.4%
1-08.3%
2-17.9%
Outcome — home 82.9% · draw 11.5% · away 5.6%
Markets — O2.5 69.0% · BTTS 45.4%
Passed checks (39)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENAtlético Madrid: 11 starters.
goodstructureFORMATION_VALIDAtlético Madrid: formation 4-2-3-1 valid.
goodstructureLINEUP_ELEVENDeportivo: 11 starters.
goodstructureFORMATION_VALIDDeportivo: formation 4-2-3-1 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 1.0000.
goodprobabilityMARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.
goodprobabilitySCORELINE_PROBS_NONNEGAll scoreline probabilities within [0,1].
goodprobabilityGRID_SUMS_ONEscoreline grid sums to 0.9975.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0002).
goodmodel_behaviorMOST_LIKELY_IS_MODEHeadline score 2-0 is the modal scoreline.
goodprobabilityMLS_PROBABILITY_MATCHESHeadline probability matches the grid.
goodmodel_behaviorOUTCOME_MATCHES_GRIDOutcome split matches the grid (max diff 0.0016).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0025).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Atlético Madrid' is a participating side.
goodmodel_behaviorWINNER_MATCHES_SCOREWinner agrees with headline score (Atlético Madrid).
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Atlético Madrid' follows the published modal scoreline 2-0.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 2.903, away 0.655).
goodprovenanceLAMBDA_FACTORS_PRESENTlambda_factors audit trail present.
goodmodel_behaviorLAMBDA_CONSISTENCYLambda identical across prediction / antagonist / factors.
goodmodel_behaviorCALIBRATION_SCALE_BOUNDSCalibration scale 1.0 in range.
goodprovenanceXGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning present (XGBoost).
goodmodel_behaviorLAMBDA_REASONING_CONSISTENCYLambdas in xgboost_reasoning match final Poisson lambdas (2.903 / 0.655).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMAtlético Madrid: player goals reconcile to team total (2).
goodintegrityTEAM_GOALS_SUMDeportivo: player goals reconcile to team total (0).
goodstructurePOSSESSION_SUMS_100Possession sums to 100.0%.
goodintegrityPLAYER_STAT_REALISMAll 22 projected player lines pass realism checks.
goodstructureEXACTLY_ONE_GOALKEEPERAtlético Madrid: exactly one goalkeeper (Jan Oblak).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPAtlético Madrid: 21 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPERDeportivo: exactly one goalkeeper (Leo Román).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPDeportivo: 10 projected shots inside the realistic envelope.
goodprovenanceSTANDING_AVAILABLELeague-standing context available for both sides.
goodprovenanceRANKING_PROVENANCE22/22 starters carry a ranking source.
goodprovenanceDATA_DEPTH22/22 starters have adequate recent history.
goodprovenancePREGAME_DIRECTION_AGREESPregame favorite agrees with the model winner (Atlético Madrid).
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 3.56 ~ Poisson total 3.56.

Racing Club vs Espanyol

20261024_ESP@SAN · LaLiga
WARNINGS risk 10 pred 1-1 (Draw)λ 1.31 / 1.46conf 0.7 warning 1 good 37
Problems (1)
SevCategoryRuleMessageValueExpected
warningprovenanceFBREF_PRIORS_ACTIVEFBref dataset files not found; team priors inactive.
Lambda evolution (audit trail)
StageHome λAway λ
Pre-competitive-floor1.3121.460
Pre-calibration1.3031.470
Final1.3121.460
competition_calibration_scale: 1.0competition_observed_total_goals: 0.0quality_gap_applied: Falsemismatch_score_pressure_applied: Falsecompetitive_underdog_floor_applied: Falsestage_discount: 1.0
Scoreline distribution
Top scorelinesP
1-112.1%
0-19.0%
1-28.7%
1-08.1%
2-17.9%
Outcome — home 33.8% · draw 25.6% · away 40.6%
Markets — O2.5 52.4% · BTTS 56.2%
Passed checks (37)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENRacing Club: 11 starters.
goodstructureFORMATION_VALIDRacing Club: formation 4-2-3-1 valid.
goodstructureLINEUP_ELEVENEspanyol: 11 starters.
goodstructureFORMATION_VALIDEspanyol: formation 5-4-1 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 1.0000.
goodprobabilityMARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.
goodprobabilitySCORELINE_PROBS_NONNEGAll scoreline probabilities within [0,1].
goodprobabilityGRID_SUMS_ONEscoreline grid sums to 0.9962.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0012).
goodmodel_behaviorMOST_LIKELY_IS_MODEHeadline score 1-1 is the modal scoreline.
goodprobabilityMLS_PROBABILITY_MATCHESHeadline probability matches the grid.
goodmodel_behaviorOUTCOME_MATCHES_GRIDOutcome split matches the grid (max diff 0.0020).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0038).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Draw' is a participating side.
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Draw' follows the published modal scoreline 1-1. It differs from the calibrated 1X2 favorite 'Espanyol', which is published separately and does not decide the call.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 1.312, away 1.46).
goodprovenanceLAMBDA_FACTORS_PRESENTlambda_factors audit trail present.
goodmodel_behaviorLAMBDA_CONSISTENCYLambda identical across prediction / antagonist / factors.
goodmodel_behaviorCALIBRATION_SCALE_BOUNDSCalibration scale 1.0 in range.
goodprovenanceXGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning present (XGBoost).
goodmodel_behaviorLAMBDA_REASONING_CONSISTENCYLambdas in xgboost_reasoning match final Poisson lambdas (1.312 / 1.46).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMRacing Club: player goals reconcile to team total (1).
goodintegrityTEAM_GOALS_SUMEspanyol: player goals reconcile to team total (1).
goodstructurePOSSESSION_SUMS_100Possession sums to 100.0%.
goodintegrityPLAYER_STAT_REALISMAll 22 projected player lines pass realism checks.
goodstructureEXACTLY_ONE_GOALKEEPERRacing Club: exactly one goalkeeper (Julen Agirrezabala).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPRacing Club: 14 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPEREspanyol: exactly one goalkeeper (Ángel Fortuño).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPEspanyol: 10 projected shots inside the realistic envelope.
goodprovenanceSTANDING_AVAILABLELeague-standing context available for both sides.
goodprovenanceRANKING_PROVENANCE22/22 starters carry a ranking source.
goodprovenanceDATA_DEPTH22/22 starters have adequate recent history.
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 2.77 ~ Poisson total 2.77.

Arsenal vs Everton

20261024_EVE@ARS · Premier League
WARNINGS risk 10 pred 1-0 (Arsenal)λ 1.85 / 1.02conf 0.76 warning 1 good 39
Problems (1)
SevCategoryRuleMessageValueExpected
warningmodel_behaviorMOST_LIKELY_IS_MODEHeadline score is not the modal scoreline (modal=1-1 (p=0.1074), shown=1-0 (p=0.1045)); the published exact score must be the grid mode, and the winning scenario belongs in the labelled most_likely_winning_score_home/away fields. Both lean Arsenal.1-01-1
Lambda evolution (audit trail)
StageHome λAway λ
Pre-mismatch1.7851.085
Pre-competitive-floor1.9371.062
Pre-calibration1.7121.134
Final1.8541.016
competition_calibration_scale: 1.0competition_observed_total_goals: 0.0quality_gap_applied: Truemismatch_score_pressure_applied: Truecompetitive_underdog_floor_applied: Falsestage_discount: 1.0
Scoreline distribution
Top scorelinesP
1-110.7%
1-010.4%
2-19.9%
2-09.7%
3-16.1%
Outcome — home 56.9% · draw 22.7% · away 20.4%
Markets — O2.5 54.7% · BTTS 53.9%
Passed checks (39)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENArsenal: 11 starters.
goodstructureFORMATION_VALIDArsenal: formation 4-2-3-1 valid.
goodstructureLINEUP_ELEVENEverton: 11 starters.
goodstructureFORMATION_VALIDEverton: formation 4-2-3-1 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 1.0000.
goodprobabilityMARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.
goodprobabilitySCORELINE_PROBS_NONNEGAll scoreline probabilities within [0,1].
goodprobabilityGRID_SUMS_ONEscoreline grid sums to 0.9970.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0006).
goodprobabilityMLS_PROBABILITY_MATCHESHeadline probability matches the grid.
goodmodel_behaviorOUTCOME_MATCHES_GRIDOutcome split matches the grid (max diff 0.0019).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0030).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Arsenal' is a participating side.
goodmodel_behaviorWINNER_MATCHES_SCOREWinner agrees with headline score (Arsenal).
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Arsenal' follows the published modal scoreline 1-0.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 1.854, away 1.016).
goodprovenanceLAMBDA_FACTORS_PRESENTlambda_factors audit trail present.
goodmodel_behaviorLAMBDA_CONSISTENCYLambda identical across prediction / antagonist / factors.
goodmodel_behaviorCALIBRATION_SCALE_BOUNDSCalibration scale 1.0 in range.
goodprovenanceXGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning present (XGBoost).
goodmodel_behaviorLAMBDA_REASONING_CONSISTENCYLambdas in xgboost_reasoning match final Poisson lambdas (1.854 / 1.016).
goodprovenanceFBREF_PRIORS_ACTIVEFBref team priors applied (blend weight 0.192, home E[lambda]=2.069, away E[lambda]=2.069).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMArsenal: player goals reconcile to team total (1).
goodintegrityTEAM_GOALS_SUMEverton: player goals reconcile to team total (0).
goodstructurePOSSESSION_SUMS_100Possession sums to 100.0%.
goodintegrityPLAYER_STAT_REALISMAll 22 projected player lines pass realism checks.
goodstructureEXACTLY_ONE_GOALKEEPERArsenal: exactly one goalkeeper (David Raya).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPArsenal: 13 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPEREverton: exactly one goalkeeper (Jordan Pickford).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPEverton: 13 projected shots inside the realistic envelope.
goodprovenanceSTANDING_AVAILABLELeague-standing context available for both sides.
goodprovenanceRANKING_PROVENANCE22/22 starters carry a ranking source.
goodprovenanceDATA_DEPTH22/22 starters have adequate recent history.
goodprovenancePREGAME_DIRECTION_AGREESPregame favorite agrees with the model winner (Arsenal).
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 2.87 ~ Poisson total 2.87.

Coventry vs Fulham

20261024_FUL@COC · Premier League
WARNINGS risk 10 pred 1-1 (Draw)λ 1.20 / 1.30conf 0.7 warning 1 good 37
Problems (1)
SevCategoryRuleMessageValueExpected
warningprovenanceFBREF_PRIORS_ACTIVEFBref dataset files not found; team priors inactive.
Lambda evolution (audit trail)
StageHome λAway λ
Pre-competitive-floor1.2011.297
Pre-calibration1.1621.342
Final1.2011.297
competition_calibration_scale: 1.0competition_observed_total_goals: 0.0quality_gap_applied: Truemismatch_score_pressure_applied: Falsecompetitive_underdog_floor_applied: Falsestage_discount: 1.0
Scoreline distribution
Top scorelinesP
1-112.9%
0-110.5%
1-09.8%
0-08.3%
1-28.3%
Outcome — home 34.1% · draw 27.2% · away 38.7%
Markets — O2.5 45.6% · BTTS 50.9%
Passed checks (37)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENCoventry: 11 starters.
goodstructureFORMATION_VALIDCoventry: formation 4-2-3-1 valid.
goodstructureLINEUP_ELEVENFulham: 11 starters.
goodstructureFORMATION_VALIDFulham: formation 4-2-3-1 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 1.0000.
goodprobabilityMARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.
goodprobabilitySCORELINE_PROBS_NONNEGAll scoreline probabilities within [0,1].
goodprobabilityGRID_SUMS_ONEscoreline grid sums to 0.9966.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0013).
goodmodel_behaviorMOST_LIKELY_IS_MODEHeadline score 1-1 is the modal scoreline.
goodprobabilityMLS_PROBABILITY_MATCHESHeadline probability matches the grid.
goodmodel_behaviorOUTCOME_MATCHES_GRIDOutcome split matches the grid (max diff 0.0020).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0034).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Draw' is a participating side.
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Draw' follows the published modal scoreline 1-1. It differs from the calibrated 1X2 favorite 'Fulham', which is published separately and does not decide the call.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 1.201, away 1.297).
goodprovenanceLAMBDA_FACTORS_PRESENTlambda_factors audit trail present.
goodmodel_behaviorLAMBDA_CONSISTENCYLambda identical across prediction / antagonist / factors.
goodmodel_behaviorCALIBRATION_SCALE_BOUNDSCalibration scale 1.0 in range.
goodprovenanceXGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning present (XGBoost).
goodmodel_behaviorLAMBDA_REASONING_CONSISTENCYLambdas in xgboost_reasoning match final Poisson lambdas (1.201 / 1.297).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMCoventry: player goals reconcile to team total (1).
goodintegrityTEAM_GOALS_SUMFulham: player goals reconcile to team total (1).
goodstructurePOSSESSION_SUMS_100Possession sums to 100.0%.
goodintegrityPLAYER_STAT_REALISMAll 22 projected player lines pass realism checks.
goodstructureEXACTLY_ONE_GOALKEEPERCoventry: exactly one goalkeeper (Carl Rushworth).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPCoventry: 10 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPERFulham: exactly one goalkeeper (Bernd Leno).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPFulham: 16 projected shots inside the realistic envelope.
goodprovenanceSTANDING_AVAILABLELeague-standing context available for both sides.
goodprovenanceRANKING_PROVENANCE22/22 starters carry a ranking source.
goodprovenanceDATA_DEPTH22/22 starters have adequate recent history.
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 2.50 ~ Poisson total 2.50.

Aston Villa vs Man City

20261024_MCI@AVL · Premier League
WARNINGS risk 10 pred 0-2 (Man City)λ 0.89 / 2.62conf 0.8 warning 1 good 39
Problems (1)
SevCategoryRuleMessageValueExpected
warningprovenanceFBREF_PRIORS_ACTIVEFBref dataset files not found; team priors inactive.
Lambda evolution (audit trail)
StageHome λAway λ
Pre-mismatch0.9932.516
Pre-calibration1.0312.271
Final0.8902.619
competition_calibration_scale: 1.0competition_observed_total_goals: 0.0quality_gap_applied: Truemismatch_score_pressure_applied: Truecompetitive_underdog_floor_applied: Falsestage_discount: 1.0
Scoreline distribution
Top scorelinesP
0-210.3%
1-29.1%
0-39.0%
1-38.0%
0-17.8%
Outcome — home 10.4% · draw 15.3% · away 74.3%
Markets — O2.5 68.1% · BTTS 54.7%
Passed checks (39)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENAston Villa: 11 starters.
goodstructureFORMATION_VALIDAston Villa: formation 4-2-3-1 valid.
goodstructureLINEUP_ELEVENMan City: 11 starters.
goodstructureFORMATION_VALIDMan City: formation 4-2-3-1 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 1.0000.
goodprobabilityMARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.
goodprobabilitySCORELINE_PROBS_NONNEGAll scoreline probabilities within [0,1].
goodprobabilityGRID_SUMS_ONEscoreline grid sums to 0.9959.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0003).
goodmodel_behaviorMOST_LIKELY_IS_MODEHeadline score 0-2 is the modal scoreline.
goodprobabilityMLS_PROBABILITY_MATCHESHeadline probability matches the grid.
goodmodel_behaviorOUTCOME_MATCHES_GRIDOutcome split matches the grid (max diff 0.0020).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0042).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Man City' is a participating side.
goodmodel_behaviorWINNER_MATCHES_SCOREWinner agrees with headline score (Man City).
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Man City' follows the published modal scoreline 0-2.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 0.89, away 2.619).
goodprovenanceLAMBDA_FACTORS_PRESENTlambda_factors audit trail present.
goodmodel_behaviorLAMBDA_CONSISTENCYLambda identical across prediction / antagonist / factors.
goodmodel_behaviorCALIBRATION_SCALE_BOUNDSCalibration scale 1.0 in range.
goodprovenanceXGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning present (XGBoost).
goodmodel_behaviorLAMBDA_REASONING_CONSISTENCYLambdas in xgboost_reasoning match final Poisson lambdas (0.89 / 2.619).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMAston Villa: player goals reconcile to team total (0).
goodintegrityTEAM_GOALS_SUMMan City: player goals reconcile to team total (2).
goodstructurePOSSESSION_SUMS_100Possession sums to 100.0%.
goodintegrityPLAYER_STAT_REALISMAll 22 projected player lines pass realism checks.
goodstructureEXACTLY_ONE_GOALKEEPERAston Villa: exactly one goalkeeper (Zion Suzuki).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPAston Villa: 14 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPERMan City: exactly one goalkeeper (Gianluigi Donnarumma).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPMan City: 19 projected shots inside the realistic envelope.
goodprovenanceSTANDING_AVAILABLELeague-standing context available for both sides.
goodprovenanceRANKING_PROVENANCE22/22 starters carry a ranking source.
goodprovenanceDATA_DEPTH22/22 starters have adequate recent history.
goodprovenancePREGAME_DIRECTION_AGREESPregame favorite agrees with the model winner (Man City).
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 3.51 ~ Poisson total 3.51.

Rayo Vallecano vs Elche

20261024_ELC@RAY · LaLiga
CLEAN risk 0 pred 1-1 (Draw)λ 1.29 / 1.11conf 0.7 good 38
Problems (0)
none
Lambda evolution (audit trail)
StageHome λAway λ
Pre-competitive-floor1.2861.111
Pre-calibration1.2861.111
Final1.2861.111
competition_calibration_scale: 1.0competition_observed_total_goals: 0.0quality_gap_applied: Falsemismatch_score_pressure_applied: Falsecompetitive_underdog_floor_applied: Falsestage_discount: 1.0
Scoreline distribution
Top scorelinesP
1-113.1%
1-011.6%
0-110.0%
0-09.2%
2-18.4%
Outcome — home 40.4% · draw 27.8% · away 31.9%
Markets — O2.5 43.0% · BTTS 48.7%
Passed checks (38)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENRayo Vallecano: 11 starters.
goodstructureFORMATION_VALIDRayo Vallecano: formation 4-2-3-1 valid.
goodstructureLINEUP_ELEVENElche: 11 starters.
goodstructureFORMATION_VALIDElche: formation 4-2-3-1 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 1.0000.
goodprobabilityMARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.
goodprobabilitySCORELINE_PROBS_NONNEGAll scoreline probabilities within [0,1].
goodprobabilityGRID_SUMS_ONEscoreline grid sums to 0.9974.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0012).
goodmodel_behaviorMOST_LIKELY_IS_MODEHeadline score 1-1 is the modal scoreline.
goodprobabilityMLS_PROBABILITY_MATCHESHeadline probability matches the grid.
goodmodel_behaviorOUTCOME_MATCHES_GRIDOutcome split matches the grid (max diff 0.0015).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0026).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Draw' is a participating side.
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Draw' follows the published modal scoreline 1-1. It differs from the calibrated 1X2 favorite 'Rayo Vallecano', which is published separately and does not decide the call.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 1.286, away 1.111).
goodprovenanceLAMBDA_FACTORS_PRESENTlambda_factors audit trail present.
goodmodel_behaviorLAMBDA_CONSISTENCYLambda identical across prediction / antagonist / factors.
goodmodel_behaviorCALIBRATION_SCALE_BOUNDSCalibration scale 1.0 in range.
goodprovenanceXGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning present (XGBoost).
goodmodel_behaviorLAMBDA_REASONING_CONSISTENCYLambdas in xgboost_reasoning match final Poisson lambdas (1.286 / 1.111).
goodprovenanceFBREF_PRIORS_ACTIVEFBref team priors applied (blend weight 0.228, home E[lambda]=0.988, away E[lambda]=0.985).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMRayo Vallecano: player goals reconcile to team total (1).
goodintegrityTEAM_GOALS_SUMElche: player goals reconcile to team total (1).
goodstructurePOSSESSION_SUMS_100Possession sums to 100.0%.
goodintegrityPLAYER_STAT_REALISMAll 22 projected player lines pass realism checks.
goodstructureEXACTLY_ONE_GOALKEEPERRayo Vallecano: exactly one goalkeeper (Emil Audero).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPRayo Vallecano: 13 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPERElche: exactly one goalkeeper (Matías Dituro).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPElche: 13 projected shots inside the realistic envelope.
goodprovenanceSTANDING_AVAILABLELeague-standing context available for both sides.
goodprovenanceRANKING_PROVENANCE22/22 starters carry a ranking source.
goodprovenanceDATA_DEPTH22/22 starters have adequate recent history.
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 2.40 ~ Poisson total 2.40.

Valencia vs Villarreal

20261024_VIL@VAL · LaLiga
CLEAN risk 0 pred 0-1 (Villarreal)λ 0.90 / 1.45conf 0.74 good 40
Problems (0)
none
Lambda evolution (audit trail)
StageHome λAway λ
Pre-competitive-floor0.8991.451
Pre-calibration0.9191.421
Final0.8991.451
competition_calibration_scale: 1.0competition_observed_total_goals: 0.0quality_gap_applied: Truemismatch_score_pressure_applied: Falsecompetitive_underdog_floor_applied: Falsestage_discount: 1.0
Scoreline distribution
Top scorelinesP
0-113.7%
1-112.5%
0-210.0%
0-09.6%
1-29.0%
Outcome — home 23.2% · draw 26.9% · away 49.9%
Markets — O2.5 41.7% · BTTS 45.5%
Passed checks (40)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENValencia: 11 starters.
goodstructureFORMATION_VALIDValencia: formation 4-2-3-1 valid.
goodstructureLINEUP_ELEVENVillarreal: 11 starters.
goodstructureFORMATION_VALIDVillarreal: formation 4-4-2 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 0.9999.
goodprobabilityMARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.
goodprobabilitySCORELINE_PROBS_NONNEGAll scoreline probabilities within [0,1].
goodprobabilityGRID_SUMS_ONEscoreline grid sums to 0.9963.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0010).
goodmodel_behaviorMOST_LIKELY_IS_MODEHeadline score 0-1 is the modal scoreline.
goodprobabilityMLS_PROBABILITY_MATCHESHeadline probability matches the grid.
goodmodel_behaviorOUTCOME_MATCHES_GRIDOutcome split matches the grid (max diff 0.0016).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0037).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Villarreal' is a participating side.
goodmodel_behaviorWINNER_MATCHES_SCOREWinner agrees with headline score (Villarreal).
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Villarreal' follows the published modal scoreline 0-1.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 0.899, away 1.451).
goodprovenanceLAMBDA_FACTORS_PRESENTlambda_factors audit trail present.
goodmodel_behaviorLAMBDA_CONSISTENCYLambda identical across prediction / antagonist / factors.
goodmodel_behaviorCALIBRATION_SCALE_BOUNDSCalibration scale 1.0 in range.
goodprovenanceXGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning present (XGBoost).
goodmodel_behaviorLAMBDA_REASONING_CONSISTENCYLambdas in xgboost_reasoning match final Poisson lambdas (0.899 / 1.451).
goodprovenanceFBREF_PRIORS_ACTIVEFBref team priors applied (blend weight 0.228, home E[lambda]=0.328, away E[lambda]=0.326).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMValencia: player goals reconcile to team total (0).
goodintegrityTEAM_GOALS_SUMVillarreal: player goals reconcile to team total (1).
goodstructurePOSSESSION_SUMS_100Possession sums to 100.0%.
goodintegrityPLAYER_STAT_REALISMAll 22 projected player lines pass realism checks.
goodstructureEXACTLY_ONE_GOALKEEPERValencia: exactly one goalkeeper (Stole Dimitrievski).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPValencia: 14 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPERVillarreal: exactly one goalkeeper (Péter Gulácsi).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPVillarreal: 16 projected shots inside the realistic envelope.
goodprovenanceSTANDING_AVAILABLELeague-standing context available for both sides.
goodprovenanceRANKING_PROVENANCE22/22 starters carry a ranking source.
goodprovenanceDATA_DEPTH22/22 starters have adequate recent history.
goodprovenancePREGAME_DIRECTION_AGREESPregame favorite agrees with the model winner (Villarreal).
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 2.35 ~ Poisson total 2.35.

Rule catalogue

RuleDescriptionTriggered
SCHEMA_KEYS_PRESENTAll required top-level sections exist in the artifact.ok
LINEUP_ELEVENEach side fields exactly 11 starters.ok
FORMATION_VALIDFormation string parses and its outfield lines sum to 10.ok
POSSESSION_SUMS_100Estimated possession of both teams sums to ~100%.ok
TEAM_GOALS_SUMPlayers' projected integer goals sum to the team's headline score.ok
TEAM_TOTALS_SCORE_MATCHteam_totals.projected_goals equals the headline score component.ok
TEAM_EG_LAMBDA_MATCHteam_totals.expected_goals matches the team's Poisson lambda.ok
PLAYER_STAT_REALISMProjected player lines are internally consistent (xG<=shots, accurate<=total passes, minutes/rating in range).ok
EXACTLY_ONE_GOALKEEPEREach starting XI fields exactly one goalkeeper.ok
SHOT_MATH_INTEGRITYShot components are physically consistent (on target <= total, on+off <= total; blocked shots cannot be negative).ok
PLAYER_MINUTES_LEAGUE_CAPNo player projects more minutes than the competition clock allows (90 + stoppage, or extra time in cups).ok
TEAM_SHOTS_CAPTeam projected shots stay inside the realistic historical envelope (~35).ok
OUTCOME_SUMS_ONEhome_win + draw + away_win sums to 1.ok
MARKETS_COMPLEMENTARYOver/Under and BTTS pairs each sum to 1.ok
GRID_SUMS_ONEThe scoreline probability grid sums to ~1.ok
SCORELINE_PROBS_NONNEGEvery scoreline probability is a valid [0,1] value.ok
GRID_REPRODUCIBLEThe reported scoreline grid is reproducible from the lambdas.ok
MOST_LIKELY_IS_MODEThe headline most-likely score is the distribution's modal scoreline.2 problems
MLS_PROBABILITY_MATCHESmost_likely_score_probability equals the grid value of that score.ok
OUTCOME_MATCHES_GRIDThe reported win/draw/loss split is derivable from the grid.ok
MARKETS_MATCH_GRIDThe reported Over/Under and BTTS are derivable from the grid.ok
WINNER_MATCHES_SCOREpredicted_winner agrees with the headline score direction.ok
WINNER_PROBABILITY_DIRECTIONpredicted_winner derives from the published modal scoreline; diverging from the 1X2 favorite is expected.ok
WINNER_IS_VALID_TEAMpredicted_winner names a participating team (or Draw).ok
MODAL_OUTCOME_IS_DRAWDraw is the single largest outcome bucket while a team is named.ok
LAMBDA_BOUNDSBoth lambdas fall inside the engine's [0.55, 5.00] envelope.ok
LAMBDA_CONSISTENCYThe lambda is identical across prediction / antagonist / lambda_factors.ok
LAMBDA_FACTORS_PRESENTThe lambda_factors decomposition (audit trail) is present.ok
CALIBRATION_SCALE_BOUNDScompetition_calibration_scale stays within [0.85, 1.35].ok
CALIBRATION_RECORDEDWhen calibration ran, the pre-calibration lambdas are recorded.ok
STANDING_AVAILABLELeague-standing context is available for a domestic fixture.ok
RANKING_PROVENANCEPlayer ranking/quality signals carry a recognised source.ok
DATA_DEPTHStarters have enough recent games to model rather than synthesise.ok
FBREF_PRIORS_ACTIVEFBref season-prior files exist so that branch is not silently inert.5 problems
XGBOOST_REASONING_PRESENTMatch-level xgboost_reasoning payload is present with full tracing pipeline.ok
XGBOOST_PLAYER_REASONINGStarters have xgboost_reasoning metadata tracking feature contributions and FBref priors.ok
LAMBDA_REASONING_CONSISTENCYLambdas reported in xgboost_reasoning match the final Poisson lambdas.ok
PREGAME_DIRECTION_AGREESThe pregame fair-line favorite agrees with the model winner.ok
PREGAME_TOTAL_CONSISTENTThe pregame expected total is close to the sum of the lambdas.ok
RESULT_WINNER_HITThe predicted winner matched the real result.ok
RESULT_EXACT_SCORE_HITThe headline score matched the real scoreline exactly.ok
RESULT_OU_HITThe Over/Under 2.5 lean matched reality.ok
RESULT_BTTS_HITThe BTTS lean matched reality.ok
RESULT_CONFIDENT_MISSA high-confidence prediction did not reach the real outcome.ok
OUTCOME_BRIERBrier score of the win/draw/loss probabilities vs the real result.ok

Generated 2026-10-24 13:38:11 UTC · Soccer prediction reporting