Opening a new Pizza Hut location in Honolulu

Context

Advanced difficulty banner

Identifying an optimal location for a new store is not always an easy task, and we often do not have enough data at our disposal to build a solid model to predict potential revenues across an entire territory. In these cases, managers rely on different business criteria to make a sound decision for their expansion strategy. For example, they rely on defining their target market and segmenting population groups accordingly in order to locate the store closer to where the target market lives (e.g. areas with a great presence of youngsters).

In this example, we are going to use CARTO’s Analytics Toolbox for Snowflake to explore good locations to open a new Pizza Hut restaurant in Honolulu, Hawaii. For that, we will perform Commercial Hotspots analysis.

Requirements

To run this example you'll need:

  • An active CARTO organization

  • The latest version of the Analytics Toolbox Advanced installed in your Snowflake database

  • CARTO Academy - Data for tutorials and examples from Snowflake's Marketplace. With this free listing, users can access a set of sample tables with geospatial data that can be used to test and evaluate the CARTO geospatial analytics platform running natively on Snowflake

Area of study

We will start by defining an area of interest for our study, which in our case is a buffer of 5 km around downtown Honolulu.

SELECT CARTO.CARTO.ST_BUFFER(ST_POINT(-157.852587, 21.304390), 5000);

Pizza Huts locations in Honolulu

Next, we will find all Pizza Hut restaurants in Honolulu using OpenStreetMaps’s Planet Nodes dataset, available through CARTO’s Data Observatory. An extract of this table containing only the Points of Interest in Honolulu can be found in CARTO_ACADEMY_DATA.CARTO.HONOLULU_PLANET_NODES.

SELECT VALUE['value']::VARCHAR AS BRAND, GEOMETRY
FROM CARTO_ACADEMY_DATA.CARTO.HONOLULU_PLANET_NODES, lateral FLATTEN(all_tags)
WHERE ST_CONTAINS(CARTO.CARTO.ST_BUFFER(ST_POINT(-157.852587, 21.304390), 5000),
                  TO_GEOGRAPHY(GEOMETRY))
AND ((VALUE['value'] = 'Pizza Hut' AND VALUE['key'] = 'brand'))
;

Prepare data for our analysis

For our analysis, we will subdivide the area of study into H3 grid cells of resolution 10 using the H3_POLYFILL_TABLE function. The result is stored in CARTO_ACADEMY_DATA.CARTO.HONOLULU_PIZZA_AOS.

CALL CARTO.CARTO.H3_POLYFILL_TABLE(
  'SELECT CARTO.CARTO.ST_BUFFER(ST_POINT(-157.852587, 21.304390), 5000) AS GEOM',
  10, 
  'center',
  'MYDB.MYSCHEMA.HONOLULU_PIZZA_AOS'
)

Our customer is interested in looking for areas with a high density of population between 15 and 34 years old and that do not have an existing Pizza Hut restaurant nearby. Therefore, we enriched the H3 grid of our area of interest with a set of population variables from the ACS Sociodemographics dataset at census block group level, available for free through our Data Observatory.

For H3 enrichment with ACS variables, we used CARTO's Analytics Toolbox enrichment capabilities for Snowflake. If you're new to enrichments, you can explore this example of data enrichment using CARTO's Data Observatory.

In addition to the population, Pizza Hut would like to consider for the analysis the distance to the closest existing Pizza Hut as they would like to avoid cannibalization between their own restaurants. To achieve this, we compute the distance to every Pizza Hut restaurant for every cell in our grid using the H3_DISTANCE function and retain the minimum value.

You can access the resulting table CARTO_ACADEMY_DATA.CARTO.HONOLULU_PIZZA_AOS_ENRICHED_SUM_WDIST.

Find suitable locations

Now, we are going to identify areas that meet Pizza Hut requirements, i.e., locations with large populations aged 15-34 and far from existing Pizza Hut restaurants.

In order to identify these locations, we use the COMMERCIAL_HOTSPOTS procedure, which is part of the retail module of the Analytics Toolbox. This functionality identifies areas with values that are significantly higher than the average.

As can be seen in the query below, we are using both the SUM_POP (total population aged 15-34) and DIST (distance to the closest Pizza Hut) variables to identify our hotspots. These variables are given a weight of 0.7 and 0.3, respectively. Check how to further parametrize this analysis in the documentation.

CALL CARTO.CARTO.COMMERCIAL_HOTSPOTS(
    -- Input: Table with input data
    'CARTO_ACADEMY_DATA.CARTO.HONOLULU_PIZZA_AOS_ENRICHED_SUM_WDIST',
    -- Index column
    'H3ID',
    -- Name of the columns to be considered for hotspot calculation
    ARRAY_CONSTRUCT('SUM_POP','DIST'),
    -- Output table
    'MYDB.MYSCHEMA.HONOLULU_PIZZA_AOS_ENRICHED_SUM_WDIST_HOTSPOTS',
    -- Options
    '{
        "variable_weights":[0.7,0.3], 
        "kring":2, 
        "kernel":"uniform",
        "pvalue_thresh":0.01
    }'
);

Visual analysis

We can look for suitable new locations for Pizza Hut by plotting all the information of our analysis using a CARTO Builder map. In the map below, we can explore where our target population lives in the context of the identified commercial hotspots and the location of Pizza Hut’s competitors.

Last updated