What can Eircode tell us about the Housing Market?
Posted by
Pat Donnelly
| Sep 11, 2017
In a recent report by Davy Research entitled Irelands housing demand/supply imbalance the authors concluded that as many as 50,000 new units might need to be built each year to satisfy demand. Official figures for 2016 claim 14,900 house completions. The use of ESB connections to determine new builds was criticised as it includes so called "ghost estate" houses that have been recently completed. The report by Davy estimates the number of new builds last year to around 7,500 rather than the official figure of 14,900.
If you're desperately looking for a home this argument may seem academic as fifteen thousand additional homes were added to the housing stock during the year. However it is important to understand how much of the increase is due to new construction activity. Say for example that construction activity doubles, how many new properties would be available? You might expect 30,000, but if only 50% of new residential units are due to new construction activity, and if the supply of ghost estate houses decreases (as would be expected) then the number of new homes may only marginally increase on the previous year.

The Eircode database contains all residential addresses, is updated every quarter by An Post and Ordnance Survey, and includes useful building indicators such as "Under Construction". The address information is provided to Eircode by An Post GeoDirectory. If the Eircode database contains very different figures to the official data this would raise questions as to the accuracy of the database. This was the concern I had when reading a report by GeoDirectory and DKM Economic Consultants that claimed 28,646 new residential addresses were added to the GeoDirectory database in the 12 months to June 2017. While the time period differs by six months from the official statistics this doesn't explain the magnitude of the difference.
What does the Eircode database say about 2016?
We want to establish the increase in residential units in Ireland in 2016 using the Eircode database. While it is obvious that building a new apartment block will increase the number, it is less obvious that a change of building use from residential to commercial or from a number of flats to a single residence will decrease the overall housing stock. To arrive at our figure we calculated the increase in residential addresses at the end of 2016 compared to the end of 2015, excluding all properties marked as under construction.
The headline figure, the total increase in residential units, is 14,889 which is in line with the expected value, with a further 5,387 under construction. The County breakdown is given in the table below:
| COUNTY
|
Increase in 2016
|
Under Construction
|
| CARLOW |
168 |
37 |
| CAVAN |
201 |
96 |
| CLARE |
372 |
141 |
| CORK |
1,599 |
561 |
| DONEGAL |
956 |
190 |
| DUBLIN |
2,828 |
1,778 |
| GALWAY |
360 |
305 |
| KERRY |
263 |
165 |
| KILDARE |
968 |
263 |
| KILKENNY |
382 |
82 |
| LAOIS |
263 |
113 |
| LEITRIM |
46 |
16 |
| LIMERICK |
358 |
320 |
| LONGFORD |
163 |
9 |
| LOUTH |
856 |
113 |
| MAYO |
530 |
101 |
| MEATH |
1,162 |
340 |
| MONAGHAN |
616 |
97 |
| OFFALY |
244 |
47 |
| ROSCOMMON |
4 |
24 |
| SLIGO |
272 |
27 |
| TIPPERARY |
681 |
131 |
| WATERFORD |
352 |
99 |
| WESTMEATH |
202 |
60 |
| WEXFORD |
442 |
105 |
| WICKLOW |
601 |
167 |
| Total |
14,889 |
5,387 |
How does it compare with the GeoView report?
Running the same query for the 12 months up to Q2 2017 yields an increase of 15,839 residential properties. This figure appears to more accurately reflect reality than the 28,646 figure reported in the GeoView report, where the figure for Dublin alone is reported as 17,710.
Conclusion
It appears that the data in the Eircode Address Database (ECAD) does reflect the increase in residential properties for 2016. Caveats apply as the comparison has only been calculated for a single year. The data collection methodology differs from that used to collect the official figures, the data capture time lag may be different, and other factors may mean the closeness in comparison could be due to swings and roundabouts cancelling each other out and may not continue into the future.
With deference to the caveat above, the first six months of 2017 have seen an increase of 7,033 residential properties with a further 6,189 under construction. The County breakdown is given in the table below:
| COUNTY
|
Increase in first 6 months of 2017 |
Under Construction Q2 2017 |
| CARLOW |
68 |
52 |
| CAVAN |
212 |
99 |
| CLARE |
174 |
143 |
| CORK |
675 |
631 |
| DONEGAL |
39 |
232 |
| DUBLIN |
2,331 |
2,229 |
| GALWAY |
180 |
363 |
| KERRY |
200 |
162 |
| KILDARE |
496 |
235 |
| KILKENNY |
82 |
41 |
| LAOIS |
32 |
133 |
| LEITRIM |
40 |
14 |
| LIMERICK |
223 |
356 |
| LONGFORD |
34 |
18 |
| LOUTH |
181 |
141 |
| MAYO |
164 |
131 |
| MEATH |
603 |
291 |
| MONAGHAN |
48 |
119 |
| OFFALY |
53 |
44 |
| ROSCOMMON |
251 |
33 |
| SLIGO |
18 |
35 |
| TIPPERARY |
142 |
127 |
| WATERFORD |
159 |
91 |
| WESTMEATH |
241 |
74 |
| WEXFORD |
159 |
209 |
| WICKLOW |
228 |
186 |
| Total |
7,033 |
6,189 |
I've included the SQL query used to calculate these figures for anyone who is interested. If you find any errors, or would like to suggest improvements to the methodology, please send us feedback on our contact us page.
SQL QUERY
select a.name,(a.Total - b.total) as 'Increase in 2016', c.Total as 'UC end of 2016',
(f.total - a.total) as 'Increase first 6 months 2017',e.total as 'UC end of Q2 2017',
(f.total - g.total) as 'Increase Q2 2017 12 Months' from
(select c.name,count(*) as Total from ECAD_q416.ADDRESS_POINT ap
inner join ECAD_q416.BUILDING_INFO b on b.building_id = ap.BUILDING_ID
inner join ECAD_q416.BUILDING b2 on b2.BUILDING_ID = ap.BUILDING_ID
inner join ECAD_q416.COUNTY c on c.COUNTY_ID = b2.COUNTY_ID
where ap.ADDRESS_TYPE_ID in (2150,2180) and b.UNDER_CONSTRUCTION = 'N'
group by c.name) a
inner join
(select c.name,count(*) as Total from ECAD_q415.ADDRESS_POINT ap
inner join ECAD_q415.BUILDING_INFO b on b.building_id = ap.BUILDING_ID
inner join ECAD_q415.BUILDING b2 on b2.BUILDING_ID = ap.BUILDING_ID
inner join ECAD_q415.COUNTY c on c.COUNTY_ID = b2.COUNTY_ID
where ap.ADDRESS_TYPE_ID in (2150,2180) and b.UNDER_CONSTRUCTION = 'N'
group by c.name) b on a.NAME = b.NAME
inner join
(select c.name,count(*) as Total from ECAD_q416.ADDRESS_POINT ap
inner join ECAD_q416.BUILDING_INFO b on b.building_id = ap.BUILDING_ID
inner join ECAD_q416.BUILDING b2 on b2.BUILDING_ID = ap.BUILDING_ID
inner join ECAD_q416.COUNTY c on c.COUNTY_ID = b2.COUNTY_ID
where ap.ADDRESS_TYPE_ID in (2150,2180) and b.UNDER_CONSTRUCTION = 'Y'
group by c.name ) c on c.name = a.name
inner join
(select c.name,count(*) as Total from ECAD_q217.ADDRESS_POINT ap
inner join ECAD_q217.BUILDING_INFO b on b.building_id = ap.BUILDING_ID
inner join ECAD_q217.BUILDING b2 on b2.BUILDING_ID = ap.BUILDING_ID
inner join ECAD_q217.COUNTY c on c.COUNTY_ID = b2.COUNTY_ID
where ap.ADDRESS_TYPE_ID in (2150,2180) and b.UNDER_CONSTRUCTION = 'Y'
group by c.name ) e on e.name = a.name
inner join
(select c.name,count(*) as Total from ECAD_q217.ADDRESS_POINT ap
inner join ECAD_q217.BUILDING_INFO b on b.building_id = ap.BUILDING_ID
inner join ECAD_q217.BUILDING b2 on b2.BUILDING_ID = ap.BUILDING_ID
inner join ECAD_q217.COUNTY c on c.COUNTY_ID = b2.COUNTY_ID
where ap.ADDRESS_TYPE_ID in (2150,2180) and b.UNDER_CONSTRUCTION = 'N'
group by c.name) f on f.name = a.name
inner join
(select c.name,count(*) as Total from ECAD_q216.ADDRESS_POINT ap
inner join ECAD_q216.BUILDING_INFO b on b.building_id = ap.BUILDING_ID
inner join ECAD_q216.BUILDING b2 on b2.BUILDING_ID = ap.BUILDING_ID
inner join ECAD_q216.COUNTY c on c.COUNTY_ID = b2.COUNTY_ID
where ap.ADDRESS_TYPE_ID in (2150,2180) and b.UNDER_CONSTRUCTION = 'N'
group by c.name) g on g.name = a.name
order by a.name