Back to Posts
-6 min read

How Do We Evaluate a Player Across Multiple Seasons?

How does time decay work? Why is it important to consider multiple seasons when evaluating a player? How do we weight recent performances without ignoring the past?

Football AnalyticsData Science

Relying on a single season to evaluate a player can be misleading. A midfielder who had a standout 2023 might have been performing above his usual level, a peak that doesn't reflect his actual baseline. Conversely, a young winger who looked average last season might be on a steep upward curve that one snapshot can't capture.

If we want a broader, more reliable vision of a player, we need to look at multiple seasons. But not all seasons are created equal: recent performances matter more than old ones. The challenge is combining them without pretending a season from three years ago carries the same weight as last month's form, and without discarding useful data just because it's not brand new.

How do we weight recent performances without ignoring the past? And how does a player's age affect how quickly his past becomes outdated?

At Gemini Sports, we use a Time-Decay methodology to address exactly this. It gives more importance to recent performances while still considering past achievements, similar to how recent job experience matters more on a resume than what someone did many years ago. By applying different weighting factors based on a player's age and how recently he performed, we can better predict his current ability level rather than being misled by outdated statistics or missing emerging talent.

Why not just use the latest season?

Traditional performance evaluation faces a few key challenges:

  • Recency vs. History: Using only the most recent season can miss established patterns, while career averages dilute a player's current ability level.
  • Career Stage Impact: Young players improve while older players may decline. A flat average treats both the same.
  • Sample Size Issues: Limited minutes in recent seasons can create statistical noise.

As discussed in the first post of this series, statistical padding addresses the sample size problem by shrinking low-sample performances toward a baseline. And as shown in this post on league translation, league translation is embedded in every metric available by default to Gemini users, normalizing performances across competitions so that a Seasonal EPM in the Eredivisie and one in the Premier League can be meaningfully compared.

Time Decay adds the temporal dimension. Together, these three steps form a pipeline: league translation normalizes where a player performed, padding stabilizes how much data you have, and time decay handles when the performance happened. The result is a single, coherent answer to "what is this player's level right now?"

How does Time Decay work?

Time Decayed: seasons weighted over time and percentage of season completedTime Decayed: seasons weighted over time and percentage of season completed

The method applies a mathematically derived weight to each season of a player's performance data. This weight is determined by:

  1. The player's age during that season
  2. How many seasons ago the performance occurred
  3. The number of minutes played (with appropriate padding for limited samples)

Age-Based Decay Factors

Not all players age the same way. A 22-year-old's season from two years ago is less representative because he's likely improved since then. A 28-year-old's season from two years ago is still fairly representative of his current level. And a 33-year-old's older seasons may overstate his ability if physical decline has set in.

To account for these different career trajectories, we calibrate decay rates by age bracket:

  • Young Players (≤24 years): slower decay, acknowledging rapid development and skill acquisition: their older seasons fade, but not too fast, because the upward trend is the signal
  • Prime Players (25–29 years): moderate decay, reflecting established and relatively stable performance patterns
  • Veteran Players (≥30 years): faster decay, accounting for potential decline in physical abilities: their peak seasons lose relevance more quickly

The younger the player, the more we trust his recent data over his past. The older the player, the faster his history fades.

Time Weighting

For each season's performance, we apply:

Decay Rate = (Decay Factor) ^ (Current Year - Season Year)

The decay factor varies by age bracket as described above. The effect is intuitive: recent seasons dominate, but older ones still contribute. And the rate at which they fade depends on the player's career stage.

Minutes Weighting

To account for playing time and statistical significance:

  • Performance is weighted by: Minutes Played × Decay Rate
  • Data is normalized using the statistical padding techniques described in the first post to address sample size issues
  • A performance threshold (typically 3 seasons) is applied to ensure statistical robustness

This is where padding and time decay interact directly. Padding ensures that a 400-minute season isn't treated as equally reliable as a 2,500-minute one, while time decay ensures that a 2,500-minute season from three years ago isn't treated as equally relevant as one from last year.

What does this look like in practice?

Consider two midfielders:

Player A: 27 years old (moderate decay)

  • 2023: +0.11 GPM over 2,500 minutes
  • 2022: +0.08 GPM over 2,200 minutes
  • 2021: +0.05 GPM over 1,800 minutes

Player B: 33 years old (faster decay)

  • 2023: +0.08 GPM over 2,300 minutes
  • 2022: +0.10 GPM over 2,500 minutes
  • 2021: +0.14 GPM over 2,700 minutes

A simple average would rate Player B (+0.107) higher than Player A (+0.080). But Time Decay recognizes what a scout watching both would intuitively feel: Player A is on an upward trajectory, while Player B is declining. The age-based decay factors amplify this: Player B's older, stronger seasons fade faster because he's a veteran, while Player A's older, weaker seasons also fade, but in his favor, since his recent form is his best.

Where is Time Decay applied?

The Time-Decay methodology is used across our core analytical frameworks:

  • GPM (Gemini Plus-Minus): Time-decayed, league-translated seasonal EPM values are combined into a single multi-season rating
  • VAEP & VARxG: On-ball value metrics are time-weighted for the same reason: a player's recent action value matters more than what he did two seasons ago
  • GPR (Gemini Player Rating): The composite rating that brings it all together
  • Categorical Metrics: Position-specific skill breakdowns are also time-weighted to reflect current ability profiles

The full picture

Across this series, we've built up a pipeline for player evaluation that addresses three fundamental challenges:

  • Statistical Padding: How much should we trust a performance based on limited playing time?
  • League Translation: How do we fairly compare players across different competitions?
  • Time Decay: How do we combine multiple seasons without being misled by outdated data?

In short: Time Decay lets us look at the full arc of a player's career without being anchored to the past. Combined with padding and league translation, it provides a robust, context-aware foundation built into the workflows that support a recruitment process.

P.S.: The work mentioned in this text was developed by Amod Sahasrabudhe, Gabriel Reis, João Lucas, Hugo Rios, Marc Garnica and myself.

If you'd like to learn more about Gemini, feel free to schedule a call: Calendar