Last issue

Included this week:

  • Commencements
  • Completions
  • Housing Pipeline: Balance of Stock
  • FHS Caps vs CSO data
  • Retail Sales Index
  • Port data

Commencements

National

HSM13.A_S.Q_MAX <- tail(HSM13.A_S.Q,1)

HSM13.A_S.Q %>%
  filter(Year_Q >= "2020 Q1")%>%
  ggplot(aes(x=Year_Q,y=SMA.12,group=STATISTIC))+
  geom_line(alpha=0.3,size=1.25,colour="#B54104")+
  geom_text_repel(data=HSM13.A_S.Q_MAX,aes(label=SMA.12),size=2.75,colour="#B54104")+
  geom_line(aes(y=value),alpha=0.1,size=1,colour="#B54104")+
  theme_bw()+theme(plot.title = element_text(size=9,face="bold"),
                   legend.text = element_text(size=8),
                   legend.title = element_text(size=8),
                   axis.text.x= element_text(size=8),
                   axis.text.y= element_text(size=8),
                   axis.title = element_text(size=8),
                   plot.subtitle=element_text(size=8))+
  theme(legend.position = "none")+
  ggtitle("Commencement Notices")+
  labs(subtitle="12 month moving average",caption="source: HSM13")+
  ylab("number of units")+
  xlab("quarter")

Commencements - Local Authority

HSM13 <- cso_get_data("HSM13")

HSM13 <- HSM13 %>%
  pivot_longer(!1:3,names_to = "year_month")
HSM13$Year <-substr(HSM13$year_month,1,4)
HSM13$Month <- sub(".* ", "", HSM13$year_month)
HSM13$Month_NR <- as.integer(factor(HSM13$Month, levels=month.name))
HSM13$Date <- as.yearmon(paste(HSM13$Year, HSM13$Month_NR), "%Y %m")
HSM13$Year_Q <- as.yearqtr(HSM13$Date)

HSM13.A <- HSM13 %>%
  filter(Residential.Units.Commenced=="Number of residential units")
HSM13.A.Q <- HSM13.A %>%
  group_by(STATISTIC,Local.Authority,Residential.Units.Commenced,Year_Q,Year) %>%
  summarise(value=sum(value,na.rm=TRUE))

HSM13.A.Q$SMA.6 <- round(SMA(HSM13.A.Q$value,n=2),digits=2)
HSM13.A.Q$SMA.6[HSM13.A.Q$Year_Q=="2014 Q1"] <- NA
HSM13.A.Q$SMA.12 <- round(SMA(HSM13.A.Q$value,n=4),digits=2)
HSM13.A.Q$SMA.12[HSM13.A.Q$Year_Q=="2014 Q1" | HSM13.A.Q$Year_Q=="2014 Q2" | HSM13.A.Q$Year_Q=="2014 Q3"] <- NA

GEO_HSM13 <- readxl::read_xlsx(path="C:\\Users\\charten\\OneDrive - Glenveagh Properties\\Research & Development\\1. Analysis\\GEO_HSM13.xlsx")
shpHSM13.A.Q <- merge(HSM13.A.Q,GEO_HSM13,by="Local.Authority")
shpHSM13.A.Q <- shpHSM13.A.Q %>% 
  group_by(ENGLISH)%>%
  slice(which.max(Year_Q))

shpHSM13.A.Q<- merge(shp,shpHSM13.A.Q,by="ENGLISH")

# Plot
shpHSM13.A.Q %>%
  ggplot()+
  geom_sf(aes(fill=SMA.12),colour=alpha("white",0.5))+
  theme_void()+theme(plot.title = element_text(size=11,face="bold",hjust=0.5),
                      legend.title = element_text(size = 11),
                      legend.text = element_text(size = 8),
                      strip.text.x = element_text(size = 12))+
  scale_fill_distiller(palette = "OrRd", name="Commencements",direction = 1)+
  ggtitle("Commencements by Local Authority")+
  labs(subtitle="12 month moving average",caption = "CSO Dataset: HSM13")

See Appendix for commencements by Local Authority & Quarter.

Completions

The Government’s Housing for All plan targets 24,600 completions in 2022, 29,000 in 2023 and 33,450 in 2024.

