Time-Weighting and Recency in Probability Models
## The Staleness Problem
Historical data is not equally informative. A match played 18 months ago is less informative about a team's current ability than a match played 3 weeks ago. A model that weights all historical data equally gives excessive influence to stale information.
## Exponential Time-Weighting
The most common approach: apply exponential decay to historical match weights.
Weight(match) = exp(−decay × days_since_match)
Where decay controls how quickly old data becomes irrelevant.
- decay = 0.003: match 3 months ago has weight ≈ 75%
- decay = 0.006: match 3 months ago has weight ≈ 57%
Typical range used in football models: decay = 0.002 to 0.005.
## Choosing the Decay Parameter
The optimal decay parameter can be estimated by backtesting: test different decay values on historical data and identify which produces the most accurate probability estimates (lowest log-loss on held-out matches).
## Seasonal Discontinuity
At the start of a new season, there is a structural break: team composition changes, manager tactics may evolve, key transfers occurred. The simplest approach: discard all data from before the previous season, or assign very low weight (5–10%) to data older than 6 months.
## The Summer Transfer Window Problem
If a team loses its top striker and goalkeeper in the summer, last season's data is particularly uninformative. Incorporate transfer data as a qualitative adjustment layer on top of the time-weighted historical model.
## Opponent-Adjusted Ratings
Raw xG rates are affected by the quality of opponents faced. An attack that produces 2.5 xG/match against low-quality defences is not equivalent to one producing 2.5 xG/match against top defences. Adjust team ratings for opponent quality in every historical match — this is called "strength of schedule adjustment."
Create a free account to track your progress and save bookmarks.