diff --git a/functions.R b/functions.R
index a225480..e24988d 100644
--- a/functions.R
+++ b/functions.R
@@ -79,7 +79,21 @@ coefficient_plot_function <- function(regression_result, coefficient_plotting_da
}
coefficient_plotting_data <- coefficient_plotting_data %>%
- mutate(term = gsub("_", " ", term))
+ mutate(term = gsub("_", " ", term),
+ term = gsub("4 ", "4
", term),
+ term = gsub("Gini ", "Gini
", term),
+ term = gsub("and ", "and
", term),
+ term = gsub("goals ", "goals
", term),
+ term = gsub("top ", "top
", term),
+ term = gsub("competitive ", "competitive
", term),
+ term = gsub("elite ", "elite
", term),
+ term = gsub("dominance ", "dominance
", term),
+ term = gsub("multilevel ", "multilevel
", term),
+ term = gsub("competitiveness ", "competitiveness
", term),
+ term = gsub("title index ", "title index
", term),
+ term = gsub("balance index ", "balance
index", term),
+ term = gsub("index (CL multi)", "index
(CL multi)", term),
+ term = gsub("PC", "Principal
component
", term))
custom_plotly(
data = coefficient_plotting_data,
@@ -105,9 +119,9 @@ coefficient_plot_function <- function(regression_result, coefficient_plotting_da
hover_info = FALSE
) %>%
layout(autosize = FALSE,
- margin = list(
- l = 225
- ),
+ # margin = list(
+ # l = 225
+ # ),
xaxis = list(
range = c(-range_val, range_val),
zeroline = FALSE,
diff --git a/server.R b/server.R
index 17e7978..79d40e4 100644
--- a/server.R
+++ b/server.R
@@ -40,12 +40,19 @@ server <- function(input, output, session) {
country_data <- league_averages_plot_selected_data()
values <- as.numeric(country_data[1, -1])
+ theta_labels <- gsub("_", " ", names(country_data)[-1])
+ theta_labels <- gsub("and ", "and
", theta_labels)
+ theta_labels <- gsub("4 ", "4
", theta_labels)
+ theta_labels <- gsub("number ", "number
", theta_labels)
+ theta_labels <- gsub("by ", "by
", theta_labels)
+
custom_plotly(type = 'scatterpolar', fill = 'toself', hoverinfo = "none", xaxis_title = "", yaxis_title = "", width = width) %>%
add_trace(
r = c(values, values[1]),
- theta = c(gsub("_", " ", names(country_data)[-1]), gsub("_", " ", names(country_data)[-1][1]))
+ theta = c(theta_labels, theta_labels[1])
) %>%
layout(
+ margin = list(t = 50),
polar = list(radialaxis = list(range = c(0,1))),
showlegend = FALSE
)
@@ -70,12 +77,19 @@ server <- function(input, output, session) {
group_data <- basic_profiless_plot_selected_data()
values <- as.numeric(group_data[1, 2:10])
+ theta_labels <- gsub("_", " ", names(group_data)[2:10])
+ theta_labels <- gsub("and ", "and
", theta_labels)
+ theta_labels <- gsub("4 ", "4
", theta_labels)
+ theta_labels <- gsub("number ", "number
", theta_labels)
+ theta_labels <- gsub("by ", "by
", theta_labels)
+
custom_plotly(type = 'scatterpolar', fill = 'toself', hoverinfo = "none", xaxis_title = "", yaxis_title = "", width = width) %>%
add_trace(
r = c(values, values[1]),
- theta = c(gsub("_", " ", names(group_data)[2:10]), gsub("_", " ", names(group_data)[2:10][1]))
+ theta = c(theta_labels, theta_labels[1])
) %>%
layout(
+ margin = list(t = 50),
polar = list(radialaxis = list(range = c(-0.4,0.4))),
showlegend = FALSE
)
@@ -174,13 +188,20 @@ server <- function(input, output, session) {
group_data <- clustering_plot_selected_data()
values <- as.numeric(group_data[1, 2:10])
+
+ theta_labels <- gsub("_", " ", names(group_data)[2:10])
+ theta_labels <- gsub("and ", "and
", theta_labels)
+ theta_labels <- gsub("4 ", "4
", theta_labels)
+ theta_labels <- gsub("number ", "number
", theta_labels)
+ theta_labels <- gsub("by ", "by
", theta_labels)
custom_plotly(type = 'scatterpolar', fill = 'toself', hoverinfo = "none", xaxis_title = "", yaxis_title = "", width = width) %>%
add_trace(
r = c(values, values[1]),
- theta = c(gsub("_", " ", names(group_data)[2:10]), gsub("_", " ", names(group_data)[2:10][1]))
+ theta = c(theta_labels, theta_labels[1])
) %>%
layout(
+ margin = list(t = 50),
polar = list(radialaxis = list(range = c(-0.7,1.5))),
showlegend = FALSE
)
diff --git a/text.R b/text.R
index d692bd2..869d435 100644
--- a/text.R
+++ b/text.R
@@ -4,30 +4,40 @@ motivation_one <- "Does competing in a more competitive domestic league provide
motivation_two <- "The 2024/25 UEFA Champions League provides a useful illustration of these contrasting domestic scenarios. Paris Saint-Germain (PSG), one of the finalists, secured the Ligue 1 title on 5 April 2025 with six league matches remaining. As a result, they were able to focus all of their attention on the Champions League from the quarter finals, as they had already reached the Coupe de France final (which would not be played until the week before the Champions League final). In contrast, Internazionale remained locked in a Serie A title race until the final day of the season, ultimately finishing one point behind Napoli. They had also only played the first leg of their Coppa Italia semi-final (which they lost 4-1 on aggregate to city rivals Milan) before the quarter finals begun. PSG therefore represent a club succeeding in Europe while operating in a relatively less competitive domestic environment, whereas Internazionale demonstrate that strong European performances can also be achieved while facing significant domestic competition."
motivation_three <- "This study investigates the factors that contribute to league competitiveness and examines how these characteristics relate to the performance of clubs from each country in European competitions. By analysing multiple dimensions of competitiveness rather than treating it as a single concept, the research seeks to identify whether particular competitive environments are associated with stronger or weaker European performance."
-date <- ("August 20256")
+date <- ("August 2026")
name <- ("Ciarán Fitzsimons")
+league_names <- c("Spanish", "English", "German", "Italian", "French", "Portuguese")
+
#Exploratory analysis
exploratory_analysis_one <- "Before exploring the relationship between league competitiveness and European performance, it is important to understand how the major European leagues differ from one another. This section examines the six most successful leagues from 1999/2000 onwards (Spain, England, Germany, Italy, France and Portugal), summarising their performance in European competitions and the characteristics of their domestic competitions. The selected variables are introduced and compared using league averages, providing a foundation for the subsequent analysis."
#European performance over time
-europe_s_top_6_leagues_european_performance_since_1999_2000_one <- "Spanish teams have been the best performing in Europe across the period. The greatest era of dominance came between 2013 and 2018, where a Spanish side won the Champions league in all five seasons (Real Madrid (4) and Barcelona (1)) and four of the five Europa league titles (Sevilla (3) and Atletico Madrid (1))."
-europe_s_top_6_leagues_european_performance_since_1999_2000_two <- "English teams have performed consistently well across Europe throughout the period, with a few dominant seasons between 2004 and 2009, where an English side reached the Champions league final in each of the seasons. 2018/19 marked the season of English dominance, where the Champions League final was contested by Liverpool and Tottenham, and the Europa League by Chelsea and Arsenal."
-europe_s_top_6_leagues_european_performance_since_1999_2000_three <- "German teams have performed consistently across the period, without reaching the heights of the Spanish and English sides. This is largely down to fewer teams performing across the continent, with Bayern Munich and Borussia Dortmund largely carrying German performance, represented by a peak in 2012/13 where the two faced each other in the Champions league final."
-europe_s_top_6_leagues_european_performance_since_1999_2000_four <- "Italian teams’ European performance shows greater volatility over the period, with a range of seasons eclipsing Germany’s greatest seasons, however many seasons of low performance by the teams. 2002/03 represented Italian footballs best European performance season, with three of the four semi finalists being Italian and the final being contested by Juventus and AC Milan."
-europe_s_top_6_leagues_european_performance_since_1999_2000_five <- "French European performance has been consistently fairly poor over the period, with a few peaks over the period. Even with PSG’s rise in recent years and back-to-back Champions league titles, France’s overall performance has been poor due to the lack of other teams performing well."
-europe_s_top_6_leagues_european_performance_since_1999_2000_six <- "Portuguese teams have performed the worst of the six leagues over the period, with a few successful seasons with Porto winning the Champions league once and Europa league twice. The teams performing averagely in Europe from Portugal have consistently been the same sides (Porto, Benfica, Sporting CP and Braga)."
+europe_s_top_6_leagues_european_performance_since_1999_2000_one <- "Spanish teams have been the best performing in Europe across the period. The greatest era of dominance came between 2013 and 2018, where a Spanish side won the Champions league in all five seasons (Real Madrid (4) and Barcelona (1)) and four of the five Europa league titles (Sevilla (3) and Atletico Madrid (1))."
+europe_s_top_6_leagues_european_performance_since_1999_2000_two <- "English teams have performed consistently well across Europe throughout the period, with a few dominant seasons between 2004 and 2009, where an English side reached the Champions league final in each of the seasons. 2018/19 marked the season of English dominance, where the Champions League final was contested by Liverpool and Tottenham, and the Europa League by Chelsea and Arsenal."
+europe_s_top_6_leagues_european_performance_since_1999_2000_three <- "German teams have performed consistently across the period, without reaching the heights of the Spanish and English sides. This is largely down to fewer teams performing across the continent, with Bayern Munich and Borussia Dortmund largely carrying German performance, represented by a peak in 2012/13 where the two faced each other in the Champions league final."
+europe_s_top_6_leagues_european_performance_since_1999_2000_four <- "Italian teams’ European performance shows greater volatility over the period, with a range of seasons eclipsing Germany’s greatest seasons, however many seasons of low performance by the teams. 2002/03 represented Italian footballs best European performance season, with three of the four semi finalists being Italian and the final being contested by Juventus and AC Milan."
+europe_s_top_6_leagues_european_performance_since_1999_2000_five <- "French European performance has been consistently fairly poor over the period, with a few peaks over the period. Even with PSG’s rise in recent years and back-to-back Champions league titles, France’s overall performance has been poor due to the lack of other teams performing well."
+europe_s_top_6_leagues_european_performance_since_1999_2000_six <- "Portuguese teams have performed the worst of the six leagues over the period, with a few successful seasons with Porto winning the Champions league once and Europa league twice. The teams performing averagely in Europe from Portugal have consistently been the same sides (Porto, Benfica, Sporting CP and Braga)."
+performance_text <- list(
+ europe_s_top_6_leagues_european_performance_since_1999_2000_one,
+ europe_s_top_6_leagues_european_performance_since_1999_2000_two,
+ europe_s_top_6_leagues_european_performance_since_1999_2000_three,
+ europe_s_top_6_leagues_european_performance_since_1999_2000_four,
+ europe_s_top_6_leagues_european_performance_since_1999_2000_five,
+ europe_s_top_6_leagues_european_performance_since_1999_2000_six
+)
#Variables used
variables_used_in_analysis_of_leagues_competitiveness_one <- "Points difference"
-variables_used_in_analysis_of_leagues_competitiveness_two <- "- Between first and second place"
-variables_used_in_analysis_of_leagues_competitiveness_three <- "- Between first place and Champions League qualification (fourth)"
-variables_used_in_analysis_of_leagues_competitiveness_four <- "- Between first place and relegation (third bottom)"
-variables_used_in_analysis_of_leagues_competitiveness_five <- "- Between Champions League qualification and relegation (third bottom)"
+variables_used_in_analysis_of_leagues_competitiveness_two <- "- First and second: Between first and second place"
+variables_used_in_analysis_of_leagues_competitiveness_three <- "- First and CL: Between first place and Champions League qualification (fourth)"
+variables_used_in_analysis_of_leagues_competitiveness_four <- "- First and relegated: Between first place and relegation (third bottom)"
+variables_used_in_analysis_of_leagues_competitiveness_five <- "- CL and relegated: Between Champions League qualification and relegation"
variables_used_in_analysis_of_leagues_competitiveness_six <- "These measures capture competitiveness at different levels of the league table. Smaller point gaps indicate a more closely contested league, while larger gaps suggest greater separation between clubs. To allow comparison across leagues of different sizes, all values are divided by the number of teams in the league."
variables_used_in_analysis_of_leagues_competitiveness_seven <- "Goal difference"
-variables_used_in_analysis_of_leagues_competitiveness_eight <- "- League winner's goal difference"
-variables_used_in_analysis_of_leagues_competitiveness_nine <- "- Combined goal difference of teams finishing in Champions League qualification places"
+variables_used_in_analysis_of_leagues_competitiveness_eight <- "- Winners GD: League winner's goal difference"
+variables_used_in_analysis_of_leagues_competitiveness_nine <- "- Top 4 total GD: Combined goal difference of teams finishing in Champions League qualification places"
variables_used_in_analysis_of_leagues_competitiveness_ten <- "Goal difference provides an indication of how dominant the strongest teams are within a league. Larger goal differences suggest top clubs are outperforming their domestic opponents more consistently, which may indicate lower overall competitiveness. Values are divided by the number of teams in the league to provide relative measures across countries."
variables_used_in_analysis_of_leagues_competitiveness_eleven <- "Average number of players used"
variables_used_in_analysis_of_leagues_competitiveness_twelve <- "This measures the average number of players used in league matches by clubs competing in European competitions. A higher value may indicate greater squad rotation, potentially reflecting an ability to rest players domestically while maintaining performance levels."
@@ -37,20 +47,38 @@ variables_used_in_analysis_of_leagues_competitiveness_fifteen <- "Gini coeffi
variables_used_in_analysis_of_leagues_competitiveness_sixteen <- "The Gini coefficient measures the distribution of wealth across clubs within a league, ranging from 0 (perfect equality) to 1 (complete inequality). It is calculated using squad market values for each season. Higher values indicate wealth is concentrated among a smaller number of clubs, which may provide those clubs with a competitive advantage and reduce overall league competitiveness."
#League characteristics
-characteristics_of_leagues_since_1999_2000_one <- "Spain combines strong top-club performance with a heavy reliance on elite attacking players, as shown by the very high contribution from the top three scorers. Although competitive gaps across the league are relatively modest, financial inequality is among the highest of the six leagues, suggesting that a small number of wealthy clubs hold a significant economic advantage. As a result, Spanish football appears to be characterised by influential elite clubs operating within a league that remains reasonably competitive on the pitch. The characteristics mirror what we see in the real world, with financial and competitive dominance of Real Madrid and Barcelona (and to a lesser extent, Atletico Madrid), as well as superstar signings throughout the period."
-characteristics_of_leagues_since_1999_2000_two <- "England combines relatively strong competitive balance at the top of the table with a substantial gap between the Champions League places and the relegation zone. The league's top clubs perform strongly, as shown by the high aggregate goal difference among the top four teams, but financial resources are distributed more evenly than in any of the other leagues, reflected by the lowest Gini coefficient. Overall, England appears to balance strong elite clubs with relatively broad financial strength across the league. This reflects the dominance being spread between the traditional ‘big six’ clubs, with the smaller clubs having more financial resources than counterparts in other leagues due to extensive worldwide TV deals."
-characteristics_of_leagues_since_1999_2000_three <- "Germany combines strong competitive balance near the top of the table with some of the highest-performing champions. Winners typically achieve large goal differences, and the league's strongest clubs remain highly effective despite using fewer players on average than other leagues. Financial inequality is relatively low, indicating that strong on-field performances are achieved within a comparatively balanced economic structure. This is reflective of the strong “50 + 1” rule around ownership, as well as the consistent dominance of Bayern Munich, with Borussia Dortmund running them close on occasion."
-characteristics_of_leagues_since_1999_2000_four <- "Italy presents a relatively balanced profile across most indicators. There is a moderate separation between the leading clubs and the rest of the league, while squad usage is relatively high and a large share of goals comes from the top three scorers. Financial inequality is similar to that of Germany and France, suggesting that economic concentration is present but not to the extent seen in Spain or Portugal. This is reflective of the title winner changing regularly, but largely between the same four clubs, as well as weaker financial power than other countries."
-characteristics_of_leagues_since_1999_2000_five <- "France stands out for having one of the closest title races, with a relatively small gap between first and second place. However, league-wide dominance is limited, as shown by the low goal differences recorded by its strongest clubs. French clubs tend to use relatively large squads, while financial inequality is moderate, suggesting a league that is neither highly concentrated nor heavily dominated by a small elite. This is reflective of a tight and not financially powerful league (particularly with the lack of TV deal), despite PSG’s recent dominance, but usually with a close title rival."
-characteristics_of_leagues_since_1999_2000_six <- "Portugal exhibits the clearest signs of competitive imbalance. The largest gaps between Champions League qualification and relegation, coupled with the strongest winners' and top-four goal differences, point to a league dominated by a small group of elite clubs. This is reinforced by the highest Gini coefficient, indicating that wealth is heavily concentrated among a few clubs. Portuguese clubs also use the largest squads on average, creating a picture of a league with a pronounced divide between the top teams and the rest. This is clearly seen by the dominance of the same four clubs consistently finishing in the top 4 positions (Porto, Benfica, Sporting CP and Braga)."
-characteristics_of_leagues_extra_one <- "Overall, the pattern of European performance suggests that success is not associated with a single domestic league structure. Spain, the strongest-performing league over the period, combines strong elite clubs, high contributions from star players, and relatively high financial inequality, indicating that concentrated quality at the top can translate into European success. England and Germany also perform strongly, but do so with noticeably different characteristics. England combines strong top-club performance with the most even distribution of wealth, while Germany pairs powerful champions with relatively low financial inequality and consistent squad usage. This suggests there are multiple pathways to European success, ranging from concentrated excellence among elite clubs to broader league-wide strength."
-characteristics_of_leagues_extra_two <- "In contrast, Italy sits in the middle of the European performance rankings and is characterised by moderate values across most measures, reflecting a league that is neither highly concentrated nor exceptionally competitive on any single dimension. France and Portugal, despite representing opposite ends of several domestic characteristics, have generally achieved weaker European outcomes. France combines close title races, lower goal differences and relatively balanced finances, while Portugal is characterised by extreme dominance from a small group of wealthy clubs. The fact that both leagues underperform relative to Spain, England and Germany suggests that neither competitive balance nor competitive imbalance alone guarantees European success. Instead, the strongest-performing leagues appear to be those that combine strong elite clubs with sufficient overall league quality to sustain high levels of competition and development over time."
+characteristics_of_leagues_since_1999_2000_one <- "Spain combines strong top-club performance with a heavy reliance on elite attacking players, as shown by the very high contribution from the top three scorers. Although competitive gaps across the league are relatively modest, financial inequality is among the highest of the six leagues, suggesting that a small number of wealthy clubs hold a significant economic advantage. As a result, Spanish football appears to be characterised by influential elite clubs operating within a league that remains reasonably competitive on the pitch. The characteristics mirror what we see in the real world, with financial and competitive dominance of Real Madrid and Barcelona (and to a lesser extent, Atletico Madrid), as well as superstar signings throughout the period."
+characteristics_of_leagues_since_1999_2000_two <- "England combines relatively strong competitive balance at the top of the table with a substantial gap between the Champions League places and the relegation zone. The league's top clubs perform strongly, as shown by the high aggregate goal difference among the top four teams, but financial resources are distributed more evenly than in any of the other leagues, reflected by the lowest Gini coefficient. Overall, England appears to balance strong elite clubs with relatively broad financial strength across the league. This reflects the dominance being spread between the traditional ‘big six’ clubs, with the smaller clubs having more financial resources than counterparts in other leagues due to extensive worldwide TV deals."
+characteristics_of_leagues_since_1999_2000_three <- "Germany combines strong competitive balance near the top of the table with some of the highest-performing champions. Winners typically achieve large goal differences, and the league's strongest clubs remain highly effective despite using fewer players on average than other leagues. Financial inequality is relatively low, indicating that strong on-field performances are achieved within a comparatively balanced economic structure. This is reflective of the strong “50 + 1” rule around ownership, as well as the consistent dominance of Bayern Munich, with Borussia Dortmund running them close on occasion."
+characteristics_of_leagues_since_1999_2000_four <- "Italy presents a relatively balanced profile across most indicators. There is a moderate separation between the leading clubs and the rest of the league, while squad usage is relatively high and a large share of goals comes from the top three scorers. Financial inequality is similar to that of Germany and France, suggesting that economic concentration is present but not to the extent seen in Spain or Portugal. This is reflective of the title winner changing regularly, but largely between the same four clubs, as well as weaker financial power than other countries."
+characteristics_of_leagues_since_1999_2000_five <- "France stands out for having a relatively large gap between first and second place, suggesting that the league winner is often clearly ahead of its closest challenger. However, league-wide dominance is limited, as shown by the low goal differences recorded by its strongest clubs and the small separation between Champions League qualification and relegation places. This is reflective of a league where PSG has often established a clear advantage over the rest of the competition, despite the league's relatively modest financial strength and recent broadcasting revenue challenges, while competition across much of the remaining table remains comparatively balanced."
+characteristics_of_leagues_since_1999_2000_six <- "Portugal exhibits the clearest signs of competitive imbalance. The largest gaps between Champions League qualification and relegation, coupled with the strongest winners' and top-four goal differences, point to a league dominated by a small group of elite clubs. This is reinforced by the highest Gini coefficient, indicating that wealth is heavily concentrated among a few clubs. Portuguese clubs also use the largest squads on average, creating a picture of a league with a pronounced divide between the top teams and the rest. This is clearly seen by the dominance of the same four clubs consistently finishing in the top 4 positions (Porto, Benfica, Sporting CP and Braga)."
+characteristics_of_leagues_extra_one <- "Overall, the pattern of European performance suggests that success is not associated with a single domestic league structure. Spain, the strongest-performing league over the period, combines strong elite clubs, high contributions from star players, and relatively high financial inequality, indicating that concentrated quality at the top can translate into European success. England and Germany also perform strongly, but do so with noticeably different characteristics. England combines strong top-club performance with the most even distribution of wealth, while Germany pairs powerful champions with relatively low financial inequality and consistent squad usage. This suggests there are multiple pathways to European success, ranging from concentrated excellence among elite clubs to broader league-wide strength."
+characteristics_of_leagues_extra_two <- "In contrast, Italy sits in the middle of the European performance rankings and is characterised by moderate values across most measures, reflecting a league that is neither highly concentrated nor exceptionally competitive on any single dimension. France and Portugal, despite representing opposite ends of several domestic characteristics, have generally achieved weaker European outcomes. France combines close gaps between the elite and rest of the league, lower goal differences and relatively balanced finances, while Portugal is characterised by extreme dominance from a small group of wealthy clubs. The fact that both leagues underperform relative to Spain, England and Germany suggests that neither competitive balance nor competitive imbalance alone guarantees European success. Instead, the strongest-performing leagues appear to be those that combine strong elite clubs with sufficient overall league quality to sustain high levels of competition and development over time."
+characteristics <- list(
+ characteristics_of_leagues_since_1999_2000_one,
+ characteristics_of_leagues_since_1999_2000_two,
+ characteristics_of_leagues_since_1999_2000_three,
+ characteristics_of_leagues_since_1999_2000_four,
+ characteristics_of_leagues_since_1999_2000_five,
+ characteristics_of_leagues_since_1999_2000_six
+)
#Performance characteristics
characteristics_of_leagues_grouped_by_performance <- "To explore whether domestic league characteristics differ according to European success, seasons were divided into three equally sized groups based on their level of European performance: low, medium and high performance. The average value of each competitiveness characteristic was then calculated within each group to identify any broad patterns."
-characteristics_of_leagues_grouped_by_performance_one <- "The lowest-performing group is characterised by negative scores across most competitiveness measures, indicating smaller gaps between teams and a more competitively balanced domestic environment. The title race, qualification places, and overall league structure tend to be more closely contested, while top clubs record lower goal differences than the other groups. While this does not prove a causal relationship, it suggests that the most competitive leagues, at least on these measures, tend to be associated with weaker European performance."
-characteristics_of_leagues_grouped_by_performance_two <- "The highest-performing group generally sits at the opposite end of the spectrum, with positive scores for most competitiveness variables. Larger gaps throughout the league and stronger goal differences for champions and top clubs indicate a greater degree of domestic dominance. This pattern is consistent with the idea that leagues containing more dominant elite clubs may be better positioned to compete in Europe, although several other characteristics vary across groups, making it difficult to isolate any single driver of success."
-characteristics_of_leagues_grouped_by_performance_three <- "The middle-performing group presents a mixed picture. Some measures point towards greater competitive balance, while others suggest stronger elite clubs and higher levels of dominance. Compared with the highest-performing group, it tends to have smaller gaps and lower goal differences, but it is generally less competitive than the lowest-performing group. Overall, the progression from Group 1 to Group 2 hints at a relationship where less competitive domestic leagues achieve stronger European results, but the variation across individual characteristics suggests the relationship is neither straightforward nor uniform across all dimensions of competitiveness."
+characteristics_of_leagues_grouped_by_performance_one <- "The lowest-performing group is characterised by negative scores across most competitiveness measures, indicating smaller gaps between teams and a more competitively balanced domestic environment. The title race, qualification places, and overall league structure tend to be more closely contested, while top clubs record lower goal differences than the other groups. While this does not prove a causal relationship, it suggests that the most competitive leagues, at least on these measures, tend to be associated with weaker European performance."
+characteristics_of_leagues_grouped_by_performance_two <- "The highest-performing group generally sits at the opposite end of the spectrum, with positive scores for most competitiveness variables. Larger gaps throughout the league and stronger goal differences for champions and top clubs indicate a greater degree of domestic dominance. This pattern is consistent with the idea that leagues containing more dominant elite clubs may be better positioned to compete in Europe, although several other characteristics vary across groups, making it difficult to isolate any single driver of success."
+characteristics_of_leagues_grouped_by_performance_three <- "The middle-performing group presents a mixed picture. Some measures point towards greater competitive balance, while others suggest stronger elite clubs and higher levels of dominance. Compared with the highest-performing group, it tends to have smaller gaps and lower goal differences, but it is generally less competitive than the lowest-performing group. Overall, the progression hints at a relationship where less competitive domestic leagues achieve stronger European results, but the variation across individual characteristics suggests the relationship is neither straightforward nor uniform across all dimensions of competitiveness."
+basic_profiling_titles <- c(
+ "Characteristics of worst performing European seasons",
+ "Characteristics of best performing European seasons",
+ "Characteristics of middle performing European seasons"
+)
+basic_profiling_text <- list(
+ characteristics_of_leagues_grouped_by_performance_one,
+ characteristics_of_leagues_grouped_by_performance_two,
+ characteristics_of_leagues_grouped_by_performance_three
+)
#Modelling
modelling_one <- "This section moves beyond the descriptive analysis to investigate the relationship between domestic league characteristics and European performance. While the exploratory analysis identified a number of potential patterns, modelling techniques are used to assess the strength and significance of these relationships more formally."
@@ -76,47 +104,85 @@ the_five_principal_components_can_be_broadly_interpreted_as_five <- "- PC5: R
the_five_principal_components_can_be_broadly_interpreted_as_six <- "Together, these components provide a condensed representation of the different dimensions of league competitiveness and are used alongside the theory-driven competitiveness indices to investigate their relationship with European performance."
#Regression
-regression_analysis_one <- "To examine the relationship between domestic league characteristics and European performance, panel regression was used. Panel regression is particularly suited to this dataset as it combines observations across both countries and seasons, allowing variation over time and between leagues to be analysed simultaneously. Two-way fixed effects models were applied, incorporating both country fixed effects and season fixed effects. This approach controls for unobserved characteristics that are constant within each league (such as football culture or league structure) and factors that affect all leagues in a given season (such as changes to European competition formats through the introduction of the League phase and the removal of the Away goals rule). As a result, the analysis focuses on how changes within a particular league over time relate to changes in its European performance."
+regression_analysis_one <- "To examine the relationship between domestic league characteristics and European performance, panel regression was used. Panel regression is particularly suited to this dataset as it combines observations across both countries and seasons, allowing variation over time and between leagues to be analysed simultaneously. Two-way fixed effects models were applied, incorporating both country fixed effects and season fixed effects. This approach controls for unobserved characteristics that are constant within each league (such as football culture or league structure) and factors that affect all leagues in a given season (such as changes to European competition formats through the introduction of the League phase and the removal of the Away goals rule). As a result, the analysis focuses on how changes within a particular league over time relate to changes in its European performance."
regression_analysis_two <- "Three regression specifications were estimated. The first used the original competitiveness variables, excluding variables with high multicollinearity where necessary to avoid distorted coefficient estimates. The second used the principal components generated through PCA, allowing the relationship between broader dimensions of competitiveness and European performance to be assessed. The third used the theory-driven competitiveness indices, examining whether the underlying concepts of competitiveness were more informative than the individual variables themselves."
hidden_click_to_view_more_detailed_description_of_methodology_one <- "To account for potential violations of standard regression assumptions, clustered standard errors were used. These adjust for both heteroskedasticity (non-constant variance of errors) and autocorrelation (correlation of errors across seasons within the same country), providing more reliable estimates of statistical significance. Variable significance was therefore assessed using these robust standard errors rather than conventional regression outputs."
hidden_click_to_view_more_detailed_description_of_methodology_two <- "Multiple regression models were estimated throughout the analysis in order to identify the independent relationship between each competitiveness measure and European performance while controlling for the effects of other variables. This provides greater confidence that observed relationships are not simply driven by omitted factors captured elsewhere in the model. For the competitiveness indices, single regressions were run as each represents a combination of variables so controls for other factors."
hidden_click_to_view_more_detailed_description_of_methodology_three <- "Initially, full models containing all selected variables, principal components, or competitiveness indices were estimated. As a robustness check, additional regressions were then run using only statistically significant variables and those considered theoretically important. Comparing these specifications allowed both model performance and coefficient stability to be assessed. Where appropriate, results presented in this report focus on the best-performing specification, while comparisons between models are used to evaluate the robustness of the findings."
#Regression on same
-on_league_characteristics_and_same_season_s_european_performance_one <- "Across all three modelling approaches, a consistent theme emerges: domestic league competitiveness appears to be negatively associated with European performance. While the explanatory power of the models is relatively modest, the strongest and most consistent relationships suggest that leagues characterised by greater dominance from their leading clubs tend to perform better in European competitions. Larger performance gaps between top clubs and the rest of the league, higher goal differences among elite teams, and greater concentrations of financial resources are generally associated with stronger European outcomes. Conversely, leagues with tighter competition throughout the table, smaller points gaps, and more evenly distributed resources tend to achieve weaker European performance. Although individual variables and indices produce some mixed findings, the overall evidence points towards elite domestic dominance being more beneficial for European success than broad competitive balance."
-on_league_characteristics_and_same_season_s_european_performance_two <- "The results suggest that European performance is strongest in leagues where the leading clubs are particularly dominant. Larger goal differences among the top four clubs and greater financial inequality are both positively associated with European success, indicating that strong elite clubs and concentrated resources may provide an advantage in continental competitions. Similarly, a larger gap between first and second place suggests that a less competitive title race is associated with improved European performance. However, the negative coefficient for the gap between Champions League qualification and relegation and the negative relationship with top-scorer goals indicate that some forms of competitiveness in the wider league may still be beneficial. Overall, the evidence points towards the strength and dominance of elite clubs being more important than maintaining competitive balance across the league as a whole."
-on_league_characteristics_and_same_season_s_european_performance_three <- "PC1, the strongest predictor, primarily captures overall league dominance and inequality, particularly through large points gaps and strong performances from top clubs. Its positive relationship with European performance reinforces the conclusion that less competitive domestic leagues tend to produce better European results. PC4, however, introduces some nuance to this finding. This component reflects greater financial equality and lower concentration among goalscorers, while also containing mixed signals regarding competitiveness across different parts of the league table. The negative coefficient for PC4 suggests that some aspects of equality and tighter competition may be associated with reduced European performance, while some tighter points gaps throughout the league may improve performance. Taken together, the PCA results broadly support the findings from the individual-variable models, although the interpretation is less direct because each component combines multiple underlying characteristics."
-on_league_characteristics_and_same_season_s_european_performance_four <- "The Competitive Balance Index is negatively related to European performance, suggesting that leagues with smaller points gaps, lower top-four goal differences and more evenly distributed wealth generally perform worse in European competition. This finding is supported by the Multi-Level Competitiveness Index, which focuses solely on points differences and also shows a significant negative relationship with performance. Similarly, a more competitive title race is associated with weaker European outcomes. In contrast, the Elite Dominance Index has a positive relationship with European performance, indicating that leagues characterised by dominant top clubs, greater financial concentration and stronger performances from elite teams tend to achieve greater success in Europe. Collectively, these results provide the strongest support for the idea that domestic dominance among elite clubs, rather than league-wide competitive balance, is associated with improved European performance."
+on_league_characteristics_and_same_season_s_european_performance_one <- "Across all three modelling approaches, a consistent theme emerges: domestic league competitiveness appears to be negatively associated with European performance. While the explanatory power of the models is relatively modest, the strongest and most consistent relationships suggest that leagues characterised by greater dominance from their leading clubs tend to perform better in European competitions. Larger performance gaps between top clubs and the rest of the league, higher goal differences among elite teams, and greater concentrations of financial resources are generally associated with stronger European outcomes. Conversely, leagues with tighter competition throughout the table, smaller points gaps, and more evenly distributed resources tend to achieve weaker European performance. Although individual variables and indices produce some mixed findings, the overall evidence points towards elite domestic dominance being more beneficial for European success than broad competitive balance."
+on_league_characteristics_and_same_season_s_european_performance_two <- "The results suggest that European performance is strongest in leagues where the leading clubs are particularly dominant. Larger goal differences among the top four clubs and greater financial inequality are both positively associated with European success, indicating that strong elite clubs and concentrated resources may provide an advantage in continental competitions. Similarly, a larger gap between first and second place suggests that a less competitive title race is associated with improved European performance. However, the negative coefficient for the gap between Champions League qualification and relegation and the negative relationship with top-scorer goals indicate that some forms of competitiveness in the wider league may still be beneficial. Overall, the evidence points towards the strength and dominance of elite clubs being more important than maintaining competitive balance across the league as a whole."
+on_league_characteristics_and_same_season_s_european_performance_three <- "PC1, the strongest predictor, primarily captures overall league dominance and inequality, particularly through large points gaps and strong performances from top clubs. Its positive relationship with European performance reinforces the conclusion that less competitive domestic leagues tend to produce better European results. PC4, however, introduces some nuance to this finding. This component reflects greater financial equality and lower concentration among goalscorers, while also containing mixed signals regarding competitiveness across different parts of the league table. The negative coefficient for PC4 suggests that some aspects of equality and tighter competition may be associated with reduced European performance, while some tighter points gaps throughout the league may improve performance. Taken together, the PCA results broadly support the findings from the individual-variable models, although the interpretation is less direct because each component combines multiple underlying characteristics."
+on_league_characteristics_and_same_season_s_european_performance_four <- "The Competitive Balance Index is negatively related to European performance, suggesting that leagues with smaller points gaps, lower top-four goal differences and more evenly distributed wealth generally perform worse in European competition. This finding is supported by the Multi-Level Competitiveness Index, which focuses solely on points differences and also shows a significant negative relationship with performance. Similarly, a more competitive title race is associated with weaker European outcomes. In contrast, the Elite Dominance Index has a positive relationship with European performance, indicating that leagues characterised by dominant top clubs, greater financial concentration and stronger performances from elite teams tend to achieve greater success in Europe. Collectively, these results provide the strongest support for the idea that domestic dominance among elite clubs, rather than league-wide competitive balance, is associated with improved European performance."
+regression_current_year_titles <- c(
+ "Using all variables (R2 = 0.069)",
+ "Using principal components (R2 = 0.049)",
+ "Using competitive indices (R2 = 0.040)"
+)
+regression_current_year_text <- list(
+ on_league_characteristics_and_same_season_s_european_performance_two,
+ on_league_characteristics_and_same_season_s_european_performance_three,
+ on_league_characteristics_and_same_season_s_european_performance_four
+)
#Regression on next
-on_league_characteristics_and_next_season_s_european_performance_one <- "The lagged analysis examines whether domestic league characteristics in one season are associated with European performance in the following season. Compared with the contemporaneous models, the relationships are generally stronger, with higher R² values across all three modelling approaches. The results provide more consistent evidence that domestic dominance and competitive imbalance may create conditions that support future European success. Larger performance gaps between clubs, greater concentration of goals among leading players, and less equal distributions of wealth are repeatedly associated with stronger European outcomes in the following season. While some findings remain mixed, the lagged models provide stronger support for the argument that dominant domestic environments are linked to improved European performance than the models using European performance from the same season. An explanation for this would be that dominant sides have time to develop in lower pressured environments over multiple seasons, whilst also being able to hold onto their star players and sign others due to strong performance in their domestic leagues."
-on_league_characteristics_and_next_season_s_european_performance_two <- "These results suggest that leagues characterised by larger performance gaps throughout the table tend to achieve stronger European outcomes in the following season. A less competitive title race, greater separation between clubs, larger contributions from elite goalscorers and greater wealth inequality are all associated with improved future European performance. Compared with the current-season model, the findings are more consistent, as all significant variables point towards stronger European performance being associated with greater levels of domestic dominance and concentration."
-on_league_characteristics_and_next_season_s_european_performance_three <- "As with the contemporaneous analysis, PC1 remains the strongest predictor, reinforcing the importance of overall league dominance and separation between elite clubs and the rest of the league. PC3 suggests that greater reliance on leading goalscorers is associated with improved performance, although the component also contains mixed signals relating to player usage and wealth distribution. PC4 continues to display a negative relationship with European performance, indicating that characteristics associated with greater equality may reduce future success. Overall, the PCA results largely support the findings from the current-season analysis, but the relationships are stronger and more consistent when predicting European performance one season ahead."
-on_league_characteristics_and_next_season_s_european_performance_four <- "The Elite Dominance Index emerges as the strongest predictor of future European performance, suggesting that leagues characterised by dominant top clubs, larger gaps between elite and weaker teams, higher top-club goal differences and concentrated financial resources tend to achieve greater European success in the following season. Conversely, the Competitive Balance Index remains negatively related to performance, indicating that more evenly matched leagues tend to perform less well. These findings closely mirror those obtained for current-season European performance, but the relationships are stronger in the lagged models, providing further evidence that domestic dominance may contribute to sustained European success over time."
+on_league_characteristics_and_next_season_s_european_performance_one <- "The lagged analysis examines whether domestic league characteristics in one season are associated with European performance in the following season. Compared with the contemporaneous models, the relationships are generally stronger, with higher R² values across all three modelling approaches. The results provide more consistent evidence that domestic dominance and competitive imbalance may create conditions that support future European success. Larger performance gaps between clubs, greater concentration of goals among leading players, and less equal distributions of wealth are repeatedly associated with stronger European outcomes in the following season. While some findings remain mixed, the lagged models provide stronger support for the argument that dominant domestic environments are linked to improved European performance than the models using European performance from the same season. An explanation for this would be that dominant sides have time to develop in lower pressured environments over multiple seasons, whilst also being able to hold onto their star players and sign others due to strong performance in their domestic leagues."
+on_league_characteristics_and_next_season_s_european_performance_two <- "These results suggest that leagues characterised by larger performance gaps throughout the table tend to achieve stronger European outcomes in the following season. A less competitive title race, greater separation between clubs, larger contributions from elite goalscorers and greater wealth inequality are all associated with improved future European performance. Compared with the current-season model, the findings are more consistent, as all significant variables point towards stronger European performance being associated with greater levels of domestic dominance and concentration."
+on_league_characteristics_and_next_season_s_european_performance_three <- "As with the contemporaneous analysis, PC1 remains the strongest predictor, reinforcing the importance of overall league dominance and separation between elite clubs and the rest of the league. PC3 suggests that greater reliance on leading goalscorers is associated with improved performance, although the component also contains mixed signals relating to player usage and wealth distribution. PC4 continues to display a negative relationship with European performance, indicating that characteristics associated with greater equality may reduce future success. Overall, the PCA results largely support the findings from the current-season analysis, but the relationships are stronger and more consistent when predicting European performance one season ahead."
+on_league_characteristics_and_next_season_s_european_performance_four <- "The Elite Dominance Index emerges as the strongest predictor of future European performance, suggesting that leagues characterised by dominant top clubs, larger gaps between elite and weaker teams, higher top-club goal differences and concentrated financial resources tend to achieve greater European success in the following season. Conversely, the Competitive Balance Index remains negatively related to performance, indicating that more evenly matched leagues tend to perform less well. These findings closely mirror those obtained for current-season European performance, but the relationships are stronger in the lagged models, providing further evidence that domestic dominance may contribute to sustained European success over time."
+regression_next_year_titles <- c(
+ "Using all variables (R2 = 0.128)",
+ "Using principal components (R2 = 0.112)",
+ "Using competitive indices (R2 = 0.090)"
+)
+regression_next_year_text <- list(
+ on_league_characteristics_and_next_season_s_european_performance_two,
+ on_league_characteristics_and_next_season_s_european_performance_three,
+ on_league_characteristics_and_next_season_s_european_performance_four
+)
#Regression by comp
-on_league_characteristics_and_same_season_s_european_performance_by_co_one <- "When European performance is split by competition, the relationship between domestic league characteristics appears to be driven almost entirely by clubs performance in the Champions League. No statistically significant relationships were identified for Europa League performance, suggesting that domestic competitiveness has little measurable impact on success in that competition. In contrast, the Champions League results closely mirror the findings from the overall European performance models, with slightly stronger relationships found. Across all three modelling approaches, the strongest evidence points towards leagues with dominant elite clubs, greater financial inequality and stronger top-team performances achieving better Champions League results. This suggests that the characteristics associated with success in European competition overall are largely being driven by performance at the highest level of continental football."
-on_league_characteristics_and_same_season_s_european_performance_by_co_two <- "The results reinforce several conclusions found in the main analysis. Greater financial inequality and stronger performances from the league's leading clubs, measured through top-four goal difference, are both associated with improved Champions League performance. As with the overall model, the negative relationship between the Champions League-to-relegation gap suggests that some forms of competitiveness below the elite clubs may coexist with European success. Compared with the overall European performance model, the Champions League results place even greater emphasis on the importance of strong elite clubs and concentrated resources, while the role of title-race competitiveness becomes less important."
-on_league_characteristics_and_same_season_s_european_performance_by_co_three <- "The findings are highly consistent with those obtained using overall European performance. PC1 again emerges as the strongest predictor, highlighting the importance of dominance and separation between leading clubs and the rest of the league. PC4 remains negatively associated with performance, suggesting that characteristics linked to greater equality are generally associated with weaker Champions League outcomes. PC3 introduces some uncertainty as it contains a mixture of competitiveness and structural league characteristics, although the overall pattern continues to point towards less competitive domestic environments being linked to stronger Champions League performance."
-on_league_characteristics_and_same_season_s_european_performance_by_co_four <- "These results suggest that leagues characterised by dominant top clubs, strong top-four performances and concentrated financial resources tend to achieve better Champions League outcomes. Conversely, leagues exhibiting greater competitive balance generally achieve weaker results. While the explanatory power of the models is relatively modest, the consistency of these findings with the main regression analysis suggests that the negative relationship between domestic competitiveness and European success is largely driven by performance in the Champions League rather than the Europa League."
+on_league_characteristics_and_same_season_s_european_performance_by_co_one <- "When European performance is split by competition, the relationship between domestic league characteristics appears to be driven almost entirely by clubs performance in the Champions League. No statistically significant relationships were identified for Europa League performance, suggesting that domestic competitiveness has little measurable impact on success in that competition. In contrast, the Champions League results closely mirror the findings from the overall European performance models, with slightly stronger relationships found. Across all three modelling approaches, the strongest evidence points towards leagues with dominant elite clubs, greater financial inequality and stronger top-team performances achieving better Champions League results. This suggests that the characteristics associated with success in European competition overall are largely being driven by performance at the highest level of continental football."
+on_league_characteristics_and_same_season_s_european_performance_by_co_two <- "The results reinforce several conclusions found in the main analysis. Greater financial inequality and stronger performances from the league's leading clubs, measured through top-four goal difference, are both associated with improved Champions League performance. As with the overall model, the negative relationship between the Champions League-to-relegation gap suggests that some forms of competitiveness below the elite clubs may coexist with European success. Compared with the overall European performance model, the Champions League results place even greater emphasis on the importance of strong elite clubs and concentrated resources, while the role of title-race competitiveness becomes less important."
+on_league_characteristics_and_same_season_s_european_performance_by_co_three <- "The findings are highly consistent with those obtained using overall European performance. PC1 again emerges as the strongest predictor, highlighting the importance of dominance and separation between leading clubs and the rest of the league. PC4 remains negatively associated with performance, suggesting that characteristics linked to greater equality are generally associated with weaker Champions League outcomes. PC3 introduces some uncertainty as it contains a mixture of competitiveness and structural league characteristics, although the overall pattern continues to point towards less competitive domestic environments being linked to stronger Champions League performance."
+on_league_characteristics_and_same_season_s_european_performance_by_co_four <- "These results suggest that leagues characterised by dominant top clubs, strong top-four performances and concentrated financial resources tend to achieve better Champions League outcomes. Conversely, leagues exhibiting greater competitive balance generally achieve weaker results. While the explanatory power of the models is relatively modest, the consistency of these findings with the main regression analysis suggests that the negative relationship between domestic competitiveness and European success is largely driven by performance in the Champions League rather than the Europa League."
+regression_competition_titles <- c(
+ "Using all variables (R2 = 0.099)",
+ "Using principal components (R2 = 0.049)",
+ "Using competitive indices (R2 = 0.042)"
+)
+regression_competition_text <- list(
+ on_league_characteristics_and_same_season_s_european_performance_by_co_two,
+ on_league_characteristics_and_same_season_s_european_performance_by_co_three,
+ on_league_characteristics_and_same_season_s_european_performance_by_co_four
+)
#Clustering
clustering_to_group_similar_seasons_together_one <- "K-means clustering was used as an unsupervised machine learning technique to group together seasons with similar domestic competitiveness characteristics. Unlike panel regression, it does not test the statistical significance of individual variables. Instead, it identifies whether certain combinations of league characteristics naturally appear together across seasons."
clustering_to_group_similar_seasons_together_two <- "After the clusters were created, the average European performance and next-season European performance were calculated for each group. The average league characteristics within each cluster were then compared to assess whether certain competitiveness profiles were associated with stronger or weaker European outcomes. This was applied using three approaches: all individual variables, the principal components, and the theory-driven competitiveness indices. The competitiveness indices produced the clearest cluster separation, although all approaches showed broadly similar trends."
-clustering_to_group_similar_seasons_together_three <- "Overall, the clustering results support the pattern found in the regression analysis. When the number of clusters was set to two, the distinction was mainly between competitive leagues, with smaller or negative values across most variables, and less competitive leagues, with larger positive values showing greater separation between clubs. The less competitive cluster consistently achieved higher European performance, both in the current season and the following season. However, the differences in average European performance between some clusters are not especially large, so these results should be interpreted as descriptive patterns rather than statistically significant evidence. The clearest exception is that the least competitive cluster is consistently associated with higher European performance, particularly in the following season."
-radar_plots_for_clusters_one <- "This group performs best overall, particularly in the following European season. It is characterised by large gaps between first and second place and between first and the Champions League places, suggesting that the leading club is often clearly ahead domestically. However, the gap between Champions League qualification and relegation is relatively small, and the Gini coefficient is low. This suggests a league where the title race may be less competitive, but there is still some competitiveness across the rest of the league. This profile appears to be favourable for European performance, potentially because elite clubs are strong enough to compete in Europe while still operating in a reasonably competitive domestic environment. The clearest example is England in 2004/05, when Chelsea were runaway league winners and set a record for the fewest goals conceded in a Premier League season. Despite Chelsea's dominance, wealth distribution and the points gap between the top four and the rest of the league remained relatively balanced. English clubs also performed strongly in Europe, with Liverpool winning the Champions League and Arsenal reaching the final the following season."
-radar_plots_for_clusters_two <- "This group also performs well in the current European season, although its next-season performance is weaker than Cluster 1. This group shows signs of stronger elite dominance, with high top-four goal difference, high goals from top scorers, a larger gap between Champions League qualification and relegation, and the highest Gini coefficient. However, the gap between the top two sides is relatively small, reflecting a tight title battle. This suggests a league where a small number of wealthy and high-performing clubs are clearly separated from the rest. The strong current European performance supports the idea that dominant elite clubs can drive continental success, although the weaker performance in the next season suggests this advantage may be less consistent over time. Spain in 2015/16 typifies this cluster. Despite a title race in which the top three teams finished within three points of one another, Barcelona and Real Madrid recorded exceptional goal differences (83 and 76 respectively), while Luis Suárez, Cristiano Ronaldo and Lionel Messi scored a combined 101 league goals. European performance was equally impressive, with Real Madrid and Atlético Madrid contesting the Champions League final, while Sevilla won the Europa League and Villarreal reached the semi-finals."
-radar_plots_for_clusters_three <- "This group performs worst in both current and next-season European performance. It has negative values across most characteristics, including smaller points gaps, lower winners' and top-four goal differences, fewer players used, fewer goals from top scorers, and lower wealth inequality. This suggests the most competitively balanced league profile, where clubs are more evenly matched throughout the table. While this may indicate a healthier domestic competitive structure, it appears to be associated with weaker European performance, supporting the wider finding that highly competitive leagues may not necessarily produce the strongest European outcomes. A clear example is the Premier League in 2015/16, when Leicester City won the league for the first time despite beginning the season as outsiders, with the lowest points tally of a winner since 2010/11. The season was characterised by relatively small gaps between clubs and a lack of sustained dominance from the traditional elite teams. English clubs subsequently performed relatively poorly in European competitions both during that season and in the following campaign, making it a strong illustration of this cluster's characteristics."
-radar_plots_for_clusters_overall <- "Taken together, the clustering suggests that the strongest European performance is generally found in leagues that are not fully competitive throughout, but also not necessarily dominated in every area. The best-performing profiles tend to combine some form of elite strength with either a closer gap between the Champions League places and the rest of the league, or a more competitive title race. In contrast, the most balanced leagues, where points gaps, goal differences and wealth inequality are all relatively low, tend to perform worst in Europe. This supports the broader conclusion that European success is more closely associated with the strength and dominance of leading clubs than with domestic competitive balance across the league as a whole."
+clustering_to_group_similar_seasons_together_three <- "Overall, the clustering results support the pattern found in the regression analysis. When the number of clusters was set to two, the distinction was mainly between competitive leagues, with smaller or negative values across most variables, and less competitive leagues, with larger positive values showing greater separation between clubs. The less competitive cluster consistently achieved higher European performance, both in the current season and the following season. However, the differences in average European performance between some clusters are not especially large, so these results should be interpreted as descriptive patterns rather than statistically significant evidence. The clearest exception is that the most competitive cluster is consistently associated with lower European performance, particularly in the following season."
+radar_plots_for_clusters_one <- "This group performs best overall, particularly in the following European season. It is characterised by large gaps between first and second place and between first and the Champions League places, suggesting that the leading club is often clearly ahead domestically. However, the gap between Champions League qualification and relegation is relatively small, and the Gini coefficient is low. This suggests a league where the title race may be less competitive, but there is still some competitiveness across the rest of the league. This profile appears to be favourable for European performance, potentially because elite clubs are strong enough to compete in Europe while still operating in a reasonably competitive domestic environment. The clearest example is England in 2004/05, when Chelsea were runaway league winners and set a record for the fewest goals conceded in a Premier League season. Despite Chelsea's dominance, wealth distribution and the points gap between the top four and the rest of the league remained relatively balanced. English clubs also performed strongly in Europe, with Liverpool winning the Champions League and Arsenal reaching the final the following season."
+radar_plots_for_clusters_two <- "This group also performs well in the current European season, although its next-season performance is weaker than the cluster above. This group shows signs of stronger elite dominance, with high top-four goal difference, high goals from top scorers, a larger gap between Champions League qualification and relegation, and the highest Gini coefficient. However, the gap between the top two sides is relatively small, reflecting a tight title battle. This suggests a league where a small number of wealthy and high-performing clubs are clearly separated from the rest. The strong current European performance supports the idea that dominant elite clubs can drive continental success, although the weaker performance in the next season suggests this advantage may be less consistent over time. Spain in 2015/16 typifies this cluster. Despite a title race in which the top three teams finished within three points of one another, Barcelona and Real Madrid recorded exceptional goal differences (83 and 76 respectively), while Luis Suárez, Cristiano Ronaldo and Lionel Messi scored a combined 101 league goals. European performance was equally impressive, with Real Madrid and Atlético Madrid contesting the Champions League final, while Sevilla won the Europa League and Villarreal reached the semi-finals."
+radar_plots_for_clusters_three <- "This group performs worst in both current and next-season European performance. It has negative values across most characteristics, including smaller points gaps, lower winners' and top-four goal differences, fewer players used, fewer goals from top scorers, and lower wealth inequality. This suggests the most competitively balanced league profile, where clubs are more evenly matched throughout the table. While this may indicate a healthier domestic competitive structure, it appears to be associated with weaker European performance, supporting the wider finding that highly competitive leagues may not necessarily produce the strongest European outcomes. A clear example is the Premier League in 2015/16, when Leicester City won the league for the first time despite beginning the season as outsiders, with the lowest points tally of a winner since 2010/11. The season was characterised by relatively small gaps between clubs and a lack of sustained dominance from the traditional elite teams. English clubs subsequently performed relatively poorly in European competitions both during that season and in the following campaign, making it a strong illustration of this cluster's characteristics."
+radar_plots_for_clusters_overall <- "Taken together, the clustering suggests that the strongest European performance is generally found in leagues that are not fully competitive throughout, but also not necessarily dominated in every area. The best-performing profiles tend to combine some form of elite strength with either a closer gap between the Champions League places and the rest of the league, or a more competitive title race. In contrast, the most balanced leagues, where points gaps, goal differences and wealth inequality are all relatively low, tend to perform worst in Europe. This supports the broader conclusion that European success is more closely associated with the strength and dominance of leading clubs than with domestic competitive balance across the league as a whole."
+clustering_titles <- c(
+ "Runaway winners with tighter competition throughout",
+ "Compeititve title but top clubs dominant",
+ "Most competitive league profile"
+)
+clustering_text <- list(
+ radar_plots_for_clusters_one,
+ radar_plots_for_clusters_two,
+ radar_plots_for_clusters_three
+)
#Conclusion
-overall_conclusion_one <- "The results suggest that domestic competitiveness and European performance are related, although the relationship is neither simple nor driven by a single characteristic. Across the exploratory analysis, the strongest-performing leagues generally exhibited larger gaps between clubs, stronger performances among the top teams, or greater concentrations of financial resources than lower-performing leagues. At the same time, the leading European leagues displayed a variety of domestic structures, indicating that there is no single model for success."
+overall_conclusion_one <- "Across multiple analytical approaches, the findings suggest that the domestic characteristics most closely associated with European success are generally those reflecting lower levels of competitiveness across the league as a whole. Leagues characterised by larger performance gaps, stronger top-club dominance and greater financial concentration tended to achieve higher levels of European performance than leagues where clubs were more evenly matched. However, the relationship is neither universal nor deterministic, and there is no single domestic structure that guarantees success. While competitiveness appears to be one factor associated with European performance, the relatively modest explanatory power of the models suggests that many other sporting, financial and organisational factors also play an important role. While this relationship should not be interpreted as causal, it represents a recurring pattern throughout the period analysed and offers insight into how different competitive environments may relate to success in European football."
overall_conclusion_two <- "The regression analysis found a broadly consistent relationship between European performance and measures associated with lower competitiveness, including larger points gaps, greater top-club goal differences and higher levels of wealth concentration. Conversely, variables and indices representing competitive balance, such as smaller gaps throughout the league table and more equal resource distribution, were often associated with lower European performance. These patterns were evident across the original variables, principal components and theory-driven competitiveness indices, with the latter providing the most consistent results."
overall_conclusion_three <- "An even stronger relationship was found when analysing the relationship between league characteristics and performance in the following European season. This suggests that domestic dominance may not only coincide with European success, but may also help create conditions for future performance. Leagues where top clubs are already dominant domestically may allow those clubs to build confidence, manage squads more effectively, attract and retain stronger players, and sustain performance across multiple competitions."
overall_conclusion_four <- "Analysis by competition further indicated that this relationship is primarily driven by the Champions League. While significant relationships were identified for Champions League performance, no significant relationships were found for Europa League performance. This suggests that domestic league structure has a stronger connection with performance at the highest level of European club football than in secondary competitions."
overall_conclusion_five <- "The clustering analysis reinforced these findings by grouping seasons with similar competitiveness characteristics. The most competitively balanced cluster consistently produced the weakest European performance in both the current and subsequent season. In contrast, clusters characterised by greater separation between clubs generally achieved stronger European outcomes. However, the best-performing clusters were not necessarily those displaying the greatest lack of competitiveness in every dimension. Rather, they tended to combine some degree of domestic dominance with competitiveness in specific areas of the league, such as tighter competition among elite clubs or a smaller gap between European qualification places and the rest of the table."
-overall_conclusion_six <- "Taken together, the findings suggest that the domestic characteristics most closely associated with European success are generally those reflecting lower levels of competitiveness across the league as a whole. Leagues characterised by larger performance gaps, stronger top-club dominance and greater financial concentration tended to achieve higher levels of European performance than leagues where clubs were more evenly matched. However, the relatively modest explanatory power of the models indicates that competitiveness alone explains only part of European success, and that many other sporting, financial and organisational factors are also likely to play an important role."
-overall_conclusion_seven <- "Overall, the analysis provides evidence of a consistent association between domestic league structure and European performance. Across multiple analytical approaches, the results suggest that seasons characterised by lower overall competitiveness tend to be associated with stronger European outcomes, particularly in the Champions League. While this relationship should not be interpreted as causal, it represents a recurring pattern throughout the period analysed and offers insight into how different competitive environments may relate to success in European football."
#Limitations
limitations_one <- "Some limitations should be considered when interpreting the findings of this analysis."
diff --git a/ui.R b/ui.R
index 5819a6c..60fbe97 100644
--- a/ui.R
+++ b/ui.R
@@ -74,7 +74,12 @@ ui <- fluidPage(
tags$li(tags$a(href = "#clustering", tags$strong("Clustering to group similar seasons together")))
),
tags$li(tags$a(href = "#conclusion", tags$strong("Conclusion")))
- )
+ ),
+ div(
+ style = "display: flex; justify-content: space-between; align-items: center; margin-top: 20px;",
+ p(style = "margin: 0;", paste0(name)),
+ p(style = "margin: 0;", date)
+ )
),
br(),
@@ -91,8 +96,7 @@ ui <- fluidPage(
tags$h2(paste0("Motivation"), style = "font-weight: bold; text-align: center;"),
p(style = "margin-top: 5px; white-space: normal;", HTML(motivation_one)),
p(style = "margin-top: 5px;", paste0(motivation_two)),
- p(style = "margin-top: 5px;", paste0(motivation_three)),
- p(style = "margin-top: 20px;", paste0(date))
+ p(style = "margin-top: 5px;", paste0(motivation_three))
)
),
@@ -128,36 +132,26 @@ ui <- fluidPage(
),
tags$article(
- div(class="time_plot text-article", `data-width`="1",`data-index`="0",
- p(strong(" Spanish teams European performance "),
+ lapply(seq_along(league_names), function(i) {
+ div(
+ class = "time_plot text-article",
+ `data-width` = "1",
+ `data-index` = i - 1,
+ p(
+ tags$u(
+ paste0(
+ " ",
+ league_names[i],
+ " teams European performance "
+ )
+ ),
br(),
- europe_s_top_6_leagues_european_performance_since_1999_2000_one)),
-
- div(class="time_plot text-article", `data-width`="1",`data-index`="1",
- p(strong(" English teams European performance "),
- br(),
- europe_s_top_6_leagues_european_performance_since_1999_2000_two)),
-
- div(class="time_plot text-article", `data-width`="1",`data-index`="2",
- p(strong(" German teams European performance "),
- br(),
- europe_s_top_6_leagues_european_performance_since_1999_2000_three)),
-
- div(class="time_plot text-article", `data-width`="1",`data-index`="3",
- p(strong(" Italian teams European performance "),
- br(),
- europe_s_top_6_leagues_european_performance_since_1999_2000_four)),
-
- div(class="time_plot text-article", `data-width`="1",`data-index`="4",
- p(strong(" French teams European performance "),
- br(),
- europe_s_top_6_leagues_european_performance_since_1999_2000_five)),
-
- div(class="time_plot text-article", `data-width`="1",`data-index`="5",
- p(strong(" Portuguese teams European performance "),
- br(),
- europe_s_top_6_leagues_european_performance_since_1999_2000_six))
- ))
+ HTML(performance_text[[i]])
+ )
+ )
+ })
+ )
+ )
),
br(),
@@ -209,36 +203,20 @@ ui <- fluidPage(
),
tags$article(
- div(class="league_averages_plot text-article", `data-width`="1",`data-index`="0",
- p(strong(" Spanish teams European performance "),
+ lapply(seq_along(league_names), function(i) {
+ div(
+ class = "league_averages_plot text-article",
+ `data-width` = "1",
+ `data-index` = i - 1,
+ p(
+ tags$u(paste0(" ", league_names[i], " league characteristics ")),
br(),
- characteristics_of_leagues_since_1999_2000_one)),
-
- div(class="league_averages_plot text-article", `data-width`="1",`data-index`="1",
- p(strong(" English teams European performance "),
- br(),
- characteristics_of_leagues_since_1999_2000_two)),
-
- div(class="league_averages_plot text-article", `data-width`="1",`data-index`="2",
- p(strong(" German teams European performance "),
- br(),
- characteristics_of_leagues_since_1999_2000_three)),
-
- div(class="league_averages_plot text-article", `data-width`="1",`data-index`="3",
- p(strong(" Italian teams European performance "),
- br(),
- characteristics_of_leagues_since_1999_2000_four)),
-
- div(class="league_averages_plot text-article", `data-width`="1",`data-index`="4",
- p(strong(" French teams European performance "),
- br(),
- characteristics_of_leagues_since_1999_2000_five)),
-
- div(class="league_averages_plot text-article", `data-width`="1",`data-index`="5",
- p(strong(" Portuguese teams European performance "),
- br(),
- characteristics_of_leagues_since_1999_2000_six))
- ))
+ HTML(characteristics[[i]])
+ )
+ )
+ })
+ )
+ )
),
br(),
@@ -246,8 +224,8 @@ ui <- fluidPage(
tags$header(class="colourheader3",
tags$div(class="paddeddiv",style="position: relative;",
- p(style="margin-top: 5px;",paste0(characteristics_of_leagues_extra_one)),
- p(style="margin-top: 5px;",paste0(characteristics_of_leagues_extra_two))
+ p(style="margin-top: 5px;",HTML(characteristics_of_leagues_extra_one)),
+ p(style="margin-top: 5px;",HTML(characteristics_of_leagues_extra_two))
)
),
@@ -272,21 +250,26 @@ ui <- fluidPage(
),
tags$article(
- div(class="basic_profiling_plot text-article", `data-width`="1",`data-index`="0",
- p(strong(" Characteristics of worst performing European seasons "),
+ lapply(seq_along(basic_profiling_titles), function(i) {
+ div(
+ class = "basic_profiling_plot text-article",
+ `data-width` = "1",
+ `data-index` = i - 1,
+ p(
+ tags$u(
+ paste0(
+ " ",
+ basic_profiling_titles[i],
+ " "
+ )
+ ),
br(),
- characteristics_of_leagues_grouped_by_performance_one)),
-
- div(class="basic_profiling_plot text-article", `data-width`="1",`data-index`="1",
- p(strong(" Characteristics of best performing European seasons "),
- br(),
- characteristics_of_leagues_grouped_by_performance_two)),
-
- div(class="basic_profiling_plot text-article", `data-width`="1",`data-index`="2",
- p(strong(" Characteristics of middle performing European seasons "),
- br(),
- characteristics_of_leagues_grouped_by_performance_three))
- ))
+ HTML(basic_profiling_text[[i]])
+ )
+ )
+ })
+ )
+ )
),
br(),
@@ -354,8 +337,8 @@ ui <- fluidPage(
tags$header(id = "regression", class="colourheader2",
tags$div(class="paddeddiv",style="position: relative;",
tags$h2(paste0("Regression analysis"), style = "font-weight: bold; text-align: center;"),
- p(style="margin-top: 5px;",paste0(regression_analysis_one)),
- p(style="margin-top: 5px;",paste0(regression_analysis_two)),
+ p(style="margin-top: 5px;",HTML(regression_analysis_one)),
+ p(style="margin-top: 5px;",HTML(regression_analysis_two)),
tags$button(
class = "btn btn-light mt-3 detail-toggle-btn-black",
type = "button",
@@ -381,7 +364,7 @@ ui <- fluidPage(
tags$header(id = "regression_current_year", class="colourheader3",
tags$div(class="paddeddiv",style="position: relative;",
tags$h2(paste0("Regression analysis on league characteristics and same season's European performance"), style = "font-weight: bold; text-align: center;"),
- p(style = "margin-top: 5px;", paste0(on_league_characteristics_and_same_season_s_european_performance_one))
+ p(style = "margin-top: 5px;", HTML(on_league_characteristics_and_same_season_s_european_performance_one))
)
),
@@ -396,21 +379,26 @@ ui <- fluidPage(
),
tags$article(
- div(class="regression_current_year_plot text-article", `data-width`="1",`data-index`="0",
- p(strong(" Using all variables (R2 = 0.069) "),
+ lapply(seq_along(regression_current_year_titles), function(i) {
+ div(
+ class = "regression_current_year_plot text-article",
+ `data-width` = "1",
+ `data-index` = i - 1,
+ p(
+ tags$u(
+ paste0(
+ " ",
+ regression_current_year_titles[i],
+ " "
+ )
+ ),
br(),
- on_league_characteristics_and_same_season_s_european_performance_two)),
-
- div(class="regression_current_year_plot text-article", `data-width`="1",`data-index`="1",
- p(strong(" Using principle components (R2 = 0.049) "),
- br(),
- on_league_characteristics_and_same_season_s_european_performance_three)),
-
- div(class="regression_current_year_plot text-article", `data-width`="1",`data-index`="2",
- p(strong(" Using competitive indices (R2 = 0.040) "),
- br(),
- on_league_characteristics_and_same_season_s_european_performance_four))
- ))
+ HTML(regression_current_year_text[[i]])
+ )
+ )
+ })
+ )
+ )
),
br(),
@@ -420,7 +408,7 @@ ui <- fluidPage(
tags$header(id = "regression_next_year", class="colourheader3",
tags$div(class="paddeddiv",style="position: relative;",
tags$h2(paste0("Regression analysis on league characteristics and next season's European performance"), style = "font-weight: bold; text-align: center;"),
- p(style = "margin-top: 5px;", paste0(on_league_characteristics_and_next_season_s_european_performance_one))
+ p(style = "margin-top: 5px;", HTML(on_league_characteristics_and_next_season_s_european_performance_one))
)
),
@@ -435,21 +423,26 @@ ui <- fluidPage(
),
tags$article(
- div(class="regression_next_year_plot text-article", `data-width`="1",`data-index`="0",
- p(strong(" Using all variables (R2 = 0.128) "),
+ lapply(seq_along(regression_next_year_titles), function(i) {
+ div(
+ class = "regression_next_year_plot text-article",
+ `data-width` = "1",
+ `data-index` = i - 1,
+ p(
+ tags$u(
+ paste0(
+ " ",
+ regression_next_year_titles[i],
+ " "
+ )
+ ),
br(),
- on_league_characteristics_and_next_season_s_european_performance_two)),
-
- div(class="regression_next_year_plot text-article", `data-width`="1",`data-index`="1",
- p(strong(" Using principle components (R2 = 0.112) "),
- br(),
- on_league_characteristics_and_next_season_s_european_performance_three)),
-
- div(class="regression_next_year_plot text-article", `data-width`="1",`data-index`="2",
- p(strong(" Using competitive indices (R2 = 0.090) "),
- br(),
- on_league_characteristics_and_next_season_s_european_performance_four))
- ))
+ HTML(regression_next_year_text[[i]])
+ )
+ )
+ })
+ )
+ )
),
br(),
@@ -459,7 +452,7 @@ ui <- fluidPage(
tags$header(id = "regression_competition", class="colourheader3",
tags$div(class="paddeddiv",style="position: relative;",
tags$h2(paste0("Regression analysis on league characteristics and same season's European performance by competition"), style = "font-weight: bold; text-align: center;"),
- p(style = "margin-top: 5px;", paste0(on_league_characteristics_and_same_season_s_european_performance_by_co_one))
+ p(style = "margin-top: 5px;", HTML(on_league_characteristics_and_same_season_s_european_performance_by_co_one))
)
),
@@ -474,21 +467,26 @@ ui <- fluidPage(
),
tags$article(
- div(class="regression_competition_plot text-article", `data-width`="1",`data-index`="0",
- p(strong(" Using all variables (R2 = 0.099) "),
+ lapply(seq_along(regression_competition_titles), function(i) {
+ div(
+ class = "regression_competition_plot text-article",
+ `data-width` = "1",
+ `data-index` = i - 1,
+ p(
+ tags$u(
+ paste0(
+ " ",
+ regression_competition_titles[i],
+ " "
+ )
+ ),
br(),
- on_league_characteristics_and_same_season_s_european_performance_by_co_two)),
-
- div(class="regression_competition_plot text-article", `data-width`="1",`data-index`="1",
- p(strong(" Using principle components (R2 = 0.049) "),
- br(),
- on_league_characteristics_and_same_season_s_european_performance_by_co_three)),
-
- div(class="regression_competition_plot text-article", `data-width`="1",`data-index`="2",
- p(strong(" Using competitive indices (R2 = 0.042) "),
- br(),
- on_league_characteristics_and_same_season_s_european_performance_by_co_four))
- ))
+ HTML(regression_competition_text[[i]])
+ )
+ )
+ })
+ )
+ )
),
br(),
@@ -498,9 +496,9 @@ ui <- fluidPage(
tags$header(id = "clustering", class="colourheader2",
tags$div(class="paddeddiv",style="position: relative;",
tags$h2(paste0("Clustering to group similar seasons together"), style = "font-weight: bold; text-align: center;"),
- p(style = "margin-top: 5px;", paste0(clustering_to_group_similar_seasons_together_one)),
- p(style = "margin-top: 5px;", paste0(clustering_to_group_similar_seasons_together_two)),
- p(style = "margin-top: 5px;", paste0(clustering_to_group_similar_seasons_together_three))
+ p(style = "margin-top: 5px;", HTML(clustering_to_group_similar_seasons_together_one)),
+ p(style = "margin-top: 5px;", HTML(clustering_to_group_similar_seasons_together_two)),
+ p(style = "margin-top: 5px;", HTML(clustering_to_group_similar_seasons_together_three))
)
),
@@ -515,21 +513,26 @@ ui <- fluidPage(
),
tags$article(
- div(class="clustering_plot text-article", `data-width`="1",`data-index`="0",
- p(strong(" Elite competition with wider league separation "),
+ lapply(seq_along(clustering_titles), function(i) {
+ div(
+ class = "clustering_plot text-article",
+ `data-width` = "1",
+ `data-index` = i - 1,
+ p(
+ tags$u(
+ paste0(
+ " ",
+ clustering_titles[i],
+ " "
+ )
+ ),
br(),
- radar_plots_for_clusters_one)),
-
- div(class="clustering_plot text-article", `data-width`="1",`data-index`="1",
- p(strong(" Elite dominance across the league "),
- br(),
- radar_plots_for_clusters_two)),
-
- div(class="clustering_plot text-article", `data-width`="1",`data-index`="2",
- p(strong(" Most competitive league profile "),
- br(),
- radar_plots_for_clusters_three))
- ))
+ HTML(clustering_text[[i]])
+ )
+ )
+ })
+ )
+ )
),
br(),
@@ -537,7 +540,7 @@ ui <- fluidPage(
tags$header(class="colourheader3",
tags$div(class="paddeddiv",style="position: relative;",
- p(style = "margin-top: 5px;", paste0(radar_plots_for_clusters_overall))
+ p(style = "margin-top: 5px;", HTML(radar_plots_for_clusters_overall))
)
),
@@ -559,9 +562,7 @@ ui <- fluidPage(
overall_conclusion_two,
overall_conclusion_three,
overall_conclusion_four,
- overall_conclusion_five,
- overall_conclusion_six,
- overall_conclusion_seven
+ overall_conclusion_five
),
function(x) {
p(
@@ -631,19 +632,6 @@ ui <- fluidPage(
)
),
- br(),
- br(),
-
- #### ending section ####
-
- tags$header(class="colourheader",
- style="background:#010056 ; color:white;",
- tags$div(class="paddeddiv",style="position: relative;",
- tags$h1(paste0(title)),
- tags$h3(name),
- tags$h3(date))
- ),
-
#### expandable/collapsable text function ####
diff --git a/www/css.css b/www/css.css
index 30aaa79..4d7f552 100644
--- a/www/css.css
+++ b/www/css.css
@@ -195,6 +195,8 @@ input:checked + .slider:before {
position: relative;
width: 100%;
height: 100%;
+ overflow-x: hidden;
+ max-width: 100%;
}
@@ -272,12 +274,12 @@ input:checked + .slider:before {
.text-big {
- font-size: 15px;
+ font-size: 18px;
margin: 20px 0;
}
.text-article{
- font-size: 15px;
+ font-size: 18px;
margin: 10px 0;
}
@@ -441,7 +443,6 @@ input:checked + .slider:before {
flex-direction: column;
justify-content: center;
width: 100%;
- max-width: 980px;
margin: 0 24px;
}
@@ -489,7 +490,6 @@ input:checked + .slider:before {
flex-direction: column;
justify-content: center;
width: 100%;
- max-width: 980px;
margin: 0 24px;
}
@@ -508,11 +508,6 @@ input:checked + .slider:before {
.text-indent {
margin-left: 30px;
}
-
-.selectize-input { font-size: 16px; line-height: 16px;}
-.selectize-dropdown { font-size: 16px; line-height: 16px; }
-
-.sankey-link:hover { fill-opacity: 0.75 !important; }
.plotly .hoverlayer .hovertext { fill-opacity: 1 !important; stroke-opacity: 1 !important; }
@@ -539,7 +534,7 @@ input:checked + .slider:before {
pointer-events: none !important;
}
-/* Make cut 1 over time larger on mobile screen*/
+/* Make plots longer on mobile screen*/
@media screen and (max-width: 767px){
.scrolly figure.sticky {
height: 60vh !important;
@@ -549,5 +544,12 @@ input:checked + .slider:before {
.scrolly figure.sticky .plotly {
height: 100% !important;
}
+
}
+/* Make plots not wider than screen length*/
+.plotly,
+.plot-container,
+.svg-container {
+ max-width: 100% !important;
+}