Still here. Still writing occasional posts for a tiny audience.

It’s been a while because, reasons. I’m still alive, still enjoying recreational R programming and still writing the occasional post. Like this one. Sam Lord writes on the site formerly known as
Still here. Still writing occasional posts for a tiny audience.

It’s been a while because, reasons.

I’m still alive, still enjoying recreational R programming and still writing the occasional post. Like this one.

Sam Lord writes on the site formerly known as Twitter:

Jaspa Fletcher has worn two different numbers in his consecutive Grand Final wins with the @brisbanelions (https://twitter.com/brisbanelions?ref_src=twsrc%5Etfw) – #28 (2024) and #3 (2025).

Surely a rare feat @sirswampthing (https://twitter.com/sirswampthing?ref_src=twsrc%5Etfw)? pic.twitter.com/lSEY42lVZf (https://t.co/lSEY42lVZf) — Sam Lord (@slord81) September 30, 2025 (https://twitter.com/slord81/status/1972898940409491554?ref_src=twsrc%5Etfw)

I bet that we can answer that using R/fitzRoy (https://github.com/jimmyday12/fitzRoy). Here’s one attempt.

library(dplyr) library(fitzRoy)

afldata_processed <- afldata %>%

only Grand Finals and only those with jumper numbers

filter(Round == “GF”, Jumper.No. != “”) %>%

calculate score margin

mutate(Margin = case_when(Playing.for == Home.team ~ Home.score - Away.score, Playing.for == Away.team ~ Away.score - Home.score) %>%

only winners!

filter(Margin > 0) %>%

players with > 1 jumper number but played one team

group_by(First.name, Surname, ID) %>% filter(n_distinct(Jumper.No.) > 1, n_distinct(Playing.for) == 1) %>% ungroup() %>% distinct(Season, ID, First.name, Surname, Playing.for, Jumper.No., Margin) %>% arrange(ID, First.name, Surname) %>%

label Seasons with same ID if consecutive

group_by(ID) %>% mutate(conseq = cumsum(c(1, diff(Season) != 1))) %>% group_by(ID, conseq) %>%

find players who played 2 or more consecutive seasons with different jumper numbers

filter(n() > 1, n_distinct(Jumper.No.) > 1) %>% ungroup()

A rare feat? Well, there are…

afldata_processed %>% distinct(ID) %>% nrow()

[1] 56

…56 players, of 2 480 to have ever played in a V/AFL Grand Final. So yes, somewhat rare.

In the AFL era (defined here as 1990 onwards), there are just…

afldata_processed %>% filter(Season > 1989) %>% select(-conseq)

A tibble: 4 × 7

Season ID First.name Surname Playing.for Jumper.No. Margin 1 2019 12661 Liam Baker Richmond 48 89 2 2020 12661 Liam Baker Richmond 7 31 3 2024 13072 Jaspa Fletcher Brisbane Lions 28 60 4 2025 13072 Jaspa Fletcher Brisbane Lions 3 47

…two players to have played in winning consecutive Grand Finals wearing different numbers. You can add Hawthorn’s Andrew Collins (1988-1989) to the list if you want to define the “modern era” as post-1981. All in agreement with the replies to Sam’s post, well done everyone.

Looking more closely at the data, we see that most of the games played in different jumpers were VFL games in the 1920s and 1930s, particularly involving Collingwood. Changing numbers (in all games) seems to have been much more common in the past than it is now.

library(ggplot2)

afldata_processed %>% count(Season, Playing.for) %>% ggplot(aes(Season, n)) + geom_col() + facet_wrap(~Playing.for) + labs(y = “Count”, title = “Count of players with different numbers in consecutive
winning V/AFL Grand Finals”, subtitle = “by team and season”) + theme_bw()

Update: you can see the full dataset at Github (https://github.com/neilfws/aflstats/blob/master/data/consecutive_gf_different_jumper.csv).

Write a comment
No comments yet.