Back to Mapbox in Google Sheets
SheetXAI logo
Mapbox logo
Mapbox · Google Sheets Guide

Calculate Travel-Time Isochrones for Store Locations in a Google Sheet

2026-05-14
5 min read

The Scenario

Your retail analytics team is evaluating fifteen potential store locations. The VP of Real Estate asked you to quantify the 15-minute drive catchment area for each site — not just a radius circle, but a real isochrone polygon that follows actual road geometry. She wants the results in a Google Sheet by end of week so she can compare sites in the model.

You have the store addresses in column A. You have never worked with the Mapbox Isochrone API. You have until Friday.

The bad version:

  • Read the Mapbox Isochrone API documentation, understand the endpoint signature, figure out how to geocode each address into coordinates first because the API takes coordinates not addresses.
  • Write a script that loops through the addresses, geocodes each one, calls the isochrone endpoint, and extracts the polygon from the GeoJSON Feature response.
  • Figure out where to put the polygon data in a spreadsheet — GeoJSON does not paste naturally into a cell — and decide what summary metric to compute so the VP can actually compare sites numerically.

The ask was for something the VP can compare in a model, not a GeoJSON file she has to open in QGIS.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads the store addresses, calls Mapbox to geocode them and compute isochrone polygons, and writes both the raw GeoJSON and a computed summary metric back into the sheet — all from a single prompt in the sidebar.

For each store address in column A, geocode it using Mapbox and calculate the 15-minute driving isochrone, then write the GeoJSON polygon into column B and the approximate reachable area in square kilometers into column C.

What You Get

  • Column B with the GeoJSON polygon string for each store's 15-minute drive isochrone — useful if you need to paste it into a mapping tool later.
  • Column C with the reachable area in square kilometers computed from the polygon geometry, giving the VP a single number to compare across all fifteen sites.
  • Any address that fails to geocode appears with "GEOCODE FAILED" in column B so you can investigate the specific row without hunting through blank cells.

What If the Data Is Not Quite Ready

You need both 10-minute and 20-minute isochrones for each site

The model compares catchment at two time bands to assess whether a site has close-in density or relies on longer-distance traffic.

Calculate 10-minute and 20-minute driving isochrones for each location in column A using Mapbox. Write the 10-minute GeoJSON into column B and the reachable area in square km into column C. Write the 20-minute GeoJSON into column D and its area into column E.

Three addresses are in walkable urban neighborhoods and should use walking isochrones

The model applies walking isochrones to urban sites and driving isochrones to suburban sites. You have a flag in column B that says "URBAN" or "SUBURBAN" for each site.

For each address in column A, compute a driving isochrone if column B says SUBURBAN or a walking isochrone if column B says URBAN, both at 15 minutes, using Mapbox. Write the GeoJSON into column C and the area in square km into column D.

The addresses need cleanup before geocoding

Some rows have extra text appended — "Site A — pending approval" — that will confuse the geocoder.

Strip any text after an em dash or double hyphen from the addresses in column A. Then geocode the cleaned addresses using Mapbox and compute 15-minute driving isochrones, writing GeoJSON into column B and area into column C.

Full pipeline: clean addresses, compute dual isochrones, rank sites, and highlight top five

Clean column A addresses by removing any trailing notes after a dash. Geocode each cleaned address using Mapbox and compute both 10-minute and 20-minute driving isochrones. Write the 10-minute area into column C and the 20-minute area into column D. Add a column E called Drive Ratio with the ratio of 20-minute to 10-minute area — a high ratio means the site relies on far-out traffic. Sort all rows by column C descending so the densest 10-minute catchments appear first, and highlight the top five rows in column F with "TOP SITE".

One prompt handles address prep, dual-band isochrone computation, derived metrics, sorting, and ranking.

Try It

Get the 7-day free trial of SheetXAI and open the site evaluation sheet — paste in the candidate addresses and ask SheetXAI to compute catchment areas through Mapbox. If your model needs driving times between sites as well, the travel-time matrix article covers that. The Mapbox hub lists every geographic workflow available.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more