خلال السنوات الثلاث الأخيرة (2023–2025)، شهدت كرة القدم السعودية توسعًا ماليًا لافتًا، خصوصًا في إنفاق الأندية على رسوم الانتقالات الدولية، بالتوازي مع ازدياد النقاش الجماهيري حول أثر ذلك على العدالة التنافسية، واستدامة النمو، وانعكاسه على الحضور والمتابعة.
هذا التقرير يقدم قراءة رقمية متقدمة (Descriptive + Sensitivity/Simulation) مبنية على مصادر موثوقة للأرقام السنوية، مع عرض رسوم بيانية ملوّنة ومؤشرات (KPIs) تساعد على الفهم السريع.
ملاحظة: الأرقام هنا تتعلق برسوم الانتقالات الدولية كما ترد في تقارير فيفا/تقارير السوق، ولا تشمل بالضرورة كل التكاليف الأخرى (رواتب، مكافآت، حوافز…).
spending <- tibble::tibble(
year = c(2023, 2024, 2025),
transfer_fees_usd_m = c(957.0, 464.5, 906.9), # مليون دولار
agent_fees_usd_m = c(NA_real_, NA_real_, 80.4), # مليون دولار
source = c("Deloitte (2023 summer window)", "FIFA Global Transfer Report 2024", "FIFA Global Transfer Report 2025 / Reports")
) %>%
mutate(
transfer_fees_sar_m = transfer_fees_usd_m * 3.75,
agent_fees_sar_m = agent_fees_usd_m * 3.75
)
kable(spending, digits = 1, caption = "البيانات الأساسية (مليون دولار / مليون ريال سعودي)")
| year | transfer_fees_usd_m | agent_fees_usd_m | source | transfer_fees_sar_m | agent_fees_sar_m |
|---|---|---|---|---|---|
| 2023 | 957.0 | NA | Deloitte (2023 summer window) | 3588.8 | NA |
| 2024 | 464.5 | NA | FIFA Global Transfer Report 2024 | 1741.9 | NA |
| 2025 | 906.9 | 80.4 | FIFA Global Transfer Report 2025 / Reports | 3400.9 | 301.5 |
kpi <- spending %>%
arrange(year) %>%
mutate(
yoy_change = transfer_fees_usd_m - lag(transfer_fees_usd_m),
yoy_growth = (transfer_fees_usd_m / lag(transfer_fees_usd_m) - 1),
index_2023 = transfer_fees_usd_m / transfer_fees_usd_m[year==2023] * 100
)
# CAGR بين 2023 و2025 (فترتان)
cagr <- (kpi$transfer_fees_usd_m[kpi$year==2025] / kpi$transfer_fees_usd_m[kpi$year==2023])^(1/2) - 1
kable(
kpi %>% select(year, transfer_fees_usd_m, yoy_change, yoy_growth, index_2023),
digits = 3,
caption = "مؤشرات التغير (YoY) ومؤشر الأساس (2023=100)"
)
| year | transfer_fees_usd_m | yoy_change | yoy_growth | index_2023 |
|---|---|---|---|---|
| 2023 | 957.0 | NA | NA | 100.000 |
| 2024 | 464.5 | -492.5 | -0.515 | 48.537 |
| 2025 | 906.9 | 442.4 | 0.952 | 94.765 |
kable(
tibble::tibble(indicator="CAGR 2023→2025", value=cagr),
digits = 3,
caption = "معدل النمو المركب (CAGR)"
)
| indicator | value |
|---|---|
| CAGR 2023→2025 | -0.027 |
مقدمة القسم: يهدف هذا الجزء إلى عرض الحجم المطلق للإنفاق في كل سنة على حدة. استخدام الأعمدة هنا مقصود لأنه يسمح بالمقارنة المباشرة بين السنوات، ويساعد في تحديد سنوات الذروة مقابل سنوات التهدئة.
ggplot(spending, aes(x=factor(year), y=transfer_fees_usd_m, fill=factor(year))) +
geom_col(width=0.7) +
geom_text(aes(label=paste0(round(transfer_fees_usd_m,1),"M")), vjust=-0.5, size=4) +
scale_fill_brewer(palette="Set2", name="السنة") +
labs(
title="إنفاق الأندية السعودية على رسوم الانتقالات الدولية (2023–2025)",
x="السنة",
y="مليون دولار"
) +
theme_minimal(base_size = 13) +
theme(legend.position = "none")
قراءة سريعة:
- 2023 يمثل ذروة إنفاق واضحة.
- 2024 شهد هبوطًا كبيرًا مقارنة بعام الذروة.
- 2025 عاد إلى مستوى مرتفع جدًا قريب من 2023.
مقدمة القسم: يركّز هذا الجزء على الاتجاه العام للإنفاق عبر الزمن، ويساعد في التمييز بين الصدمات المؤقتة والنمط الهيكلي طويل الأجل.
ggplot(spending, aes(x=year, y=transfer_fees_usd_m)) +
geom_line(linewidth=1.2, color="#2C7FB8") +
geom_point(size=3.2, color="#D95F0E") +
geom_text(aes(label=paste0(round(transfer_fees_usd_m,1),"M")), vjust=-0.8, size=4) +
scale_x_continuous(breaks = spending$year) +
labs(
title="الاتجاه الزمني للإنفاق (2023–2025)",
x="السنة",
y="مليون دولار"
) +
theme_minimal(base_size=13)
مقدمة القسم: يعرض هذا القسم التغيرات بين الفترات الزمنية المتعاقبة، وهو مهم لفهم لحظات التصحيح أو الاندفاع في السوق.
chg <- kpi %>% filter(!is.na(yoy_change)) %>%
mutate(period = paste0(lag(year), "→", year),
direction = ifelse(yoy_change>=0, "زيادة", "انخفاض"))
ggplot(chg, aes(x=period, y=yoy_change, fill=direction)) +
geom_col(width=0.6) +
geom_hline(yintercept = 0, linetype="dashed") +
scale_fill_manual(values=c("زيادة"="#1B9E77", "انخفاض"="#D95F02"), name="الاتجاه") +
labs(
title="التغير السنوي في إنفاق الانتقالات",
x="الفترة",
y="التغير (مليون دولار)"
) +
theme_minimal(base_size=13)
مقدمة القسم: تُحلل رسوم الوكلاء بشكل مستقل لأنها تمثل تكلفة غير مباشرة تعكس شدة المنافسة وقوة التفاوض في سوق الانتقالات.
agent_2025 <- spending %>% filter(year==2025) %>%
mutate(agent_share = agent_fees_usd_m / transfer_fees_usd_m)
kable(
agent_2025 %>% transmute(
year,
transfer_fees_usd_m,
agent_fees_usd_m,
agent_share
),
digits = 3,
caption = "نسبة رسوم الوكلاء من إنفاق الانتقالات (2025)"
)
| year | transfer_fees_usd_m | agent_fees_usd_m | agent_share |
|---|---|---|---|
| 2025 | 906.9 | 80.4 | 0.089 |
share_df <- tibble::tibble(
category = c("رسوم انتقالات", "رسوم وكلاء"),
value = c(agent_2025$transfer_fees_usd_m, agent_2025$agent_fees_usd_m)
)
ggplot(share_df, aes(x="", y=value, fill=category)) +
geom_col(width=0.6) +
coord_polar(theta="y") +
scale_fill_brewer(palette="Pastel1") +
labs(
title="تركيب تكلفة 2025: انتقالات مقابل وكلاء",
x=NULL, y=NULL
) +
theme_void(base_size=13)
أهمية هذا القسم: في الواقع العملي، لا تعمل الجهات التنظيمية على أرقام دقيقة 100٪. لذلك تُستخدم المحاكاة الاحتمالية لتقدير نطاقات معقولة بدل الاعتماد على رقم واحد جامد.
حتى مع وجود مصادر موثوقة، تبقى هناك فروقات تعريفية (نافذة/سنة، دولي فقط، رسوم إضافية…). لذلك سنفترض هامش عدم يقين ±5% حول إنفاق كل سنة ونحاكي توزيع إجمالي الإنفاق خلال 3 سنوات.
N <- 50000
sd_rate <- 0.05
sim_2023 <- rnorm(N, mean=spending$transfer_fees_usd_m[spending$year==2023], sd=sd_rate*spending$transfer_fees_usd_m[spending$year==2023])
sim_2024 <- rnorm(N, mean=spending$transfer_fees_usd_m[spending$year==2024], sd=sd_rate*spending$transfer_fees_usd_m[spending$year==2024])
sim_2025 <- rnorm(N, mean=spending$transfer_fees_usd_m[spending$year==2025], sd=sd_rate*spending$transfer_fees_usd_m[spending$year==2025])
sim_total <- sim_2023 + sim_2024 + sim_2025
summary_df <- tibble::tibble(
metric = c("Mean", "Median", "P05", "P95"),
value_usd_b = c(mean(sim_total), median(sim_total), quantile(sim_total, 0.05), quantile(sim_total, 0.95)) / 1000
)
kable(summary_df, digits=3, caption="ملخص توزيع إجمالي الإنفاق (مليار دولار) بافتراض ±5% عدم يقين")
| metric | value_usd_b |
|---|---|
| Mean | 2.329 |
| Median | 2.329 |
| P05 | 2.213 |
| P95 | 2.444 |
sim_plot <- tibble::tibble(total_usd_b = sim_total/1000)
ggplot(sim_plot, aes(x=total_usd_b)) +
geom_histogram(bins=60, fill="#6A51A3", color="white", alpha=0.9) +
geom_vline(xintercept = mean(sim_plot$total_usd_b), color="#CB181D", linewidth=1.1) +
labs(
title="توزيع إجمالي الإنفاق خلال 3 سنوات (محاكاة مونت كارلو)",
x="إجمالي الإنفاق (مليار دولار)",
y="عدد المحاكاة"
) +
theme_minimal(base_size=13)
تفسير:
النتيجة لا تعطي “رقمًا واحدًا” فقط، بل تعطي نطاقًا منطقيًا لإجمالي الإنفاق
عند إدخال عدم يقين بسيط.
عند قراءة نتائج هذا التقرير بشكل تكاملي، يمكن استخلاص الملاحظات التالية:
من منظور العدالة التنافسية، فإن استمرار هذا النمط دون أطر تنظيمية واضحة قد يؤدي إلى: - تركّز القوة الرياضية لدى عدد محدود من الأندية. - تراجع الثقة الجماهيرية في نزاهة المنافسة. - زيادة حساسية الجماهير تجاه أي اختلال إداري أو مالي.
وعليه، فإن القيمة الحقيقية لهذا التقرير لا تكمن في الأرقام وحدها، بل في كيفية توظيفها لصياغة سياسات رياضية تحقق التوازن بين الجاذبية المالية والتنافس العادل والاستدامة طويلة الأجل.