The growth in online consumption and the shifting consumer culture towards convenience and value impact the health of retail centres in complex ways, potentially leading to long-term changes in their structure. The rise of online sales was particularly noticeable during the COVID-19 pandemic and the shift toward value for money in the current ‘cost of living crisis’. Adjusting to these trends often involved rationalising of their store portfolio and adoption of new business models. The traditional town centre ‘brick and mortar’ retailers have primarily considered supply-side effects such as competition, retail mix or vacant spaces. However, there has been less focus on demand effects, such as catchment demographics and socio-economic characteristics. Understanding the geography of consumer behaviour at a small area level is crucial for understanding the vitality and viability of both retail centres and the retailers themselves. Such consumer insights form the basis for site location analysis, in conjunction with an analysis of key competitors.
The Internet has revolutionised the way in which people consume products and services, however a variety of factors influence these use and engagement behaviours. Understanding the geography of these influences is complex, although, one way in which this has been made tractable is through various geodemographic classifications. However, these only tell you about the characteristics of the places in which people live and their environments, but not where they shop?
The objectives of this practical are:
a) to examine the geography of retail supply and demand related
factors
b) to evaluate the extent to which retail centres are exposed to
consumers with different income and online consumption behaviour;
c) to choose the most suitable location for a new discount supermarket
in Liverpool
In this case study you take on the role of a property agent who is advising retail clients about those locations most suitable for their new premises.
In addition to reinforcing learning from earlier practicals, you will also be developing the following GIS skills and understanding:
Taking on the role of a location analyst, in no more than 500 words, write a short summary report that identifies the most suitable location in Liverpool for a discount grocery store that will have a click & collect facility, using the results of your GIS analysis as evidence. In your analysis you should consider: • store catchment characteristics (total population both day and nighttime, affluence derived from IMD, online shopping propensity derived from the Internet Use Classification (IUC) • competition between existing stores. Use population data from Practical 1 and IMD, IUC and store location data from Practical 2. Include 4 to 6 maps and a numeric table as your GIS analysis evidence. This assignment will be summatively assessed and counts for 50% of your overall module grade. For higher marks also provide a flowchart showing the steps that you have taken in your analysis (optional). More details on the Assignment will be provided in week 4 during the lecture.
The Index of Multiple Deprivation (IMD) is a UK government measure used to assess levels of deprivation across small geographic areas (Lower Layer Super Output Areas, LSOAs). It provides a relative ranking of neighbourhoods based on multiple dimensions of deprivation. The IMD is widely used in policy-making, funding allocation, and research to identify disadvantaged areas.
The Income domain of the Index of Multiple Deprivation (IMD) measures the proportion of the population experiencing low income and financial hardship. It is one of the most heavily weighted components of the IMD, accounting for 22.5% of the overall deprivation score.
Open the IMD 2015 folder in your working directory and load the shapefile for Liverpool
Name the layer IMD2015
Go to Properties open the Symbology tab and select Graduated from the drop down menu.
In the Value field choose income, type
5 in the Classes field and choose
Equal Count (Quantile) as your
Mode
Press Classify and then OK buttons; this will close the dialog window and show you the map.
Can you specify the threshold that defines the lowest quintile of
the IMD Income domain for Liverpool?
To find this out, go to the Histogram tab within
Symbology. Click Load Values and check
the thresholds and distribution of the Income
domain
By now, you should have created a map of Income deprivation domain
quintiles for Liverpool which looks something like the one below:
What do terms quintile and quantiles mean?
What is the mean value of the Income domain, and what are the standard deviation values?
There are other classification methods (Modes) available in QGIS; try them and see what difference do they make to the outcome map
Which method may be the most appropriate in this case
Your next task involves displaying the LSOAs within the lowest IMD quintile and then checking visibly whether there is an overlap between the IMD income domain and propensity for online shopping. Think about how you might proceed with this analysis… Give it a go; however, if you are stuck, follow the steps below:
IMD2015
layer and click on Select features using an
expression- How many polygons have you got selected? - What does the selection actually displays and how would you interpret it?
Next, we will explore the Internet User Classification (IUC) data for Liverpool created in 2014. The IUC was created from over seventy measures selected from survey and lifestyle data, alongside census and infrastructure performance statistics.
In order to display the Internet Use Classification, we first need to
familiarise ourselves with the IUC User Guide (attached in
the folder) and then the structure of the associated database, so we can
decide what field to use best in order to display our data. Follow the
steps below:
In fact, we are going to create two maps, the first showing a more aggregated classification based on the IUC supergroup and the second a disaggregated one, based on the IUC group.
This will create your first IUC map for Liverpool, well done! However, those default colours do not look great?. In this instance, we are going to use ColorBrewer ColorBrewer pallets to display the different IUC groups and then we’ll remove the black LSOA boundaries.
IUC supergroupYour map disaggregated by IUC supergroup should look similar to the
one shown below:
IUC supergroup layer (right
click IUC supergroup > Duplicate Layer) and create a map of IUC in
Liverpool using the group variable (grp_nm) rather that a
supergroup.(Note: you may need more colour schemes than there are available from ColorBrewer by default, so one way is to design your own symbol display such as line pattern fill/point pattern fill as your symbology.)
IUC groupComment on the spatial patterns of Internet use in Liverpool
Nationally, rates of online shopping equated to 53% in 2014, however
there were differences between IUC Groups (clusters) as some customers
are more likely to shop online than others. For example, groups 4c (low
density but high connectivity), 4b (constrained by infrastructure), 4a
(e-fringe) and to an extent 2a (next generation users) are most likely
to engage in online shopping; whereas: 3a (uncommitted and casual
users), 1b (e-marginals: not a necessity) and 3b (young and mobile) have
lower than average propensities as shown on the plot below.
So, in this part of the practical we will look at the issue of online shopping prevalence and will display those areas in Liverpool that exhibit the highest prevalence of online shopping. In order to do so, we’ll need to do some variable recoding; in other words create a new variable where 1 is associated with higher prevalence of online shopping and 0 with lower. Do the following tasks:
Refer to the pen portraits (descriptions) of different IUC groups, available from the IUC User Guide
Open the Attribute Table of the
IUC_group layer
Click on Open field calculator and make sure
that the Create a new field box is ticked
In the Output field type: OnlineShop
Choose from Functions window the Conditionals and then the CASE conditional
Create a statement in the following format:
“WHEN condition = x THEN the assigned value is 1, otherwise (ELSE) the
assigned value is 0”. In our case we assign the value of 1 to groups 4a,
4b and 4c (high online shopping prevalence), and all other IUC groups
(lower prevalence) have the value of 0. Give it a go and then check your
conditional statement against the picture below:
Click OK to create the new variable
Check the Attribute table - a new column with our binary variable should be added
Now, we will display the new variable and then create a map that can be printed or published; more specifically a map showing the LSOAs with the highest propensity for online shopping. Follow the steps below:
IUC_group layer and click on
DuplicateOnline shopping prevalenceIn order for your map to be publishable, you need to add a legend, a scale bar and a north arrow, and possibly a title. Utilising the skills from Practical 1 (Part 3), you should be able to do it yourself. Nevertheless, the key steps are listed below:
Online shopping prevalence, click OKRetailCentres_Liverpool layer from section 3.1)However, creating only a binary variable masks some variance present in our data, so in this step, we will create an ordinal variable for which the values are ordered (the online shopping prevalence is captured from high to low).
Open the Attribute Table of the
IUC_group layer
Click on Open field calculator and make sure
that the Create a new field box is ticked
Name the Output field: IUC_ordinal (there is a 10 character limit with column names so it is okay if the name is cut off)
Choose from Functions window the Conditionals and then CASE
Assign the highest value (e.g.’4’ - high prevalence) to the following IUC groups: ‘4a, 4b and 4c’
Assign ‘3’ (above the average prevalence) to groups ‘2a and 1c’
Assign ‘2’ (below the average prevalence) to groups ‘1b and 3a’
Assign ‘1’ (low prevalence) to the remaining IUC groups
Your Conditional should look something like this:
You may wish to create another (text) column that will record the
names (high prevalence, above the average etc.) rather than just the
pure numbers
Map the output;duplicate the layer and name the layer
Online Shopping Ordinal
Comment on the spatial variation; is there a likelihood of a spatial autocorrelation?
A retail catchment can be defined as the areal extent from which the main patrons of a store or retail centre will typically be found. There are numerous ways in which catchments can be delineated, depending on the requirements for a particular study, available data, software used or the analytical capability of a practitioner. The simplest technique might be to draw buffer rings around a store or retail centre; however, such a technique is naive as it doesn’t consider geographical barriers or competition. More advanced methods referred to as ‘Gravity’ and ‘Spatial Interaction Models’ delineate catchment areas by considering the spatial distribution of competing locations and evaluating their relative attractiveness to different groups of the population.
In the remainder of this practical, we will create retail catchment areas using both simple and more sophisticated methods. First, we will create buffer rings around retail centres in Liverpool and then we will use drive distance polygons too (you can also create drive distances, but this is optional). The latter method will incorporate a ‘Retail Attractiveness Index’ to depict the possible impact of retail hierarchy on the catchment extents.
First, load retail centres data for the entire country
GB_RetailCentres (located in Practical 2 data >
retail)
From the Vector menu choose Geoprocessing tools and then Clip
Fill in the window so that you have the
GB_RetailCentres layer as your input layer,
IMD2015 (or any other layer with Liverpool boundaries) as
your Overlay layer and save the new shapefile to your output folder.
Name it RetailCentres_Liverpool
Click OK; the new layer should be automatically
added to the Layers Panel
Remove the GB_RetailCentres layer
Now, let’s create the primary catchments (typically depicted by a small distance from the retail centre or more than 50% of the patronage) and secondary ones (typically larger distances from the retail centre or patronage levels of between 20%-50%) using a simple technique such as buffer rings. Follow the steps below:
Create Primary catchments by using a buffer distance of 2000m (go to Vector/Geoprocessing Tools/Buffer)
Fill in the dialog box as follows: select
RetailCentres_Liverpool as your Input
layer and type 2000 in the Distance
field
Save the Output shapefile to your working
directory; name it Buffer2000 (see the picture below)
Create Secondary catchments by using Buffer distance of 4000m
(repeat the above steps and name the new layer:
Buffer4000)
Render the image by adjusting colours, transparency etc.
Add labels by going to Properties of the
RetailCentres_Liverpool layer
NAME from the drop down menuNote: if the name is too long you can adjust it in the Toggle
editing mode - Go to the Attribute Table turn
on the Toggle editing mode and delete part of the name
e.g. Wavertree - You should now have created a map that looks similar to
the one below:
Comment on the retail catchments computed by the buffer rings
method:
- Can the primary catchments be distinguished easily from the -
secondary ones?
- Is the hierarchy within the retail centres accounted for in any
way?
- How do you think these representations could be improved?
Although the distinction between the primary and secondary catchment areas is reasonably clear, their extents are far from being realistic. One of the major reasons for it is that the so-called hierarchy of retail centres has not been accounted for. Typically, such hierarchy relate to their size, attractiveness and the geographical extent of a retail centre influence, with those centres towards the upper end of a hierarchy typically offering a ‘multi-purpose shopping’ experience, and as such, drawing consumers from a wider area. Conversely, smaller town or district centres will typically serve a different function, and therefore be patronised more prevalently by local communities. Based on the Index of Retail Centres Attractiveness developed by Dolega et al., (2016) available at https://www.sciencedirect.com/science/article/pii/S0969698915300412, in Liverpool at least 3 types of town/retail centres can be distinguished: City Centre (Liverpool), District Centres (Allerton Rd, Old Swan, Kirkdale) and Local Centres (the remaining centres). Note: this classification doesn’t include Retail and Leisure Parks.
We can add information on retail hierarchy in Liverpool to the attribute table of the relevant Shapefile. As such, we will have to create a new variable and again code some new values for each polygon (retail catchment). We will do this by recoding our variables using the “CASE” conditional function introduced earlier on.
Go to the Attribute Table of the
RetailCentres_Liverpool layer, open Field
Calculator and put Hierarchy as the Output
field name
In the Expression window create a conditional
statement: CASE WHEN condition THEN result, ELSE result. In
our case, we want to assign a value of 1 to Liverpool; value of 2 to
Allerton Rd, Old Swan and Kirkdale and value of 3 to the remaining
centres. Give it a go, however if you get stuck try the following
statement:
CASE
WHEN “NAME” = ‘Liverpool’ THEN ‘1’
WHEN “NAME” = ‘Allerton Road’ THEN ‘2’
WHEN “NAME” = ‘Old Swan’ THEN ‘2’
WHEN “NAME” = ‘Kirkdale’ THEN ‘2’
ELSE ‘3’
END
Go to Vector > Geoprocessing Tools > Buffer
In the buffer window select RetailCentres Liverpool
layer as your Input vector layer and this time click on
Data defined override > Edit (next to the
Distance window)
Create another CASE conditional statement (similar
to the one above although the ‘condition’ will be different this
time)
Create a buffer distance based on the hierarchy: 5,000 meters for Hierarchy 1; then 2,000 meters for Hierarchy 2; and 1,500 meters for Hierarchy 3
Save the new Buffer rings to your working directory as
BufferHierarchy
The new buffers should be added automatically to the Layers Panel
Since you need to create a map of Buffer rings taking into
account the hierarchy of retail centres you should make your map very
clear. Try the following:
Adjust transparency of the newly created layer and try different colours and transparency so the overlaps are visible
Label the centres and adjust the size of your points to reflect
the hierarchy - as shown on the map below (Use the
CASE, WHEN condition THEN result, ELSE, END) statement in
the layer’s Property/Size field to display different
sizes of points e.g. for Hierarchy 1 - point size 5, Hierarchy 2 - point
size 3 and Hierarchy 3 - point size 2. Analogically, you could also use
the CASE conditional to adjust the size of labels.
Despite considerating hierarchy, there are still serious limitations to the buffer approach as this does not account for the real world/geographical barriers such as rivers, lakes, or railway tracks etc. A more accurate approach could be to consider road distances using a drive time/distance technique. Both techniques are still popular amongst the major retailers, so we will make some use of it too. This method is more complicated that the buffers and typically involves either using pgRouting extension or Network Analyst in ArcMap Pro. Delineating drive/walking distances is beyond the scope of this tutorial so these catchments are available from the Practical 2 data > Drive distances folder.
drive_distance2000 shapefile, drag and drop
it to your QGIS Layers Panel and overlay it onto (place above) the
Buffer2000 layer- What are the main differences in the catchment extents drive distances vs. buffer rings? - How do they differ and why? - What are the limitations of these approaches?
However, if you wish to give it a go at creating your own drive distances catchments (this exercise comprises of 2 steps and is optional), the steps are below:
First we need to set up ArcGIS and then we’ll do network
analysis
- Open ArcGIS by going to Start menu > ArcGIS Pro -
Click on the Map icon - a new map/project will open
The Retail folder should appear now in your Catalog window.
The ArcGIS setup is done now, so you’re ready to start your analysis
RetailCentres_Liverpool layer by dragging and
dropping the .shp file to the Table of ContentsRoadLiv layer to the Table of
Contents. (If you use a different version of ArcGIS Pro than
3.3.0, you’ll need to add the RoadLiv_ND.nd layer, which is
your Liverpool road network).Note: If the RetailCentres_Liverpool has been saved as a
geopackage, resave the layer in QGIS as a shapefile first, and then add
it to your Practical 4 data > Retail folder
Click on the Analysis tab and then
Network Analysis > Service Area
A new layer called Service Area will be added to the
Table of Contents
Click on the Facilities and then select the Service Area Layer tab located at the top of ArcGIS toolbar
Add the retail centre locations by clicking on the Import
Facilities icon and choose RetailCentres_Liverpool
as your Input Locations, click Apply and then
OK
Once the retail centres locations have been added to the Facilities, set your Cutoffs to 1 (the distance units are preset to km) and set your Mode as Driving Distance
By now, the NetworkAnalyst > Service Area
Layer window should look something like the picture
below:
Play with other settings e.g. use Polygons or Polygons and Lines under the Polygons tab drop down menu
Click the Run button
This will generate 10 service areas (retail catchments), each
delineated for 1km drive distance
You can also generate multiple drive times/distances by specifying two or more different distances in the Cutoffs window (e.g. type 1, 2 and hit the Run button again)
The output below shows the map of service areas for Liverpool
Retail Centres delineated for 1km and 2km
So if you want to export for example the 1km service areas, do the following:
Liv_DriveDist.shp.Since the global economic crisis of 2008-09, market share of the hard
discounters in the UK has been growing, often at the expense of the
major grocery retailers - the Big 4 (Tesco, Sainsbury’s, Asda and
Morrisons). This trend has been exacerbated by the recent cost of living
crisis. The aim of this exercise is to find the most suitable
location(s) (could be more than one) for a discount supermarket in
Liverpool using GIS analysis. Typically, an analyst would use some
sophisticated location analysis tools such as traffic pattern
information, demographics, lifestyle data and footfall, and would carry
out an analyses of its competitors. A location analysis often requires
looking at footfall traffic generators (in particular when siting
convenience stores), as other retailers in the neighbourhood may draw
customers from various employment sites that are nearby. These could
include industrial or office parks, schools, colleges and hospital
complexes.
In the case of a discount supermarket, it is important to choose the
right neighbourhood as typically, the most affluent catchments tend to
shop more in the upmarket stores (not heavy discounters). First, we will
explore the potential competition and different catchment estimation
techniques.
Liverpool_Foodstores shapefile (located in the
retail folder) to the Layers PanelAs we want to find the most suitable location for a discount supermarket, we can make an assumption that there will be more competition from the supermarkets than convenience stores. As such, for our analysis we can remove the convenience stores from our database.
Liverpool_Foodstoreslayer by using the Select
features using an expression tool in the Attribute
TableLiv_Supermarkets.However, there are 73 supermarkets in Liverpool and therefore
creating that many buffers is not very useful as the map would be very
cluttered. Therefore, in our analysis we will focus only on the direct
competitors - the heavy discounters - Aldi and Lidl stores. - Create a
new layer for Aldi and Lidl supermarkets by using the Select
features using an expression tool in the Attribute
Table (“retailer” = ‘Aldi’ OR “retailer” = ‘Lidl’), name it
Discount supermarkets. How many discounters there are in
Liverpool? - Then create 1500m buffers for the
Discount supermarketslayer and name it
1500buffer_Discounters - You
could also check how similar the distance catchments are when compared
to the buffers. Go to your data folder > Retail >
Disc_DriveTimes1500.shp and add it to your map.
- Make the drive time catchments transparent, but keep the catchment
boundaries. Make them red and set the stroke width to 0.3
It is clear from the map that some areas fall outside the delineated catchments, indicating that these areas are not effectively served by the analysed discount supermarkets. From a competition perspective, these areas could be potential locations for the new discount supermarkets. However, this would depend on demand-related factors like total population, affluence etc.
Locating a new discounter in a vicinity of a larger supermarket doesn’t necessary have to be viewed as a disadvantage, providing of course, that the level of market saturation is not very high and you know the catchment’s demographics. One way of obtaining new insights to decide where to locate a store is to examine the analogue stores. As such, we will examine the catchments of other discount supermarkets in Liverpool.
Understanding the potential consumers and their spatial distribution that discount supermarkets are likely to target is vital here. Research shows that the predominant locations are either city/town centres or other urban areas, especially those with less affluent catchments. So let’s explore that - we will examine the relationship between Income deprivation in Liverpool and the discount supermarket locations.This exercise will use 1500m buffer catchments to obtain the statistics.
IMD 2015 layer (or use it the one from Section 2.1 if you
have it open)1500buffer_Discounters (Select features from:
IMD2015, Where the features: intersect, By
comparing to the features from:
1500buffer_Discounters) So based
only on this very simple analysis we can make an assumption that the new
discount supermarket should be located in a neighbourhood that is
slightly less affluent than the city/regional average and has mixed
demographics (population characteristics).
Next, we will examine total population for our catchments (this could be extended to checking other population-related factors such as density or difference in total population between various catchments, as well as the demographic/employment composition of each catchment)
Similarly to the above section (4.1.1), select any catchment area and check what is the total population of it (this can be referred to as potential patronage of that store).
Again, use the Select by Location tool to select all the LSOAs in your residential/night time population layer that intersect with a discount store catchment area of your choice
Repeat this for other catchment areas
The total population should vary between 8,000 and 60,000 people per catchment
Nevertheless, it is important to bear in mind that many of these catchments are overlapping so in some cases we count the same residential population twice - a phenomenon also called cannibalisation. So for this reason it would be useful to calculate the average population count per catchments.
On the other hand, the day time population within the city centre is much higher that the residential population (ONS estimates) so combining the above results with the workplace zone population may be useful. In particular, this is important for the location of corporate convenience stores, as the larger employment sites play important role in creating demand for convenience goods retail.
Having done some analyses, we can now decide on the most suitable location for our new discount store. It is pretty obvious from the map that there are no discount stores in the north-east and especially in south Liverpool. The map of income deprivation suggests that both areas could be considered. The population distribution and the relatively low affluence levels suggest that Garston or Speke area (South Liverpool) can be most suitable.
Taking into consideration the existing road network, create a new point indicating the potential location of a new discounter,
Go to Layer > Create Layer > New Shapefile Layer
In the window that pops up give it a name:
New Discounter
Choose Point from the drop down menu as your
Geometry Type
Set Your CRS to British National Grid and Click
OK
The newly created (empty) layer will be added to your Layer Panel
Right click on it > Toggle Editing and then
from your Toolbar menu use the Add Point feature tool
to create a
point in Speke Boulevard
Open the Attribute Table of the new layer
Toggle Editing > New Field
Type Name as your field name, choose Text (String),
length 50
You can now enter a name for your newly created store in the Attribute Table
Call it New Discounter
Toggle Editing Mode off > Save Edits
Now you can create a 1500m buffer
You can also add a service area/drive distance catchment from
your data folder (N_discounter_drive_time.shp) for the newly allocated
store.
Now you can check the total population and income deprivation levels for the New Discounter catchment. Is it in line with other similar stores?
Please note that the LSOA level is too coarse for the real world location analysis, OAs would produce much more accurate estimates; however we use free data only and most of our variables are available at LSOA level only.