This guide will tell you how to map a population radius catchment area based on travel time rather than distance. By using TravelTime in QGIS, you’ll be able to do a smarter, more accurate population radius analysis.

      What is catchment area analysis?

      In retail, a catchment area is the sphere of influence from which the retailer draws its customers.

      Catchment area analysis is used to pinpoint the perfect location to set up a new retail outlet or identify potential customer base. The analysis is based on a straight-line population radius circle that highlights, for instance, a 15-mile radius.

      Straight line catchment radius

      The problem

      The issue with a distance-based catchment area is that it doesn’t actually reflect the customer’s accessibility to the location. Our access to shops, hospitals, gyms or whatever it may be, is subject to the transport options available to us.

      So when we’re doing population analysis, the distance doesn’t really matter. What really matters is how long it will take customers to get to the shop. A standard distance-based radius doesn’t really help us here.

      So where do we go from there?

      Using TravelTime to create catchment areas

      A TravelTime catchment area takes every variable into account to work out how long a journey will actually take.

      To calculate a travel time catchment area, the user simply selects a point of interest, a mode of transport and their maximum travel time limit. The TravelTime then maps out the places that can be reached within the chosen time limit.

      To see how many people live within that chosen time limit, the TravelTime plugin can be used within the QGIS tool. This integrates census data right down to the individual postcode.

      For instance

      Let's take Marks & Spencer. If M&S wanted to calculate the population within easy access of their stores, they could use the platform to calculate how many people live within 45 minutes drive from each of their sites.

      The accessibility of a store also influences the purchasing behaviour of the visitor. For example, IKEA used the platform to group potential customers and tailor their advertising messaging to different locations.

      The platform is also really easy to use. Here’s a little step-by-step guide on how to use it.

      Step 1 – download the TravelTime plugin

      Open QGIS, and in the Plugins menu click Manage and Install Plugins…

      Under Not installed search for 'travel' and select the TravelTime Plugin.

      Click Install Plugin – the TravelTime toolbox will now be displayed along with the standard QGIS tools in the top navigation, as well as in the Processing Toolbox.

      Click the Settings button from the plugin toolbar.

      As this particular plugin works via an API, you need to get an API key, so click Get a free API key.

      Enter your email address and click GET A KEY.

      Check your inbox for an email containing your login details. Once the email has come through, return to QGIS, enter your App ID and API Key into the fields provided and click OK. You’re now ready to start doing some hardcore spatial analytics.

      Step 2 – plot your stores on a map

      The first stage in most QGIS analytics tasks is to load a base map, so we can see what’s going on. Click the Background Layer button in the toolbar.

      The Browser window will open and display a range of base maps available to you. Select one from the list and double-click to add it to the canvas.

      Now that we have a map, we need to add the stores! We have the list in a very simple Excel document, with one column containing the store ID, and a second column containing the postcode.

      These postcodes need to be converted into coordinates before they can be added onto our map, but luckily the TravelTime plugin that we’ve just installed can do exactly this, with the ‘Geocoding’ tool:

      Select the Excel file from documents, restrict the output to the UK (we know all the stores are in the UK, so we don’t want any potential matches elsewhere to show up), select BEST_MATCH (so we only get one result returned per postcode), set the Search expression as Postcode (the field containing the data to be geocoded), and hit Run. Hey presto, our stores have now been plotted on the map:

      We can rename the Output layer to something more memorable and save it as a permanent layer by clicking the little mousey looking icon next to the layer name.

      Step 3 – calculate the reachable areas

      Time to return to the TravelTime platform plugin, but this time using a different tool called ‘Time Map – Simple’.

      There are a few more fields to fill in this time, but don’t despair, here is what they all mean:

      • We select 'arrival' because we want to calculate journeys for people getting to our stores.
      • We select 'driving', but make a note to go back and try again with public transport - that could be very interesting!
      • We set the arrival time as 3 pm on a Sunday, as this is the peak store time that we care about.
      • 45 mins is about the maximum driving time we think can be classified as 'easy to access'.
      • We simply want to see all of the isochrones for all the stores, so we stick with the NORMAL result aggregation type.

      Hit Run - now we are really getting somewhere. This layer is definitely one we don’t want to lose, so make sure you rename it and save it as a permanent layer.

      We can immediately see the reachable area for each store and can already start drawing some important insights from this. For example, the reachable area for our flagship store in Camden Town is significantly smaller than the other stores. And interestingly there are areas of overlap where potential customers could reach two stores within a 45-minute drive.

      But what we actually want to know is how many people live in these areas. Fortunately, UK census population data is available right down to the individual postcode level, which will give us exactly the granularity that we need.

      Step 4 – adding the population data

      There are two options for getting this data into QGIS. The first is to download the raw data direct from source, and upload from there. This process involves QGIS processing over 1m lat-long pairs and plotting them on the map, which as you might suspect, takes some time. The second option is to add the data from a shape file that has already been processed to be added to QGIS in no time at all.

      Option 1 – downloading the raw data

      The raw census data can be downloaded here.

      Now this is A LOT of data – far more rows than Excel can cope with, for example. But we don’t need Excel, we can import the downloaded csv file straight into QGIS and onto our map. To do this, we need to use the ‘Delimited Text’ data source manager. Simply select the csv file, make sure the file format is set to CSV, and that the X and Y fields are matched up properly, and click Add.

      Option 2 – A small cheat

      We have already processed this population data and created a shapefile that can be added straight into QGIS.

      A single shapefile is actually made up of a number of smaller files (in this case 3) that all do something slightly different. To access the shapefile, simply download the three files linked below, and save them into one folder.


      The final step is to open up the Browser window in QGIS, find the folder where you saved the files, and double click the .shp file to add it to the map.

      Step 5 – calculating the reachable population

      The final piece of the jigsaw is to filter the postcodes by those that are within this reachable area, and QGIS has a tool just for this purpose – it’s called the ‘Clip’ tool:

      The ‘Input layer’ is the layer that we want to filter down, or ‘clip’ - in our case that’s the UK-Population-Data layer. The ‘Overlay layer’ is the layer that we want to use to do the filtering – so for us that’s the Reachable-Driving-Areas layer. Hit Run then sit back and watch the magic unfold.

      And here we have it, the postcodes that are reachable from any of our stores:

      What’s more, if we select the Reachable-Population layer and click the Open Attribute Table icon from the main toolbar, we can view all of the associated demographic data for these postcodes, including population:

      You can now copy this data into your favourite spreadsheet tool, and run whatever further analysis you need.

      And there we go…

      It’s as simple as that. With this easy-to-use tool, you can get your crucial population analysis down to an absolute T, seeing exactly how many people are in reachable journey time to your stores of any other locations.

      To sign up to our platform, click the link and receive your TravelTime API key today.



      Share this article

      Create travel time polygons and matrices with the TravelTime API