## NDQ07
NDQ07 <- cso_get_data("NDQ07")
NDQ07_long <- NDQ07 %>%
  pivot_longer(!1:2, names_to = "year_qtr")
NDQ07 <- NDQ07_long
rm(NDQ07_long)
NDQ07$Year_Q <- as.yearqtr(NDQ07$year_qtr)
NDQ07$Year <- year(NDQ07$Year_Q)
NDQ07_A <- NDQ07 %>%
  filter(Eircode.Output=="All")
NDQ07_A$SMA.12 <- round(SMA(NDQ07_A$value,n=4),digits=2)
NDQ07_A$SMA.12[NDQ07_A$Year_Q=="2011 Q1" | NDQ06.A2$NDQ07_A=="2011 Q2" | NDQ07_A$Year_Q=="2011 Q3"] <- NA

NDQ07_B <- NDQ07 %>%
  filter(Eircode.Output!="All")
NDQ07_B$SMA.12 <- round(SMA(NDQ07_B$value,n=4),digits=2)
NDQ07_B$SMA.12[NDQ07_B$Year_Q=="2011 Q1" | NDQ06.A2$NDQ07_B=="2011 Q2" | NDQ07_B$Year_Q=="2011 Q3"] <- NA

NDQ07_A_tail <- tail(NDQ07_A,1)
NDQ07_A_tail_lag <-head(tail(NDQ07_A,2),1)
NDQ07_A_tail_yonylag <-head(tail(NDQ07_A,5),1)

NDQ07_A_24 <- tail(NDQ07_A,24)

NDQ07_A_24_MAX <- tail(NDQ07_A_24,1)
NDQ07_A_24 %>%
  ggplot(aes(x=Year_Q,y=SMA.12,group=STATISTIC))+
  geom_line(alpha=0.4,size=1.25,colour="#2CB504")+
  geom_line(aes(y=value),alpha=0.2,size=1,colour="#2CB504")+
  theme_bw()+
  labs(title = "New Dwelling Completions, by Quarter - NDQ07" ,
       subtitle = "12 month moving average - 24 Month Series",
       y="Units Completed",
       x="Year-Qtr")+
  geom_text(data=NDQ07_A_24_MAX,aes(label=value),vjust= 1.5, size=3,colour="#2CB504")+
  theme(legend.position = "bottom")

tbl_NDQ07_A_Year <-  NDQ07_A %>%
  group_by(Year)%>%
  summarise(Average_Value = mean(value),
            Total = sum(value))

ggplot(data=tbl_NDQ07_A_Year, aes(x=Year, y=Total))+
  geom_col(alpha = 0.1, colour="#2CB504", fill = "#2CB504")+
  theme_bw()+
  labs(title = "New Dwelling Completions, by Year - NDQ07" ,
       subtitle = "total sample",
       y="Units Completed",
       x="Year")+
  geom_text(aes(label=Total),vjust= 1.5, size=3)+
  theme(legend.position = "bottom")

Eircode Output Area

# Clean
NDQ07.EOA <- NDQ07_B %>% 
  group_by(Eircode.Output)%>%
  slice(which.max(Year_Q))

NDQ07.EOA$RoutingKey <-substr(NDQ07.EOA$Eircode.Output, 1, 3)
# make moveing average
rkNDQ07 <- merge(rkey,NDQ07.EOA,by="RoutingKey")

# Plot
rkNDQ07 %>%
  ggplot()+
  geom_sf(aes(fill=SMA.12),colour=alpha("white",0.5))+
  theme_void()+theme(plot.title = element_text(size=11,face="bold",hjust=0.5),
                      legend.title = element_text(size = 11),
                      legend.text = element_text(size = 8),
                      strip.text.x = element_text(size = 12))+
  scale_fill_distiller(palette = "YIGn", name="Completions",direction = 1)+
  ggtitle("Completions by Eircode Output Area (Routing Key)")+
  labs(subtitle="12 month moving average",caption = "CSO Dataset: NDQ07")

Pipeline

Completions to Planning Ratio

Note the lag in planning data with latest release to Q2 (completions to Q3), means that the ratio is slightly higher.

