This is an R Markdown document that hopefully takes the place of a Stata do and log file by combining the important bits of both. It allows me to show the code I use (in case it’s intelligible and useful to determine any mistakes I’ve made), as well as the output (some plots, and regression outputs).
The purpose is to run some regression models of non-TV revenues on various regional variables we have, from basic regional fixed effects to club-specific fanbase measures to regional GVA growth rates and levels. I also run a quick regression to explore trends in TV revenues over the years.
In the following section I’ve set out the various bits of code I’ve used to load up the data and merge various datasets to get things ready to go.
##location of files
loc <- "/Users/jjreade/Dropbox/Research/Sport/English Football/"
##load up geographic information on clubs
club.geog.pol <- read.csv(paste0(loc,"Data/clubs-regions.csv"),stringsAsFactors=FALSE)
club.geog.pol$X <- NULL
correspond <- club.geog.pol[,1:2]
colnames(correspond) <- c("team","Club")
##load attendance panel dataset (from euro-attendances website)
att.panel <- read.csv(paste0(loc,"Data/att-panel.csv"),stringsAsFactors = FALSE)
att.panel$X <- NULL ##remove useless variable
##merge in geographic information
att.panel$team <- gsub("^(\\w+)[.]html$","\\1",att.panel$team)
att.panel <- merge(att.panel,correspond,by=c("team"),all.x=TRUE)
colnames(att.panel)[2] <- "Year.Finish"
##load up PL TV revenues data
tv.rev <- read.csv(paste0(loc,"Data/EPL-TV-rev.csv"), stringsAsFactors = FALSE)
colnames(tv.rev) <- c("Year.Finish","Club","PL.TV.money")
##merge in position data from att.panel (data from Stefan has some holes - where no revenue data exist? E.g. Barnsley)
tv.rev$Club <- tolower(tv.rev$Club)
tv.rev <- merge(tv.rev,att.panel[,c("Club","Year.Finish","pos","level","overall.pos")],by=c("Club","Year.Finish"),all.x=TRUE)
tv.rev$overall.pos <- as.numeric(tv.rev$overall.pos)
tv.rev$not.in.prem <- tv.rev$overall.pos>20
tv.rev$Year <- as.character(tv.rev$Year.Finish)
##load up full revenue data
eng.lge <- read.csv(paste0(loc,"Data/wage_rev_pos_fanbase3_English_leagues_1947-2015.csv"),stringsAsFactors = FALSE)
Visualising the TV money over time, this plot has the overall rank of a team (hence not all PL teams where it’s parachute payments), and the logged amount of money they got. I took logs to try and provide a better sense of the relative profile of payments given the inflation in monetary terms over the years. The dots are the amounts of money going to teams finishing in particular positions, and the lines link up a particular season’s payments.
A negative slope shows the merit based payments to teams based on league position. The slope reflects the extent of `redistribution’ of money. It looks flatter at the top, which are the more recent years.
I wanted to do this just to look at the extent to which the playing field has been levelling itself out over the years, in case we want to change the variable we use from a step dummy.
The following regression interacts the position with a year dummy such that we allow the incremental payments per position to vary each year. In addition, with parachute payments in the model, I’ve interacted also with whether a team was in the Premier League. There are a lot of coefficients, but the interesting ones are on overall position (the percentage increment per league position), and the interaction with each year, such as overall.pos:Year1994, which tells us whether or not the increment has changed. So, for example, overall.pos:Year2015 is the change in the increment for 2015.
tv.reg <- lm(log(PL.TV.money) ~ overall.pos*Year*not.in.prem,data=tv.rev)
stargazer::stargazer(tv.reg, type = "html",
title = "TV revenues over time")
| Dependent variable: | |
| log(PL.TV.money) | |
| overall.pos | -0.039*** |
| (0.007) | |
| Year1994 | 0.112 |
| (0.125) | |
| Year1995 | 0.243* |
| (0.125) | |
| Year1996 | 0.495*** |
| (0.125) | |
| Year1997 | 0.751*** |
| (0.125) | |
| Year1998 | 1.200*** |
| (0.125) | |
| Year1999 | 1.378*** |
| (0.125) | |
| Year2000 | 1.372*** |
| (0.125) | |
| Year2001 | 1.944*** |
| (0.125) | |
| Year2002 | 2.220*** |
| (0.125) | |
| Year2003 | 2.334*** |
| (0.125) | |
| Year2004 | 2.574*** |
| (0.125) | |
| Year2005 | 2.249*** |
| (0.125) | |
| Year2006 | 2.342*** |
| (0.125) | |
| Year2007 | 2.407*** |
| (0.125) | |
| Year2008 | 2.862*** |
| (0.125) | |
| Year2009 | 2.893*** |
| (0.125) | |
| Year2010 | 2.967*** |
| (0.125) | |
| Year2011 | 3.044*** |
| (0.125) | |
| Year2012 | 3.068*** |
| (0.125) | |
| Year2013 | 3.053*** |
| (0.125) | |
| Year2014 | 3.559*** |
| (0.125) | |
| Year2015 | 3.575*** |
| (0.125) | |
| not.in.prem | -2.340 |
| (5.773) | |
| overall.pos:Year1994 | -0.007 |
| (0.010) | |
| overall.pos:Year1995 | -0.004 |
| (0.010) | |
| overall.pos:Year1996 | -0.020** |
| (0.010) | |
| overall.pos:Year1997 | 0.001 |
| (0.010) | |
| overall.pos:Year1998 | 0.0001 |
| (0.010) | |
| overall.pos:Year1999 | 0.003 |
| (0.010) | |
| overall.pos:Year2000 | 0.002 |
| (0.010) | |
| overall.pos:Year2001 | -0.002 |
| (0.010) | |
| overall.pos:Year2002 | -0.003 |
| (0.010) | |
| overall.pos:Year2003 | 0.001 |
| (0.010) | |
| overall.pos:Year2004 | -0.026** |
| (0.010) | |
| overall.pos:Year2005 | 0.005 |
| (0.010) | |
| overall.pos:Year2006 | 0.011 |
| (0.010) | |
| overall.pos:Year2007 | 0.008 |
| (0.010) | |
| overall.pos:Year2008 | 0.012 |
| (0.010) | |
| overall.pos:Year2009 | 0.013 |
| (0.010) | |
| overall.pos:Year2010 | 0.011 |
| (0.010) | |
| overall.pos:Year2011 | 0.017 |
| (0.010) | |
| overall.pos:Year2012 | 0.016 |
| (0.010) | |
| overall.pos:Year2013 | 0.018* |
| (0.010) | |
| overall.pos:Year2014 | 0.015 |
| (0.010) | |
| overall.pos:Year2015 | 0.016 |
| (0.010) | |
| overall.pos:not.in.prem | 0.107 |
| (0.269) | |
| Year1994:not.in.prem | 6.413 |
| (8.165) | |
| Year1995:not.in.prem | 5.955 |
| (8.165) | |
| Year1996:not.in.prem | |
| Year1997:not.in.prem | |
| Year1998:not.in.prem | |
| Year1999:not.in.prem | |
| Year2000:not.in.prem | |
| Year2001:not.in.prem | |
| Year2002:not.in.prem | 0.473 |
| (5.789) | |
| Year2003:not.in.prem | 0.520 |
| (5.787) | |
| Year2004:not.in.prem | 0.349 |
| (5.785) | |
| Year2005:not.in.prem | 0.557 |
| (5.794) | |
| Year2006:not.in.prem | 0.820 |
| (5.805) | |
| Year2007:not.in.prem | 0.758 |
| (5.787) | |
| Year2008:not.in.prem | 0.882 |
| (5.814) | |
| Year2009:not.in.prem | 0.868 |
| (5.781) | |
| Year2010:not.in.prem | 0.844 |
| (5.793) | |
| Year2011:not.in.prem | 0.956 |
| (5.870) | |
| Year2012:not.in.prem | 0.857 |
| (5.784) | |
| Year2013:not.in.prem | 0.987 |
| (5.778) | |
| Year2014:not.in.prem | 1.166 |
| (5.776) | |
| Year2015:not.in.prem | 0.505 |
| (5.782) | |
| overall.pos:Year1994:not.in.prem | -0.291 |
| (0.380) | |
| overall.pos:Year1995:not.in.prem | -0.275 |
| (0.380) | |
| overall.pos:Year1996:not.in.prem | |
| overall.pos:Year1997:not.in.prem | |
| overall.pos:Year1998:not.in.prem | |
| overall.pos:Year1999:not.in.prem | |
| overall.pos:Year2000:not.in.prem | |
| overall.pos:Year2001:not.in.prem | |
| overall.pos:Year2002:not.in.prem | -0.065 |
| (0.269) | |
| overall.pos:Year2003:not.in.prem | -0.069 |
| (0.269) | |
| overall.pos:Year2004:not.in.prem | -0.042 |
| (0.269) | |
| overall.pos:Year2005:not.in.prem | -0.073 |
| (0.269) | |
| overall.pos:Year2006:not.in.prem | -0.079 |
| (0.269) | |
| overall.pos:Year2007:not.in.prem | -0.076 |
| (0.269) | |
| overall.pos:Year2008:not.in.prem | -0.080 |
| (0.270) | |
| overall.pos:Year2009:not.in.prem | -0.081 |
| (0.269) | |
| overall.pos:Year2010:not.in.prem | -0.079 |
| (0.269) | |
| overall.pos:Year2011:not.in.prem | -0.085 |
| (0.271) | |
| overall.pos:Year2012:not.in.prem | -0.091 |
| (0.269) | |
| overall.pos:Year2013:not.in.prem | -0.095 |
| (0.269) | |
| overall.pos:Year2014:not.in.prem | -0.099 |
| (0.269) | |
| overall.pos:Year2015:not.in.prem | -0.086 |
| (0.269) | |
| Constant | 14.859*** |
| (0.089) | |
| Observations | 549 |
| R2 | 0.977 |
| Adjusted R2 | 0.973 |
| Residual Std. Error | 0.190 (df = 469) |
| F Statistic | 250.725*** (df = 79; 469) |
| Note: | p<0.1; p<0.05; p<0.01 |
What we thus have is that for every year since 2011 there has been a t-statistic of about 1.5 and a change in the increment of 1.5 to 1.8 percentage points. So before 2011, the increment per position was about 4%, but since 2011 it’s been nearer to 2.5%. This is the levelling of the playing field we’ve been thinking about.
To what extent thus do we want to think about post-2011 as our period of interest?
Turning now to non-TV revenues, we first load up the data, and then create the non-TV revenues. I’ve also omitted Hull City, West Brom and Reading observations due to their being strange looking.
##merge in TV revenue data to overall revenue data
eng.lge <- merge(eng.lge,tv.rev,by=c("Club","Year.Finish"),all.x=TRUE)
eng.lge$Revenues[eng.lge$Club=="hull city" & eng.lge$Year.Finish>=2011] <- NA
eng.lge$Year <- as.character(eng.lge$Year.Finish)
eng.lge$non.tv.revenues <- eng.lge$Revenues - eng.lge$PL.TV.money
eng.lge$non.tv.revenues[eng.lge$non.tv.revenues<0] <- NA
##load up regional GVA growth
reg.gva <- read.csv("/Users/jjreade/Dropbox/Research/Sport/English Football/Data/Regional_Nominal_GVA_Growth_1967-2015.csv",
stringsAsFactors = FALSE)
##prepare data for merging
reg.gva$Year.Finish <- as.numeric(gsub("^(\\d+)y$","\\1",reg.gva$Year))
reg.gva <- reg.gva[is.na(reg.gva$Year.Finish)==FALSE,]
eng.lge$Region <- eng.lge$region
eng.lge$Region[eng.lge$Region=="North East"] <- "North"
eng.lge$Region[eng.lge$Region=="North West"] <- "North"
eng.lge$Region[regexpr("Yorkshire",eng.lge$Region)>-1] <- "Yorkshire & Humber"
eng.lge$Region[eng.lge$Region=="South East"] <- "London, South East of England and East of England"
eng.lge$Region[eng.lge$Region=="East"] <- "London, South East of England and East of England"
eng.lge$Region[eng.lge$Region=="London"] <- "London, South East of England and East of England"
eng.lge$Region[eng.lge$Region=="South West"] <- "South West England"
##merge GVA growth with revenue data
eng.lge <- merge(eng.lge,reg.gva[,c("Region","Year.Finish","Nominal_GVA_Growth")],by=c("Region","Year.Finish"),all.x=TRUE)
##load regional GVA levels
reg.gva.levels <- read.csv("/Users/jjreade/Dropbox/Research/Sport/English Football/Data/Nominal_Levels_Data.csv",
stringsAsFactors = FALSE)
reg.gva.levels$Region[reg.gva.levels$Region=="Northern England"] <- "North"
#reg.gva.levels$Region[reg.gva.levels$Region=="Yorkshire & Humber"] <- "Yorkshire and The Humber"
##merge regional GVA levels with revenue data
eng.lge <- merge(eng.lge,reg.gva.levels,by=c("Region","Year.Finish"),all.x=TRUE)
The following is an attempt at a visualisation. However, I don’t think it all that helpful. The dots are colour coded by region, and are organised by year (along the horizontal axis). Hence 2015 is represented by all the dots in a vertical line above 2015. These are non-TV revenues. There is an increasingly skewed distribution, with London and North (West) teams making up the tail, and all other clubs (most notably Midlands ones) in the bulk of non-TV revenues at the bottom end of the scale.
plot(eng.lge$Year.Finish,eng.lge$non.tv.revenues,xlim=range(1992,2015),col="white",
ylab="Non-TV Revenues",xlab="Season",main="Non-TV Revenues by Region")
regions <- eng.lge$Region[duplicated(eng.lge$Region)==FALSE]
#rbo <- rainbow(NROW(regions))
for(rr in 1:NROW(regions)) {
lines(eng.lge$Year.Finish[eng.lge$Region==regions[rr]],eng.lge$non.tv.revenues[eng.lge$Region==regions[rr]],
col=rr,type="p",pch=20)
}
legend("topleft",col=1:rr,legend=regions,bty="n",pch=20)
A very simple regression reveals some differences between regions (these are not the regions we got from ONS, note). Interestingly, the North West and North East don’t appear too different here, and are different from the other regions, and of course London stands out too:
rev.reg.0 <- lm(log(non.tv.revenues) ~ region,data=eng.lge)
stargazer::stargazer(rev.reg.0, type = "html",
title = "Regions, no time controls")
| Dependent variable: | |
| log(non.tv.revenues) | |
| regionEast Midlands | 0.0005 |
| (0.253) | |
| regionLondon | 1.018*** |
| (0.203) | |
| regionNorth East | 0.778*** |
| (0.222) | |
| regionNorth West | 0.789*** |
| (0.201) | |
| regionSouth East | 0.202 |
| (0.249) | |
| regionSouth West | -1.151 |
| (0.900) | |
| regionWales | 0.418 |
| (0.405) | |
| regionWest Midlands | 0.336 |
| (0.213) | |
| regionYorkshire and The Humber | 0.219 |
| (0.242) | |
| Constant | 16.407*** |
| (0.188) | |
| Observations | 528 |
| R2 | 0.139 |
| Adjusted R2 | 0.124 |
| Residual Std. Error | 0.880 (df = 518) |
| F Statistic | 9.270*** (df = 9; 518) |
| Note: | p<0.1; p<0.05; p<0.01 |
We probably should account for growth in revenues over the years, hence the year variable is added in and interacted with the region to allow differential growth rates across regions. Here we have about 7% growth over the sample, from the Year.Finish variable, although oddly there is no significant difference with other regions, although the coefficients are sensible (slightly larger than 7% growth in London, (much) less in Wales, and less in the North East, and Midlands, with the North West barely different from 7%):
rev.reg.0t <- lm(log(non.tv.revenues) ~ region*Year.Finish,data=eng.lge)
stargazer::stargazer(rev.reg.0t, type = "html",
title = "Regions with time controls")
| Dependent variable: | |
| log(non.tv.revenues) | |
| regionEast Midlands | 48.082 |
| (76.405) | |
| regionLondon | -27.713 |
| (52.632) | |
| regionNorth East | 64.773 |
| (60.210) | |
| regionNorth West | 12.431 |
| (51.646) | |
| regionSouth East | 20.590 |
| (67.093) | |
| regionSouth West | -0.508 |
| (0.830) | |
| regionWales | 141.187 |
| (604.448) | |
| regionWest Midlands | 54.959 |
| (56.027) | |
| regionYorkshire and The Humber | -0.891 |
| (72.159) | |
| Year.Finish | 0.069*** |
| (0.024) | |
| regionEast Midlands:Year.Finish | -0.024 |
| (0.038) | |
| regionLondon:Year.Finish | 0.014 |
| (0.026) | |
| regionNorth East:Year.Finish | -0.032 |
| (0.030) | |
| regionNorth West:Year.Finish | -0.006 |
| (0.026) | |
| regionSouth East:Year.Finish | -0.010 |
| (0.033) | |
| regionSouth West:Year.Finish | |
| regionWales:Year.Finish | -0.070 |
| (0.300) | |
| regionWest Midlands:Year.Finish | -0.027 |
| (0.028) | |
| regionYorkshire and The Humber:Year.Finish | 0.001 |
| (0.036) | |
| Constant | -122.413** |
| (48.206) | |
| Observations | 528 |
| R2 | 0.332 |
| Adjusted R2 | 0.308 |
| Residual Std. Error | 0.782 (df = 509) |
| F Statistic | 14.027*** (df = 18; 509) |
| Note: | p<0.1; p<0.05; p<0.01 |
Next we can add in the fanbase measures. They naturally are quite collinear and hence to reduce this we only add the measures for the number of home owners (fb.owners), young (fb.young) and old (fb.old) people, and professional/managerial types (fb.prof.man) in a club’s fanbase. All are significant, though old people least so.
The numbers suggest that more home owners reduce non-TV revenues, while more young and old people, and more professional/managerial types all increase non-TV revenues.
I’m not totally sure what to make of this, but in these regressions the yearly growth rate in non-TV revenues is at 6% now, and the London growth rate interaction term is significant and suggests that there has been 1% annual growth in London, with all other growth-rate interaction terms still insignificant.
rev.reg.1 <- lm(log(non.tv.revenues) ~ region*Year.Finish + fb.owners + fb.young + fb.old + fb.prof.man,data=eng.lge)
stargazer::stargazer(rev.reg.1, type = "html",
title = "Regions with time controls and Fanbase measures")
| Dependent variable: | |
| log(non.tv.revenues) | |
| regionEast Midlands | 53.615 |
| (66.030) | |
| regionLondon | 107.471** |
| (48.715) | |
| regionNorth East | 37.315 |
| (52.122) | |
| regionNorth West | -28.422 |
| (45.018) | |
| regionSouth East | 28.641 |
| (58.164) | |
| regionSouth West | -0.400 |
| (0.718) | |
| regionWales | 180.968 |
| (522.498) | |
| regionWest Midlands | 72.091 |
| (48.892) | |
| regionYorkshire and The Humber | -14.005 |
| (62.513) | |
| Year.Finish | 0.058*** |
| (0.021) | |
| fb.owners | -0.0001*** |
| (0.00001) | |
| fb.young | 0.00002*** |
| (0.00000) | |
| fb.old | 0.00002* |
| (0.00001) | |
| fb.prof.man | 0.00001*** |
| (0.00000) | |
| regionEast Midlands:Year.Finish | -0.027 |
| (0.033) | |
| regionLondon:Year.Finish | -0.054** |
| (0.024) | |
| regionNorth East:Year.Finish | -0.018 |
| (0.026) | |
| regionNorth West:Year.Finish | 0.014 |
| (0.022) | |
| regionSouth East:Year.Finish | -0.014 |
| (0.029) | |
| regionSouth West:Year.Finish | |
| regionWales:Year.Finish | -0.090 |
| (0.259) | |
| regionWest Midlands:Year.Finish | -0.036 |
| (0.024) | |
| regionYorkshire and The Humber:Year.Finish | 0.007 |
| (0.031) | |
| Constant | -99.761** |
| (41.930) | |
| Observations | 528 |
| R2 | 0.506 |
| Adjusted R2 | 0.484 |
| Residual Std. Error | 0.675 (df = 505) |
| F Statistic | 23.513*** (df = 22; 505) |
| Note: | p<0.1; p<0.05; p<0.01 |
Next, we add in nominal GVA growth rates (Nominal_GVA_Growth), which are insignificant, and have little other impact on the regression output:
rev.reg.2 <- lm(log(non.tv.revenues) ~ region*Year.Finish + fb.owners + fb.young + fb.old + fb.prof.man + Nominal_GVA_Growth,data=eng.lge)
stargazer::stargazer(rev.reg.2, type = "html",
title = "Regions with time controls, fanbase measures and GVA growth (nominal)")
| Dependent variable: | |
| log(non.tv.revenues) | |
| regionEast Midlands | 53.196 |
| (66.123) | |
| regionLondon | 107.269** |
| (48.771) | |
| regionNorth East | 36.755 |
| (52.240) | |
| regionNorth West | -28.812 |
| (45.100) | |
| regionSouth East | 28.588 |
| (58.220) | |
| regionSouth West | -0.399 |
| (0.719) | |
| regionWales | 181.776 |
| (523.008) | |
| regionWest Midlands | 71.587 |
| (48.998) | |
| regionYorkshire and The Humber | -14.931 |
| (62.730) | |
| Year.Finish | 0.058*** |
| (0.021) | |
| fb.owners | -0.0001*** |
| (0.00001) | |
| fb.young | 0.00002*** |
| (0.00000) | |
| fb.old | 0.00002* |
| (0.00001) | |
| fb.prof.man | 0.00001*** |
| (0.00000) | |
| Nominal_GVA_Growth | 0.247 |
| (1.185) | |
| regionEast Midlands:Year.Finish | -0.027 |
| (0.033) | |
| regionLondon:Year.Finish | -0.054** |
| (0.024) | |
| regionNorth East:Year.Finish | -0.018 |
| (0.026) | |
| regionNorth West:Year.Finish | 0.015 |
| (0.023) | |
| regionSouth East:Year.Finish | -0.014 |
| (0.029) | |
| regionSouth West:Year.Finish | |
| regionWales:Year.Finish | -0.090 |
| (0.260) | |
| regionWest Midlands:Year.Finish | -0.036 |
| (0.024) | |
| regionYorkshire and The Humber:Year.Finish | 0.007 |
| (0.031) | |
| Constant | -99.516** |
| (41.986) | |
| Observations | 528 |
| R2 | 0.506 |
| Adjusted R2 | 0.484 |
| Residual Std. Error | 0.676 (df = 504) |
| F Statistic | 22.450*** (df = 23; 504) |
| Note: | p<0.1; p<0.05; p<0.01 |
Finally, adding in nominal GVA levels (Nom.GVA.Level) does matter, and it matters across the entire model, causing changes in a number of coefficients and their level of significance. The simple regional dummies become significant for all bar the South East and Wales, while the annual growth rate coefficient suggests that actually, once we control for regional income levels, the growth rate in non-TV revenues is 20%. This is 5% for the East Midlands, 15% for London, 7% for the North East, 10% for the North West, 20% for the South East, -2% for Wales, and 4% for the West Midlands. The number of old people in the fanbase increases in its significance, suggesting that more old people increase non-TV revenues.
rev.reg.4 <- lm(log(non.tv.revenues) ~ region*Year.Finish + fb.owners + fb.young + fb.old + fb.prof.man + Nominal_GVA_Growth + Nom.GVA.Level,data=eng.lge)
stargazer::stargazer(rev.reg.4, type = "html",
title = "Regions with time controls, fanbase measures, GVA growth and GVA levels (both nominal)")
| Dependent variable: | |
| log(non.tv.revenues) | |
| regionEast Midlands | 306.482** |
| (119.192) | |
| regionLondon | 103.409** |
| (48.531) | |
| regionNorth East | 257.756** |
| (101.107) | |
| regionNorth West | 193.545** |
| (98.121) | |
| regionSouth East | 14.391 |
| (58.173) | |
| regionSouth West | -1.345* |
| (0.805) | |
| regionWales | 448.533 |
| (530.613) | |
| regionWest Midlands | 323.621*** |
| (110.269) | |
| regionYorkshire and The Humber | 229.333** |
| (114.380) | |
| Year.Finish | 0.201*** |
| (0.060) | |
| fb.owners | -0.0001*** |
| (0.00001) | |
| fb.young | 0.00002*** |
| (0.00000) | |
| fb.old | 0.00002** |
| (0.00001) | |
| fb.prof.man | 0.00001*** |
| (0.00000) | |
| Nominal_GVA_Growth | 1.161 |
| (1.232) | |
| Nom.GVA.Level | -0.00001** |
| (0.00000) | |
| regionEast Midlands:Year.Finish | -0.154** |
| (0.060) | |
| regionLondon:Year.Finish | -0.052** |
| (0.024) | |
| regionNorth East:Year.Finish | -0.129** |
| (0.051) | |
| regionNorth West:Year.Finish | -0.097** |
| (0.049) | |
| regionSouth East:Year.Finish | -0.007 |
| (0.029) | |
| regionSouth West:Year.Finish | |
| regionWales:Year.Finish | -0.225 |
| (0.264) | |
| regionWest Midlands:Year.Finish | -0.163*** |
| (0.055) | |
| regionYorkshire and The Humber:Year.Finish | -0.115** |
| (0.057) | |
| Constant | -384.381*** |
| (119.345) | |
| Observations | 528 |
| R2 | 0.512 |
| Adjusted R2 | 0.489 |
| Residual Std. Error | 0.672 (df = 503) |
| F Statistic | 22.020*** (df = 24; 503) |
| Note: | p<0.1; p<0.05; p<0.01 |
We can combine all these regressions in one table, which is provided below. The difference in the size of the regional fixed effects can be explained by the addition of variables with different scales (first fanbase, then GVA levels). The constant term, which is at the bottom of the table, also increases in the same way.
stargazer::stargazer(rev.reg.0,rev.reg.0t,rev.reg.1,rev.reg.2,rev.reg.4, type = "html",
title = "Regional non-TV revenues")
| Dependent variable: | |||||
| log(non.tv.revenues) | |||||
| (1) | (2) | (3) | (4) | (5) | |
| regionEast Midlands | 0.0005 | 48.082 | 53.615 | 53.196 | 306.482** |
| (0.253) | (76.405) | (66.030) | (66.123) | (119.192) | |
| regionLondon | 1.018*** | -27.713 | 107.471** | 107.269** | 103.409** |
| (0.203) | (52.632) | (48.715) | (48.771) | (48.531) | |
| regionNorth East | 0.778*** | 64.773 | 37.315 | 36.755 | 257.756** |
| (0.222) | (60.210) | (52.122) | (52.240) | (101.107) | |
| regionNorth West | 0.789*** | 12.431 | -28.422 | -28.812 | 193.545** |
| (0.201) | (51.646) | (45.018) | (45.100) | (98.121) | |
| regionSouth East | 0.202 | 20.590 | 28.641 | 28.588 | 14.391 |
| (0.249) | (67.093) | (58.164) | (58.220) | (58.173) | |
| regionSouth West | -1.151 | -0.508 | -0.400 | -0.399 | -1.345* |
| (0.900) | (0.830) | (0.718) | (0.719) | (0.805) | |
| regionWales | 0.418 | 141.187 | 180.968 | 181.776 | 448.533 |
| (0.405) | (604.448) | (522.498) | (523.008) | (530.613) | |
| regionWest Midlands | 0.336 | 54.959 | 72.091 | 71.587 | 323.621*** |
| (0.213) | (56.027) | (48.892) | (48.998) | (110.269) | |
| regionYorkshire and The Humber | 0.219 | -0.891 | -14.005 | -14.931 | 229.333** |
| (0.242) | (72.159) | (62.513) | (62.730) | (114.380) | |
| Year.Finish | 0.069*** | 0.058*** | 0.058*** | 0.201*** | |
| (0.024) | (0.021) | (0.021) | (0.060) | ||
| fb.owners | -0.0001*** | -0.0001*** | -0.0001*** | ||
| (0.00001) | (0.00001) | (0.00001) | |||
| fb.young | 0.00002*** | 0.00002*** | 0.00002*** | ||
| (0.00000) | (0.00000) | (0.00000) | |||
| fb.old | 0.00002* | 0.00002* | 0.00002** | ||
| (0.00001) | (0.00001) | (0.00001) | |||
| fb.prof.man | 0.00001*** | 0.00001*** | 0.00001*** | ||
| (0.00000) | (0.00000) | (0.00000) | |||
| Nominal_GVA_Growth | 0.247 | 1.161 | |||
| (1.185) | (1.232) | ||||
| Nom.GVA.Level | -0.00001** | ||||
| (0.00000) | |||||
| regionEast Midlands:Year.Finish | -0.024 | -0.027 | -0.027 | -0.154** | |
| (0.038) | (0.033) | (0.033) | (0.060) | ||
| regionLondon:Year.Finish | 0.014 | -0.054** | -0.054** | -0.052** | |
| (0.026) | (0.024) | (0.024) | (0.024) | ||
| regionNorth East:Year.Finish | -0.032 | -0.018 | -0.018 | -0.129** | |
| (0.030) | (0.026) | (0.026) | (0.051) | ||
| regionNorth West:Year.Finish | -0.006 | 0.014 | 0.015 | -0.097** | |
| (0.026) | (0.022) | (0.023) | (0.049) | ||
| regionSouth East:Year.Finish | -0.010 | -0.014 | -0.014 | -0.007 | |
| (0.033) | (0.029) | (0.029) | (0.029) | ||
| regionSouth West:Year.Finish | |||||
| regionWales:Year.Finish | -0.070 | -0.090 | -0.090 | -0.225 | |
| (0.300) | (0.259) | (0.260) | (0.264) | ||
| regionWest Midlands:Year.Finish | -0.027 | -0.036 | -0.036 | -0.163*** | |
| (0.028) | (0.024) | (0.024) | (0.055) | ||
| regionYorkshire and The Humber:Year.Finish | 0.001 | 0.007 | 0.007 | -0.115** | |
| (0.036) | (0.031) | (0.031) | (0.057) | ||
| Constant | 16.407*** | -122.413** | -99.761** | -99.516** | -384.381*** |
| (0.188) | (48.206) | (41.930) | (41.986) | (119.345) | |
| Observations | 528 | 528 | 528 | 528 | 528 |
| R2 | 0.139 | 0.332 | 0.506 | 0.506 | 0.512 |
| Adjusted R2 | 0.124 | 0.308 | 0.484 | 0.484 | 0.489 |
| Residual Std. Error | 0.880 (df = 518) | 0.782 (df = 509) | 0.675 (df = 505) | 0.676 (df = 504) | 0.672 (df = 503) |
| F Statistic | 9.270*** (df = 9; 518) | 14.027*** (df = 18; 509) | 23.513*** (df = 22; 505) | 22.450*** (df = 23; 504) | 22.020*** (df = 24; 503) |
| Note: | p<0.1; p<0.05; p<0.01 | ||||
We learn from this exercise that non-TV revenues do vary with regional variables, once secular growth patterns are accounted for. Fanbase measures do appear to add more than simple regional variables, and GVA levels rather than growth rates appear to vary with non-TV revenues.