# Football leads: expanded study methods

Snapshot: 27 September 2026, 10:25:27 UTC. Main cohort: 15,340 matches in 43 league-season combinations, drawn from five men's leagues spanning 2017/18–2025/26. These are historical descriptive outcomes, not live forecasts, causal effects or a betting-return study.

## Scope and coverage

Premier League, LaLiga, Serie A, Bundesliga and Ligue 1. Complete scheduled home/away fixture identities were checked for all 45 league-season sets. Ligue 1 2019/20 had 279 played and 101 cancelled fixtures. Of 16,111 played/ratified regular fixtures, 3 shortened and 30 other score/timeline/administrative cases fail the rules. Of 16,078 individually usable matches, 738 belong to the two league-seasons below the predeclared 99% usable-goal threshold: PL2020/21 (372/380), SA2019/20 (366/380). They enter sensitivity results only. Known awarded/shortened exceptions and three verified same-player stoppage-time braces are documented in the source audit and normalizer. The interruption checklist is not exhaustive.

The final audit removed Union Berlin–Bochum, 14 December 2024, under the existing administrative/nonordinary-completion exclusion. The original raw snapshot is unchanged. Protocol amendments record this adjudication and the treatment of three multi-day continuations. No eligibility threshold was tuned against outcomes.

## Goal and clock rules

Final and first-half scored-goal tallies must reconcile with stored scores without capping goals or inventing events. Missed penalties, shootout kicks and explicitly disallowed goals are excluded. A co-located, same-player and same-side cancellation suppresses the corresponding goal once. Own-goal team IDs already denote the benefiting side.

Primary checkpoints include all goals through recorded base minute 30, 60 or 75; halftime includes all first-half added time. Strict-before and boundary-omission sensitivity tables expose clock uncertainty. Minute/added-minute precision does not establish exact elapsed seconds. Twenty-eight primary matches have unresolved opposite-side goals at the same timestamp. Known checkpoint outcomes may be retained, but those matches do not enter attainment/first-equaliser sequences.

First attainment is counted once per team per match for any two-goal margin, and separately once per match for exact 2–0/0–2. Follow-up continues through later lead extensions until first equaliser or final whistle. Thus a lead extended from two to three goals and then erased is still counted as caught. All final W/D/L outcomes are from the leader's perspective. A caught-and-won case is distinct from a draw or defeat. Checkpoint groups overlap; do not sum their denominators.

Three known multi-day continuations (Granada–Athletic, Udinese–Roma, Fiorentina–Inter) retain verified joined goal histories for descriptive final-outcome analysis. A separate sensitivity omits them. They are excluded from both their own rating contexts and the entire rating-update history; results therefore cannot enter ratings before their completion through an ambiguous kickoff date. No duration hazard is estimated.

## Historical strength and venue

Ratings start at 1500, update by K = 20 after each eligible final result, and use a 60-point home adjustment in expected results. Expected home score is 1/(1+10^(-adjusted_gap/400)); outcomes are 1, 0.5, 0. Both clubs require ten earlier observed games. Final-results-only warmup uses 2015/16–2016/17; that is not part of the event-study sample. Games at the same kickoff use the same frozen pre-kickoff ratings before updates. Match-level usable results from excluded league-seasons remain available as historical results, not primary lead observations. Promoted clubs with insufficient history are unknown. Leader-perspective adjusted gaps below -100, within [-100, 100], and above 100 define weaker, similar and stronger. Variants remove the home adjustment or use K = 40. These are illustrative strata; parameters are not optimized, calibrated or validated as forecasts. Home/away tables are descriptive associations.

## Dismissal coverage

Only 4,416 primary matches have internally reconciled card histories. Both team red totals, resolved starting XIs, player identities and unambiguous on-pitch status are required. Missing totals remain unknown. This subset disproportionately contains recorded reds; a general red-effect or representative eleven-versus-eleven comparison is not supported. See card-coverage-bias.json. Reconciliation within one stored record system is not an independent source check.

## Uncertainty and robustness

Tables include pointwise 95% Wilson intervals, not simultaneous, team-clustered or predictive intervals. Small cells under 30 are flagged without implying that larger ones are automatically precise. Season/league breakdowns and 5,000 whole-season resamples (seed 27092026, nine season blocks) provide stability checks; nine blocks are limited. Sensitivities include all individually usable matches, strict minute boundaries, omitted boundary-goal matches, omitted 2019/20 and2020/21, latest two seasons and omitted known resumptions. The recent era is 2023/24–2025/26. No fitted causal or survival model is claimed.

## Source provenance and reproduction limits

The multi-season study uses stored canonical provider histories. All per-event source stamps in this snapshot are NULL. The repository convention calls these legacy API-Football, but that is not proof of homogeneous or independently established upstream provenance; collection drift cannot be excluded. Official reports were used for a predetermined ten-match sample, illustrative sequences and exceptional cases. Those selected checks are not an independent audit of every event.

Independent code recounts raw records and compares checkpoint, attainment and rating outputs. An open Wyscout/Pappalardo 2017/18 benchmark matches all 1,826 final scores. On the 1,817-match common quality subset, conventional recorded-minute alignment yields 1,813 agreements at 30 and 75, 1,817 at HT and60. Feed independence is not established. The benchmark does not validate later seasons, nor make the multi-season private inputs public.

This archive contains aggregate tables, methods, source references, protocol, analysis/normalization code and aggregate audit receipts. It deliberately excludes licensed row-level provider histories, credentials and operational publication files. Full multi-season record-level reproduction requires authorized access to those histories; the scripts do not fetch a free substitute. The separate open 2017/18 benchmark archive retains its original attribution and CC BY 4.0 licence. That licence does not extend to the private multi-season provider records. The benchmark's historical article/results are superseded by the expanded article.
