Most Comebacks in a Season
Top 10 team-seasons by half-time comebacks — matches where they were losing at half-time but came back to win
Comeback Wins per Season
Bars are to scale · not required to be consecutive · hover for details
Top 10 Team-Seasons
#TeamSeasonComeback wins
1Fulham2024-255
2Manchester City2023-245
3Manchester United2020-215
4Aston Villa2025-264
5Brighton and Hove Albion2024-254
6Wolverhampton Wanderers2019-204
7Arsenal2007-084
8Chelsea2002-034
9Arsenal2001-024
10Queens Park Rangers1992-934
SQL Query Used
-- Teams with the most half-time comebacks (trailing at HT, then winning) in a single season, top 10
copy (
    with team_games as (
        select
            match_id,
            season_label,
            home_team_abbr as team_abbr,
            home_team_name as team_name,
            home_half_time_score as ht_goals_for,
            away_half_time_score as ht_goals_against,
            result = 'home_win' as is_win
        from "premier_league"."main"."fct_matches"
        union all
        select
            match_id,
            season_label,
            away_team_abbr as team_abbr,
            away_team_name as team_name,
            away_half_time_score as ht_goals_for,
            home_half_time_score as ht_goals_against,
            result = 'away_win' as is_win
        from "premier_league"."main"."fct_matches"
    ),
    comebacks as (
        select
            team_abbr,
            min(team_name) as team_name,
            season_label,
            count(*) as comeback_count
        from team_games
        where ht_goals_for < ht_goals_against and is_win
        group by team_abbr, season_label
    ),
    ranked as (
        select
            *,
            row_number() over (
                order by comeback_count desc, season_label desc, team_name
            ) as rn
        from comebacks
    )
    select
        team_name,
        team_abbr,
        season_label,
        comeback_count
    from ranked
    where rn <= 10
    order by comeback_count desc, season_label desc, team_name
)
to 'assets/data/most_comebacks.csv' (header, delimiter ',')