Conventional wisdom says tackling is a defender’s job. This analysis tests that assumption against real 2025/26 A-League Men player data, using position group comparisons and formal hypothesis testing.
library(readxl)
library(dplyr)
library(ggplot2)
standard <- read_excel("A_League_Stats_Cleaned.xlsx", sheet = "Players Standard Sheet")
defense <- read_excel("Defense_Passing_Cleaned.xlsx", sheet = "Defense Players stats")
merged <- standard %>%
left_join(defense %>% select(Player, Squad, `Tackles Won`), by = c("Player", "Squad")) %>%
mutate(PrimaryPos = sub(",.*", "", Position)) %>%
filter(PrimaryPos != "GK") # exclude goalkeepers - not a meaningful comparison group
table(merged$PrimaryPos)
##
## DF FW MF
## 104 66 143
ggplot(merged, aes(x = PrimaryPos, y = `Tackles Won`, fill = PrimaryPos)) +
geom_boxplot(alpha = 0.8, outlier.shape = 21, outlier.size = 2.5, outlier.fill = "white") +
geom_jitter(width = 0.15, alpha = 0.35, size = 1.5, color = "black") +
scale_fill_manual(values = c("DF" = "#2E86AB", "MF" = "#F18F01", "FW" = "#C73E1D")) +
labs(
title = "Tackles Won by Position",
subtitle = "A-League Men, 2025/26 season",
x = "Position",
y = "Tackles Won"
) +
theme_minimal(base_size = 14) +
theme(
legend.position = "none",
plot.title = element_text(face = "bold", size = 18),
plot.subtitle = element_text(color = "gray40"),
panel.grid.minor = element_blank()
)
The boxplot shows Defenders (DF) and Midfielders (MF) with visually similar medians, while Forwards (FW) sit noticeably lower. Several high-tackling outliers are visible in both DF and MF groups.
Before choosing between ANOVA and a non-parametric alternative, we test whether Tackles Won is normally distributed:
shapiro.test(merged$`Tackles Won`)
##
## Shapiro-Wilk normality test
##
## data: merged$`Tackles Won`
## W = 0.85818, p-value = 2.632e-16
The p-value is far below 0.05, indicating the data significantly deviates from a normal distribution. This rules out a standard one-way ANOVA as the appropriate test here, since ANOVA assumes normally distributed data within each group.
Given the non-normal distribution, we use the Kruskal-Wallis test — the non-parametric equivalent of a one-way ANOVA — to test whether Tackles Won differs significantly across the three position groups.
kruskal.test(`Tackles Won` ~ PrimaryPos, data = merged)
##
## Kruskal-Wallis rank sum test
##
## data: Tackles Won by PrimaryPos
## Kruskal-Wallis chi-squared = 39.016, df = 2, p-value = 3.371e-09
The result is highly significant (p < 0.001), indicating at least one position group differs meaningfully from the others.
Kruskal-Wallis tells us a difference exists somewhere, but not which specific pairs of groups differ. We follow up with Dunn’s test, using a Bonferroni correction to account for running multiple pairwise comparisons.
library(FSA)
dunnTest(`Tackles Won` ~ PrimaryPos, data = merged, method = "bonferroni")
## Comparison Z P.unadj P.adj
## 1 DF - FW 5.5575978 2.735127e-08 8.205382e-08
## 2 DF - MF 0.1244565 9.009538e-01 1.000000e+00
## 3 FW - MF -5.7696788 7.942275e-09 2.382682e-08
| Comparison | Adjusted P-value | Significant (a = 0.05) |
|---|---|---|
| DF vs FW | 8.21e-08 | Yes |
| DF vs MF | 1.00 | No |
| FW vs MF | 2.38e-08 | Yes |
Forwards tackle significantly less than both Defenders and Midfielders, which is expected. However, Defenders and Midfielders show no statistically significant difference in Tackles Won (p = 1.00, adjusted). Despite the positional label, A-League midfielders in the 2025/26 season are contributing a statistically indistinguishable volume of tackling compared to defenders.
This may reflect modern pressing systems that ask midfielders to contest the ball higher up the pitch, rather than defensive responsibility sitting solely with the back line.
PrimaryPos, derived by taking the
first listed position for players with multiple position tags
(e.g. “MF,FW” becomes “MF”). Some players may be miscategorized if they
play a genuinely hybrid role.