Soccer prediction system deep audit

Slate 20261019 · immutable forensic review of 2 match prediction artifact(s)

Executive conclusion

No critical breaches. The pipeline is internally consistent across the audited slate.

At a glance

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

Matches

Tottenham vs Coventry

20261019_COC@TOT · Premier League
WARNINGS risk 10 pred 1-0 (Tottenham)λ 1.74 / 0.82conf 0.75 warning 1 good 39
Problems (1)
SevCategoryRuleMessageValueExpected
warningprovenanceFBREF_PRIORS_ACTIVEFBref dataset files not found; team priors inactive.
Lambda evolution (audit trail)
StageHome λAway λ
Pre-mismatch1.6510.908
Pre-competitive-floor1.8460.876
Pre-calibration1.6160.928
Final1.7350.824
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-013.4%
2-011.7%
1-111.1%
2-19.6%
0-07.8%
Outcome — home 59.0% · draw 23.6% · away 17.5%
Markets — O2.5 47.1% · BTTS 46.3%
Passed checks (39)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENTottenham: 11 starters.
goodstructureFORMATION_VALIDTottenham: formation 4-2-3-1 valid.
goodstructureLINEUP_ELEVENCoventry: 11 starters.
goodstructureFORMATION_VALIDCoventry: formation 5-4-1 valid.
goodprobabilityOUTCOME_SUMS_ONEoutcome sums to 1.0001.
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.9971.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0008).
goodmodel_behaviorMOST_LIKELY_IS_MODEHeadline score 1-0 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.0029).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Tottenham' is a participating side.
goodmodel_behaviorWINNER_MATCHES_SCOREWinner agrees with headline score (Tottenham).
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Tottenham' follows the published modal scoreline 1-0.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 1.735, away 0.824).
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.735 / 0.824).
goodprovenanceXGBOOST_PLAYER_REASONINGAll 22 starters carry full XGBoost / FBref reasoning.
goodintegrityTEAM_GOALS_SUMTottenham: player goals reconcile to team total (1).
goodintegrityTEAM_GOALS_SUMCoventry: 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_GOALKEEPERTottenham: exactly one goalkeeper (Antonín Kinský).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPTottenham: 14 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPERCoventry: exactly one goalkeeper (Carl Rushworth).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPCoventry: 11 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 (Tottenham).
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 2.56 ~ Poisson total 2.56.

Getafe vs Rayo Vallecano

20261019_RAY@GET · LaLiga
CLEAN risk 0 pred 0-1 (Rayo Vallecano)λ 0.92 / 1.05conf 0.7 good 40
Problems (0)
none
Lambda evolution (audit trail)
StageHome λAway λ
Pre-competitive-floor0.9241.050
Pre-calibration0.9511.021
Final0.9241.050
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
0-114.4%
0-014.0%
1-113.6%
1-012.7%
0-27.7%
Outcome — home 31.0% · draw 31.3% · away 37.7%
Markets — O2.5 31.6% · BTTS 39.4%
Passed checks (40)
SevCategoryRuleMessageValueExpected
goodintegritySCHEMA_KEYS_PRESENTAll required sections present.
goodstructureLINEUP_ELEVENGetafe: 11 starters.
goodstructureFORMATION_VALIDGetafe: formation 3-4-2-1 valid.
goodstructureLINEUP_ELEVENRayo Vallecano: 11 starters.
goodstructureFORMATION_VALIDRayo Vallecano: formation 4-3-3 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.9977.
goodmodel_behaviorGRID_REPRODUCIBLEGrid reproducible from lambdas (max cell diff 0.0015).
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.0011).
goodmodel_behaviorMARKETS_MATCH_GRIDMarkets match the grid (max diff 0.0023).
goodintegrityWINNER_IS_VALID_TEAMpredicted_winner 'Rayo Vallecano' is a participating side.
goodmodel_behaviorWINNER_MATCHES_SCOREWinner agrees with headline score (Rayo Vallecano).
goodmodel_behaviorWINNER_PROBABILITY_DIRECTIONpredicted_winner 'Rayo Vallecano' follows the published modal scoreline 0-1.
goodmodel_behaviorLAMBDA_BOUNDSLambdas in range (home 0.924, away 1.05).
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.924 / 1.05).
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_SUMGetafe: player goals reconcile to team total (0).
goodintegrityTEAM_GOALS_SUMRayo Vallecano: 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_GOALKEEPERGetafe: exactly one goalkeeper (David Soria).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPGetafe: 13 projected shots inside the realistic envelope.
goodstructureEXACTLY_ONE_GOALKEEPERRayo Vallecano: exactly one goalkeeper (Emil Audero).
goodintegritySHOT_MATH_INTEGRITYAll 11 projected lines have consistent shot components.
goodintegrityTEAM_SHOTS_CAPRayo Vallecano: 14 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 (Rayo Vallecano).
goodprovenancePREGAME_TOTAL_CONSISTENTPregame total 1.97 ~ Poisson total 1.97.

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.ok
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.1 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-18 13:37:44 UTC · Soccer prediction reporting