Cumulative Balance

Focusing on the GDA the ratios seen previously can be seen in absolute terms. The table for each Local Authority can be seen below.

Table 1: Housing Pipeline
Local Authority Type of Dwelling Planning Completions Ratio Balance
Carlow Apartment 110 25 0.23 85
Carlow Houses 848 1013 1.19 -165
Cavan Apartment 55 44 0.80 11
Cavan Houses 1053 831 0.79 222
Clare Apartment 197 83 0.42 114
Clare Houses 2137 1794 0.84 343
Cork Apartment 2156 360 0.17 1796
Cork Houses 10477 6495 0.62 3982
Cork City Apartment 5362 598 0.11 4764
Cork City Houses 2295 3342 1.46 -1047
Donegal Apartment 272 255 0.94 17
Donegal Houses 2790 2183 0.78 607
Dublin City Apartment 31097 8853 0.28 22244
Dublin City Houses 1268 2336 1.84 -1068
Dun Laoghaire - Rathdown Apartment 15582 4028 0.26 11554
Dun Laoghaire - Rathdown Houses 2186 2228 1.02 -42
Fingal Apartment 7412 2154 0.29 5258
Fingal Houses 3071 7007 2.28 -3936
Galway Apartment 577 164 0.28 413
Galway Houses 3964 3391 0.86 573
Galway City Apartment 1672 311 0.19 1361
Galway City Houses 669 904 1.35 -235
Kerry Apartment 416 145 0.35 271
Kerry Houses 1785 2196 1.23 -411
Kildare Apartment 3496 618 0.18 2878
Kildare Houses 7297 7823 1.07 -526
Kilkenny Apartment 636 171 0.27 465
Kilkenny Houses 2362 1327 0.56 1035
Laois Apartment 396 76 0.19 320
Laois Houses 2573 1433 0.56 1140
Leitrim Apartment 32 20 0.62 12
Leitrim Houses 265 258 0.97 7
Limerick Apartment 1552 189 0.12 1363
Limerick Houses 3537 2561 0.72 976
Longford Apartment 41 41 1.00 0
Longford Houses 612 486 0.79 126
Louth Apartment 2131 258 0.12 1873
Louth Houses 2441 2889 1.18 -448
Mayo Apartment 106 78 0.74 28
Mayo Houses 1518 1796 1.18 -278
Meath Apartment 2953 199 0.07 2754
Meath Houses 6343 6938 1.09 -595
Monaghan Apartment 72 68 0.94 4
Monaghan Houses 1320 977 0.74 343
Offaly Apartment 206 54 0.26 152
Offaly Houses 1686 1018 0.60 668
Roscommon Apartment 77 44 0.57 33
Roscommon Houses 691 771 1.12 -80
Sligo Apartment 76 97 1.28 -21
Sligo Houses 810 653 0.81 157
South Dublin Apartment 7627 1197 0.16 6430
South Dublin Houses 3148 5807 1.84 -2659
Tipperary Apartment 427 139 0.33 288
Tipperary Houses 2519 1258 0.50 1261
Waterford Apartment 708 167 0.24 541
Waterford Houses 2777 2055 0.74 722
Westmeath Apartment 937 102 0.11 835
Westmeath Houses 1804 1165 0.65 639
Wexford Apartment 1010 213 0.21 797
Wexford Houses 4880 2864 0.59 2016
Wicklow Apartment 2034 544 0.27 1490
Wicklow Houses 4048 3881 0.96 167

FHS Caps vs CSO

The data displayed is for New homes that were purchased by a FTB in the latest period. - This was deemed the most appropriate for context regarding the FHS.

See FHS website for caps.

Price Trend

Price trends are displayed by Eircode Output Area (EOA), this is the most granular variable for house pricing in the CSO. There are 139 EOAs which correspond to the “Routing Key”, the first 3 digits of an Eircode. The town which is attributed to that area determines how the EOA is plotted. For example, C15: Navan - Navan being located in Meath results in C15 being included in the Meath section below.

Consider that the EOAs do not match up to Local Authority boundaries neatly, as can be seen in the appendix.

Dublin

Dublin Bay & South

Mid point set to 500k

