This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
Data Products 101
Part 3: Drivetimes
In Part 2 of my Data Products 101 series I covered giving context to our spatial data with Maps, but what if you’ve never worked with spatial data before? What does a typical spatial use case even look like? We’ll cover getting you started with spatial data and more using the Drivetime Data available with each Location Insights package in this article.
Before we dive in, have you installed your data yet? If not be sure to check out Part 1 of this series first.
Let's get started:
Taking Drivetimes for a Spin
So, what is Drivetime Data anyways? At a high level, it’s a catalog of road segments and their associated speed values. Alteryx has a few tools which can leverage this data to determine point-to-point drivetimes or how far can you drive in any direction from a point within a set interval of time (aka "isochrone"). The latter is especially useful for a very common use case in Alteryx – trade area analysis defined by a drivetime threshold rather than a fixed distance radius.
Let’s jump in and build our first trade area. I'll use US data from the Location or Business Insights package, but this example will work for any of the countries we offer Location Insights data for.
First, pull in a Map Input tool onto our canvas and select the TomTom US base map. Add a point to the map via the configuration option at the top left. This point will represent the store that our trade area will be built around.
Next, bring a Trade Area tool onto our canvas and connect it to the Map Input tool. We'll use the default selections for now, but I highly recommend checking out the Trade Area Tool Mastery article on the Community whether you’re new to the Trade Area tool or a seasoned spatial veteran. This tool is jam packed with features and the Tool Mastery article is a great deep dive.
A few things to note here:
The SpatialObj field will automatically configure since we only have one field containing spatial data. Be sure to select the correct field for your analysis if you have multiple spatial object fields.
By default, the Trade Area tool will be configured to build radius-based trade areas using miles as the unit.
Let’s leave the tool in the default configurations so that we can visually compare the differences between radius-based and drivetime-based trade areas. Go ahead and throw a Browse tool after the Trade Area and run the workflow.
As we can see, our trade area is a perfect circle with a radius of 5 miles. The point we see in the center of the circle is our store location that we created in the Map Input tool.
Let’s go back to our Trade Area tool and reconfigure it to create a drivetime-based trade area as pictured below.
You probably noticed a few things when applying these changes:
There are three different versions of drivetime data – Peak, OffPeak, and Night. OffPeak is the ‘medium traffic’ option, Peak is the ‘heavy traffic’ option, and Night is the ‘light traffic’ option.
We didn’t change the value for ‘Specific Value’. As you may have guessed based on the units – it’s no longer a 5-mile radius, or even a 5-mile drive distance, but rather a 5-minute drivetime. This means that the edge of our trade area will be the maximum distance you can drive in 5 minutes from the point we built our trade area around.
After rerunning our workflow – we can now see a trade area with a completely different shape. Every point within the green boundary of our trade area is 5 minutes or less drivetime from our store. You may notice that our trade area has “arms” that extend beyond the “body” of the trade area. This is due to some streets having better traffic flow (e.g. higher speed limits, less traffic stops, etc). You may also notice areas where the trade area doesn’t extend much into and this can be due to opposite (i.e. low speed limits and many traffic stops) or there may just not be roads present.
Using Drivetime Data to Drive your Analysis
Great, so now that we have our drivetime trade area – what do we do with it? Trade area analysis covers a gammut of topics; ranging from understanding current customers, analyzing the competition, identifying potential new customers, and much more. For our purposes – we’ll walk through a couple of simple customer analysis cases. However, the sky is the limit and here are a few use cases for Trade Area analysis to spark your imagination:
The Right Location for Healthcare Facilities
Using Spatial Analytics for Retail Site Analysis
Understanding Consumer Behavior with Mobile Device Location Analysis
A classic entry point to trade area analysis is answering the simple question of: “How many of my customers live within X miles/minutes of my store?” For this example – I’m going to explore how many of my customers live within 10 minutes of our store.
First, I load in my customer file which consists of a unique ‘CustomerID’, a ‘Centroid’ SpatialObject point which represents the customers address, ‘Weekly_Visits’ count, and ‘Visit_Spend’ amount.
In my example customer file, I already have a SpatialObject point representing the customers address. However, in many cases your customer file may only have an address. This is a perfect use case for the Geocoder which is included in every Location Insights package.
Next, I’m going to create a 10-minute trade area around our store.
Finally, we need to do a spatial join. This is going to use a tool that may be new to you – the Spatial Match tool. This tool has a variety of configuration options which the help documents cover in a great visual format. For our purposes – I’m going to connect our Customer data stream to the T input (Targets) and the Store trade area stream to the U input (Universe). I also need to make sure that the ‘SpatialObject_TradeArea’ is selected as my Spatial Object Field for the Universe input as this is our trade area and the ‘SpatialObject’ field is the point for our store. The final step is to set the join condition to ‘Where Target Within Universe’.
Now that we’ve configured our workflow, let’s throw a browse tool on the M output (Matched) and the U output (Unmatched) and run the workflow so that we can visually see our data.
These 24 red points are our customers that are within 10 minutes driving from our store.
And these 438 red points are all our customers who are outside our 10-minute trade area.
Going the Distance with your Analysis
Great – now we know that most of our customers live much further away than 10 minutes driving from our store – but we don’t know how far the furthest customer is. If we knew how far our furthest customer lived, then we would be able to create a trade are which encapsulates all our customers without extra bloat. So how can we accomplish this?
Another important tool which leverages the drivetime data is the Distance tool. As the name implies, the primary function of the Distance tool is to measure distance from point A to pint B – including drivetime and driving distance. We can use this tool, in combination with a few others, to figure out how far our furthest customer lives.
First, we need to append our store location to our customer data. We will do this with an Append Fields tool. Hook the customer data stream to the S input (Source) of the Append Fields tool and the store data stream to the T input (Target). Also, be sure to set the option to allow all appends.
Next, we will configure a Distance tool. By default, ‘Output Distance’ will be selected. This option measures straight line distance, not driving distance. We want to de-select this option, and then select the ‘Output Drivetime & Distance to Destination Centroid’ option. We need to make sure that ‘TomTom US OffPeak – Most Recent Vintage’ is selected as our Dataset as this is the same dataset we are using to generate our trade areas.
I’m going to leave ‘Route Optimized by’ as ‘Time’ because we are creating drivetime-based trade areas. I’ll also leave ‘Allow Reverse Routing for Optimum Speed’ checked as this speeds up the run of the workflow and I’m not too concerned about incredibly precise results. I’m going to set ‘Maximum Minutes’ to 45 instead of keeping the default of 30. This is because I am familiar with the Denver metro area and I think that some of my points may fall further than 30 minutes, so I want to make sure that all results are included.
Finally, I am going to sort my data by DriveTime in Descending order because I want to know how far the furthest customer is, but also what the next few farthest customers are just in case the furthest is an outlier. Now let’s run the workflow and check out the results.
From these results, I can see that our furthest customers live almost 25 minutes away from our store. Therefore, I know that a drivetime-based trade area of 25 minutes should cover all our customers. Great, now what can I do with this information? Well, we have a count of weekly visits and spend per visit in our customer data – maybe there’s a correlation with drivetime distance.
Put a Ring on your Insights
Let’s revisit our initial trade area workflow and take advantage of one of the more hidden functionalities – trade area rings. I’m going to analyze customers based on the following drivetime distance brackets: 0 to 15 minutes, 15 to 20 minutes, and 20 to 25 minutes.
The way we configure a ring in the trade area tool is to specify the start and end values separated by a hyphen (e.g. 10-15). We can also specify multiple trade areas within a single tool by separating our unique values with a comma (e.g. 10,15). The ‘Specific Value’ that we need to use then is: ’15,15-20,20-25’.
Note that our initial value is just ‘15’ and not ‘0-15’. This is because our initial trade area ‘ring’ isn’t actually a ring, it’s just a polygon, therefore we don’t need to specify a starting distance of ‘0’.
Now that we have our customer points matched to our trade area rings, lets create an ‘Average Weekly Visits’ and an ‘Average Visit Spend’ field for each trade area ring.
Finally, let’s wrap it up by creating a ‘Total Weekly Spend’ value for each of our rings by using a formula tool.
Now let’s inspect the results.
As we can see above, the customers who live nearest to our store visit the most, spend the least per visit, but also spend the most overall. And the opposite holds true for our customers who live the furthest away. This is the type of spatial driven analysis which could help our marketing campaign better target our customers and drive better results.
One of the most powerful features of trade areas in Alteryx is the ability to append demographic values to them. For those of you who have purchased the Business Insights package, you may have explored the demographic analysis tools, or at least you may have seen the names ‘Experian US’, ‘Experian Full US ACS’, and ‘US Census’ when installing your data. These are your demographic datasets and you can append any field from those datasets directly to your trade areas.
The most exciting part of this feature is that you can calculate demographics for the trade area itself, and not just for given geographies that fall within your trade area, like ZIP Codes (although you can append those too).
If you haven’t purchased the Business Insights package but would like to test out this powerful feature, you can download the ‘US CENSUS 2010 - FREE DATA’ package from the downloads and licensing portal under the ‘Data Packages’ section. Follow my installation guide in case you forget how to navigate the downloads page or the data installer.
Let’s go back to our multi-ring trade area and add in an additional trade area that covers the entire 25-minute area. This new trade area will serve as a baseline that we can compare our rings to. Our ‘Specific Value’ should now be: 15,15-20,20-25,25.
Next, we’re going to bring in a new tool - the Allocate Append tool - and connect it to our data stream. We’re going to select the US Census 2010 dataset as our dataset. We need to set the ‘Records Are:’ dropdown to ‘Custom Geographies’ and the ‘Spatial Field’ as our trade area field: ‘SpatialObject_TradeArea’.
Next, we are going to select our demographic variables. I’m going to select ‘Total Population’, ‘%Total Female’, and ‘% Hispanic or Latino’ as the demographic variables I’m interested in.
Finally, let’s review our results.
As we can see here, a marketing campaign which targets potential Hispanic/Latino costumers will be most effective in our 15-minute radius, and least effective in our 20 to 25-minute radius. A general marketing campaign would have the most reach in our 20 to 25-minute radius as that ring has the highest population. A marketing campaign which targets women consumers would have fairly equal effectiveness across our entire trade area as one which targets men.
Appending demographics to drivetimes is a popular and powerful way to leverage Location Insights with Business Insights. If you want to learn more about our demographic data and the Business Insights packages, then be sure to stay tuned for Part 4 of my Data Products 101 series – All Things Allocate.
You may notice that my demographic fields have very descriptive field names, rather than a more coded field name that you will see when exploring our demographic datasets. This is because I used a simple trick to rename my fields using descriptions from the Allocate Metainfo tool. If you want to apply this process to your workflows, be sure to check out the Allocate Rename Fields Macro .
Ever wonder about the “behind-the-scenes” calculations of Alteryx’s drive times? How does Alteryx know how long it would take to travel from Point A to Point B? This post explores the “speed” variable used to calculate Drivetimes.