Build a store performance monitoring dashboard for retail stores in the USA


In this tutorial we are going to visualize revenue performance and surface area of retail stores across the USA. We will construct two views, one of individual store performance using bubbles, and one of aggregated performance using hexagons.
By visualizing this information on a map we can easily identify where our business is performing better and which are the most successful stores (revenue inversely correlated with surface area).

Steps To Reproduce

  1. 1.
    Go to the CARTO signup page.
    • Click on Log in.
    • Enter your email address and password. You can also log in with your existing Google account by clicking Continue with Google.
    • Once you have entered your credentials: click Continue.
  2. 2.
    From the Navigation Menu in the left panel, select Data Explorer.
  3. 3.
    Select the CARTO Data Warehouse connection and click on demo data > demo_tables from the collapsible tree.
  4. 4.
    Selected “retail_stores” and explore the preview of the map and the details of the table.
  5. 5.
    Create a map by clicking on the Create map button on the top. This will open the table as a layer on a CARTO Builder map. Check Creating a map from your data to get started.
  6. 6.
    Change layer name to “Retail Stores”. Click on Layer style to start styling the layer.
  7. 7.
    Click on the “three dots” icon in the Fill Color section and select “Color Based On” feature Size_m2. Pick a gradient palette (versus one for a categorical variable), and set the gradient steps to 8
  8. 8.
    Now click on the options for the Radius configuration and in the section “Radius Based On” pick the column Revenue. Play with the minimum/maximum size to style the layer as you like.
  9. 9.
    Go to Widget tab. If you haven’t created a widget yet, you will see the following page:
  10. 10.
    Click on New widget button and select “retail_stores”.
  11. 11.
    First, we create a widget for the Total Revenue. Select the SUM operation on the revenue field, adjusting the output value format to Currency. Add a note to indicate we are calculating revenue shown in the viewport. Rename to “Total Revenue”:
  12. 12.
    Next, we will create a widget to filter by store type. Select CATEGORY widget, choose COUNT operation from the list and select the column storetype. Make the widget collapsible and rename to “Type of store”.
    Select “Discount Store” from the list to highlight the category:
  13. 13.
    Then, we create a third widget, a histogram to filter stores by revenue. Create a widget of type HISTOGRAM, based on revenue. Set the buckets to 10, formatting to Currency, and make widget collapsible. Rename to “Stores by revenue”.
  14. 14.
    Now let’s configure the tooltip (or info window). Go to Interactions tab, activate the tooltip and select the field Storetype, Address, City, State, Revenue and Size_m2.
  15. 15.
    Let’s also change our basemap. Go to Basemaps tab and select “Voyager” from CARTO.
  16. 16.
    Next, let’s create a second view of our map. Go to layers and create a new layer by duplicating the “Retail Stores” layer (go to layer menu and click on Duplicate layers).
  17. 17.
    The second layer will aggregate the revenue values of all stores across separate geographies represented by Hexagons. Select Hexbin as layer type and 28.5km as Hexagon radius. Remember to hide the first layer to vizualize the second layer alone.
  18. 18.
    Change the color palette to a gradient of different color than first layer. Set the color to be based on Revenue, and aggregate by Sum.
  19. 19.
    Finally, set the height of the hexagons to be based on Size_m2, Linearsize scale, height range between 0 and 500, aggregating Revenue by Average, and Height multiplier to 400. Set the Map view to 3D for better results
  20. 20.
    Rename the layer to “Revenue grid (3D view)”.
  21. 21.
    Enable map dual view. On the left map disable the Revenue grid layer, on the right map disable the Retail stores layer.
    As we can see, in metro areas in the west coast we have more stores of lower surface area, yet their revenues are much higher than rural areas, where we have stores with higher surface areas.
  22. 22.
    Switch back to single map Normal view. Hide the Revenue grid layer. Rename the map to “Monitor retail store performance”.
  23. 23.
    We can make the map public and share it online with our colleagues. For more details, see Publishing and sharing maps.
  24. 24.
    Finally, we can visualize the result.