Table 2
Eircode.Output Year - Month value Constituency
A94: Blackrock 2022 August 993,352.00 Dun Laoghaire
A96: Glenageary 2022 August 749,513.00 Dun Laoghaire
D01: Dublin 1 2022 August 340,500.00 Dublin Central
D02: Dublin 2 2022 August 618,237.00 Dublin Bay South
D03: Dublin 3 2022 August 696,349.00 Dublin Bay North
D04: Dublin 4 2022 August 987,769.00 Dublin Bay South
D05: Dublin 5 2022 August 610,000.00 Dublin Bay North
D06: Dublin 6 2022 August 1,039,065.00 Dublin Bay South
D08: Dublin 8 2022 August 745,522.00 Dublin South Central
D10: Dublin 10 2022 August NA Dublin South Central
D12: Dublin 12 2022 August 590,833.00 Dublin South Central
D13: Dublin 13 2022 August 504,980.00 Dublin Bay North
D14: Dublin 14 2022 August 661,851.00 Dublin Bay South
D18: Dublin 18 2022 August 579,507.00 Dublin Rathdown
D20: Dublin 20 2022 August 533,960.00 Dublin South Central
D22: Dublin 22 2022 August 378,306.00 Dublin South Central
D6W: Dublin 6W 2022 August 792,535.00 Dublin South Central

Dublin North & West

Mid point set to 450k

Table 3
Eircode.Output Year - Month value Constituency
A41: Ballyboughal 2022 August NA Dublin Fingal
A42: Garristown 2022 August NA Dublin Fingal
A45: Oldtown 2022 August NA Dublin Fingal
D07: Dublin 7 2022 August NA Dublin West
D09: Dublin 9 2022 August 711,666.00 Dublin North-West
D11: Dublin 11 2022 August NA Dublin West
D15: Dublin 15 2022 August 417,288.00 Dublin West
D16: Dublin 16 2022 August 735,625.00 Dublin South-West
D17: Dublin 17 2022 August 442,443.00 Dublin Fingal
D24: Dublin 24 2022 August 396,213.00 Dublin South-West
K32: Balbriggan 2022 August 349,436.00 Dublin Fingal
K34: Skerries 2022 August 325,541.00 Dublin Fingal
K36: Malahide 2022 August 524,576.00 Dublin Fingal
K45: Lusk 2022 August 408,889.00 Dublin Fingal
K56: Rush 2022 August 381,003.00 Dublin Fingal
K67: Swords 2022 August 430,573.00 Dublin Fingal
K78: Lucan 2022 August 442,465.00 Dublin Mid-West

Meath

Table 4
Eircode.Output Year - Month value Constituency
A82: Kells 2022 August 285,017.00 Meath East
A83: Enfield 2022 August 327,360.00 Meath West
A84: Ashbourne 2022 August 269,563.00 Meath East
A85: Dunshaughlin 2022 August 362,525.00 Meath East
A86: Dunboyne 2022 August 423,726.00 Meath East
C15: Navan 2022 August 335,114.00 Meath West

Kildare

Table 5
Eircode.Output Year - Month value Constituency
R14: Athy 2022 August 300,000.00 Kildare South
R51: Kildare 2022 August 290,790.00 Kildare South
R56: Curragh 2022 August 407,816.00 Kildare South
W12: Newbridge 2022 August 385,267.00 Kildare South
W23: Celbridge 2022 August 424,607.00 Kildare North
W34: Monasterevin 2022 August 313,486.00 Kildare South
W91: Naas 2022 August 384,263.00 Kildare North

Louth

Table 6
Eircode.Output Year - Month value Constituency
A91: Dundalk 2022 August 289,649.00 Louth
A92: Drogheda 2022 August 316,371.00 Louth

Wicklow

Table 7
Eircode.Output Year - Month value Constituency
A63: Greystones 2022 August 505,869.00 Wicklow
A67: Wicklow 2022 August 345,863.00 Wicklow
A98: Bray 2022 August 602,472.00 Wicklow
Y14: Arklow 2022 August 539,107.00 Wicklow

Kilkenny

Table 8
Eircode.Output Year - Month value Constituency
R21: Mhuine Bheag 2022 August NA Carlow-Kilkenny
R93: Carlow 2022 August 258,036.00 Carlow-Kilkenny
R95: Kilkenny 2022 August 320,423.00 Carlow-Kilkenny

Waterford

Table 9
Eircode.Output Year - Month value Constituency
X35: Dungarvan 2022 August 296,417.00 Waterford
X42: Kilmacthomas 2022 August 307,473.00 Waterford
X91: Waterford 2022 August 301,475.00 Waterford

Cork

Cork Central Constituencies

Mid point set to 450k

Table 10
Eircode.Output Year - Month value Constituency
P43: Carrigaline 2022 August 336,791.00 Cork South-Central
T12: Cork Southside 2022 August 405,986.00 Cork North-Central
T23: Cork Northside 2022 August 387,654.00 Cork North-Central
T45: Glanmire 2022 August 332,256.00 Cork North-Central
T56: Watergrasshill 2022 August 308,309.00 Cork North-Central

Cork Constituencies - Other

Mid point set to 350k

Table 11
Eircode.Output Year - Month value Constituency
P12: Macroom 2022 August 310,883.00 Cork North-West
P14: Crookstown 2022 August 360,847.00 Cork North-West
P17: Kinsale 2022 August 407,622.00 Cork South-West
P24: Cobh 2022 August 288,479.00 Cork East
P25: Midleton 2022 August 344,626.00 Cork East
P31: Ballincollig 2022 August 395,029.00 Cork North-West
P32: Rylane 2022 August 425,000.00 Cork North-West
P36: Youghal 2022 August 309,999.00 Cork East
P47: Dunmanway 2022 August NA Cork South-West
P51: Mallow 2022 August 286,834.00 Cork East
P56: Charleville 2022 August NA Cork North-West
P61: Fermoy 2022 August 399,525.00 Cork East
P67: Mitchelstown 2022 August 280,000.00 Cork East
P72: Bandon 2022 August 314,760.00 Cork South-West
P75: Bantry 2022 August 219,149.00 Cork South-West
P81: Skibbereen 2022 August 238,179.00 Cork South-West
P85: Clonakilty 2022 August 351,134.00 Cork South-West
T34: Carrignavar 2022 August 337,285.00 Cork East

Cork constiuencies other than the prior “Central” constiuencies

Galway

Table 12
Eircode.Output Year - Month value Constituency
F42: Roscommon 2022 August 262,194.00 Roscommon-Galway
F45: Castlerea 2022 August 172,941.00 Roscommon-Galway
H53: Ballinasloe 2022 August 187,700.00 Roscommon-Galway
H54: Tuam 2022 August 265,023.00 Galway East
H62: Loughrea 2022 August 290,492.00 Galway East
H65: Athenry 2022 August 319,925.00 Galway East
H71: Clifden 2022 August NA Galway West
H91: Galway 2022 August 366,791.00 Galway West

Retail Sales Index

RSM05 <- cso_get_data("RSM05")
RSM05 <- RSM05 %>%
  pivot_longer(!1:2, names_to = "year_month")

# Date transformation
## Take adjusted index only

RSM05 <- RSM05%>%filter(Statistic=="Retail Sales Index Value Adjusted"|Statistic=="Retail Sales Index Volume Adjusted")

RSM05$Month <- as.Date(paste(RSM05$year_month, "01", sep = "-"), "%YM%m-%d")
RSM05$Year <- year(RSM05$Month)
RSM05$Lag <- Lag(RSM05$value,1)
RSM05$Diff <- RSM05$value-RSM05$Lag

RSM05_A <- RSM05%>%
  filter(NACE.Group=="All retail businesses")

RSM05_B <- RSM05%>%
  filter(NACE.Group=="Motor trades (45)"|NACE.Group=="Retail sale in non-specialised stores with food, beverages or tobacco predominating (4711)"|NACE.Group=="Department stores (4719)"|NACE.Group=="Retail sale of automotive fuel (4730)"|NACE.Group=="Retail sale of hardware, paints and glass (4752)"|NACE.Group=="Retail sale of furniture and lighting (4759)"|NACE.Group=="Bars (5630)")

# RSI
## Full Sample
RSM05_A1 <- RSM05_A%>%filter(Statistic=="Retail Sales Index Value Adjusted")
RSM05_A2 <- RSM05_A%>%filter(Statistic=="Retail Sales Index Volume Adjusted")

Fig.RSM.1<-ggplot(data=RSM05_A1,aes(x=Month,y=value))+
  geom_line(size = 1.15, linetype=1, alpha = 0.6, colour = "#4aa98a")+
  geom_hline(aes(yintercept=100), 
             colour= "#404040",
             linetype = 1)+
  theme_bw()+
  geom_text_repel(aes(label=value),data = RSM05_A1, size = 3,colour="black",max.overlaps = 7)+
  labs(title = "RSI Value (Adjusted) - RSM05", subtitle = "2015 to Date")+
  xlab("Year-Month")+
  ylab("RSI (Base Dec 2015=100)")+
  theme(panel.border = element_rect(linetype = 1, fill = NA))

Fig.RSM.2<-ggplot(data=RSM05_A2,aes(x=Month,y=value))+
  geom_line(size = 1.15, linetype=1, alpha = 0.6, colour = "#a55a94")+
  geom_hline(aes(yintercept=100), 
             colour= "#404040",
             linetype = 1)+
  theme_bw()+
  geom_text_repel(aes(label=value),data = RSM05_A2, size = 3,colour="black",max.overlaps = 7)+
  labs(title = "RSI Volume (Adjusted) - RSM05", subtitle = "2015 to Date")+
  xlab("Year-Month")+
  ylab(NULL)+
  theme(panel.border = element_rect(linetype = 1, fill = NA))

#Fig.RSM.1 + Fig.RSM.2 + plot_layout(ncol=2)

## YTD
Fig.RSM.3<-ggplot(data=subset(RSM05_A1,Year >= "2022"),aes(x=Month,y=value))+
  geom_line(size = 1.15, linetype=1, alpha = 0.6, colour = "#4aa98a")+
  geom_text_repel(aes(label=value),data=subset(RSM05_A1,Year >= "2022"), size = 3,colour="black",max.overlaps = 7)+
  theme_bw()+
  labs(subtitle = "YTD")+
  xlab(NULL)+
  ylab(NULL)+
  theme(panel.border = element_rect(linetype = 1, fill = NA))

Fig.RSM.4<-ggplot(data=subset(RSM05_A2,Year >= "2022"),aes(x=Month,y=value))+
  geom_line(size = 1.15, linetype=1, alpha = 0.6, colour = "#a55a94")+
  theme_bw()+
  geom_text_repel(aes(label=value),data=subset(RSM05_A2,Year >= "2022"), size = 3,colour="black",max.overlaps = 7)+
  labs(subtitle = "YTD")+
  xlab(NULL)+
  ylab(NULL)+
  theme(panel.border = element_rect(linetype = 1, fill = NA))


Fig.RSM.1 + Fig.RSM.2 + Fig.RSM.3 + Fig.RSM.4 + plot_layout(nrow = 2,heights = c(2,1.5))

RSM05_B1 <- RSM05_B%>%filter(Statistic=="Retail Sales Index Value Adjusted")
RSM05_B2 <- RSM05_B%>%filter(Statistic=="Retail Sales Index Volume Adjusted")

FigNACE<-ggplot(data=subset(RSM05_B1,Year >= "2022"), aes(x=Month, y=value, group=NACE.Group, colour=NACE.Group))+
  geom_line(aes(group=NACE.Group),size = 1.05, linetype=1, alpha = 0.65)+
  labs(title = "RSI Value by NACE Group")+
  xlab("Year-Month")+
  ylab("2015 = 100")+
  geom_hline(aes(yintercept=100), 
             colour= "#404040",
             linetype = 1)+
  theme_bw()+
  geom_text_repel(aes(label=value),data=subset(RSM05_B1,Year >= "2022"),size=3,colour="black",max.overlaps = 10)+
    scale_x_date(date_labels="%b-%Y",date_breaks  ="1 month")+
  theme(axis.text.x = element_text(angle=90))+
  theme(axis.text.x=element_text(size=10))+
  theme(legend.position="none")+
  theme(axis.text = element_text(size = rel(1)))+
  theme(plot.title=(element_text(vjust =2)))+
  theme(panel.border = element_rect(linetype = 1, fill = NA))

Fig.RSM.5<-FigNACE + facet_wrap(~NACE.Group, ncol = 1)

FigNACE2<-ggplot(data=subset(RSM05_B2,Year >= "2022"), aes(x=Month, y=value, group=NACE.Group, colour=NACE.Group))+
  geom_line(aes(group=NACE.Group),size = 1.05, linetype=1, alpha = 0.65)+
  labs(title = "RSI Volume by NACE Group")+
  xlab("Year-Month")+
  ylab("2015 = 100")+
  geom_hline(aes(yintercept=100), 
             colour= "#404040",
             linetype = 1)+
  theme_bw()+
  geom_text_repel(aes(label=value),data=subset(RSM05_B2,Year >= "2022"),size=3,colour="black",max.overlaps = 10)+
    scale_x_date(date_labels="%b-%Y",date_breaks  ="1 month")+
  theme(axis.text.x = element_text(angle=90))+
  theme(axis.text.x=element_text(size=10))+
  theme(legend.position="none")+
  theme(axis.text = element_text(size = rel(1)))+
  theme(plot.title=(element_text(vjust =2)))+
  theme(panel.border = element_rect(linetype = 1, fill = NA))

Fig.RSM.6<-FigNACE2 + facet_wrap(~NACE.Group, ncol = 1)

Fig.RSM.5+Fig.RSM.6

Irish Ports

TBQ05.A.A_MAX <- TBQ05.A.A %>% 
  group_by(Statistic)%>%
  slice(which.max(Year_Q))
TBQ05.A.A_MAX$lab <- paste(TBQ05.A.A_MAX$Year_Q, ":", TBQ05.A.A_MAX$value)

TBQ05.A.A %>%
  ggplot(aes(x=Year_Q,y=value,group=Statistic,colour=Statistic))+
  geom_line(alpha=0.7)+
  geom_text(data=TBQ05.A.A_MAX,aes(label=lab,group=Statistic),hjust="right",vjust=1,size=2.5)+
  theme_bw()+
  theme(legend.position = "bottom")+
  ggtitle("Tonnage of Goods Handled")+
  labs(caption="Dataset: TBQ05")+
  ylab("('000 Tonnes)")

TBQ05.A.R_MAX <- TBQ05.A.R %>% 
  group_by(Statistic,Region.of.Trade)%>%
  slice(which.max(Year_Q))
TBQ05.A.R_MAX$lab <- paste(TBQ05.A.R_MAX$Year_Q, ":", TBQ05.A.R_MAX$value)

TBQ05.A.R %>%
  ggplot(aes(x=Year_Q,y=value,group=Statistic,colour=Statistic))+
  geom_line(alpha=0.7)+
  geom_text(data=TBQ05.A.R_MAX,aes(label=lab,group=Statistic),hjust="right",vjust=1,size=2.25)+
  theme_bw()+
  theme(legend.position = "bottom")+
  ggtitle("Tonnage of Goods")+
  labs(caption="Dataset: TBQ05")+
  ylab("('000 Tonnes)")+
  facet_wrap(~Region.of.Trade,ncol=2)

Appendix

Local Authority

HSM13.A.Q %>%
    ggplot(aes(x=Year_Q,y=SMA.12,group=STATISTIC))+
    geom_line(alpha=0.3,size=1.25,colour="#B54104")+
    geom_line(aes(y=value),alpha=0.1,size=1,colour="#B54104")+
    theme_bw()+theme(plot.title = element_text(size=9,face="bold"),
                     legend.text = element_text(size=8),
                     legend.title = element_text(size=8),
                     axis.text.x= element_text(size=8),
                     axis.text.y= element_text(size=8),
                     axis.title = element_text(size=8),
                     plot.subtitle=element_text(size=8))+
    theme(legend.position = "none")+
    ggtitle("Commencement Notices")+
    labs(subtitle="12 month moving average",caption="source: HSM13")+
    ylab("number of units")+
    xlab("quarter")+facet_wrap(~Local.Authority,ncol=4)

Eircode - Routing Key