Esta página aún no está traducida. Estás leyendo la versión en inglés.

Site suitability

Score every hex in a city with a weighted multi-criteria (MCDA) overlay, understand each criterion and pick spaced-out top sites.

The suitability tool is MapDove’s starting point for site selection. It is a classic multi-criteria decision analysis (MCDA) weighted overlay: nine criteria are computed for every hex cell in the city, normalized to a common 0–1 scale, multiplied by weights you choose and combined into a single score from 0 to 100. The best hexes are then returned as a ranked list of top sites with a minimum spacing between them.

The tool is category-aware. Competition, complementary businesses and the demand gap are all computed against the category you select, so the same city produces a different map for coffee than for home improvement.

Running an analysis

In the app: Site selection → Suitability, pick a city and category, set weights, click Run. Via the API: POST /api/v1/sdss/suitability (reference).

Input Range Default
city, category slugs required
weights each 0–10; at least one above zero missing = 0
top_n 1–50 10
min_spacing_km 0–50 1.5

Each successful run counts as one analysis toward your monthly plan.

The nine criteria

Weight key Criterion Raw measure per hex Direction
population Population density residents per km² higher is better
income Income median household income higher is better
daytime Daytime population daytime population per km² (workers, students, visitors) higher is better
traffic Traffic traffic index (0–100 within city) higher is better
growth Growth annual population growth rate higher is better
competition Competition distance-weighted count of same-category stores inverted — less is better
complementary Complementary businesses distance-weighted count of complementary-category places higher is better
rent Rent rent index (0–100 within city) inverted — cheaper is better
gap Demand gap local demand × poor access to existing stores higher is better

Competition

For each hex, MapDove sums an exponential distance kernel over every same-category store within 4 km: a store at the hex centroid contributes 1, one at 1.5 km contributes about 0.37, one at 3 km about 0.14. The sum is log-scaled, normalized and inverted (1 − x') so that saturated hexes score low. The raw kernel sum is also returned per hex as competitors_nearby.

Complementary businesses

Each category has a list of complements — categories whose customers tend to visit it on the same trip. Coffee’s complements are fitness, apparel, shopping centers and pharmacy; grocery’s are pharmacy, fuel, coffee and quick service. The criterion sums a tighter kernel (characteristic distance 800 m, cut-off 2.5 km) over complementary places, log-scaled and normalized.

Rent

The rent index is inverted: with a positive weight, cheaper hexes score higher. Set the weight to 0 if occupancy cost is not a constraint for the decision.

Demand gap

The gap criterion identifies demand that the existing network serves poorly:

gap = demand' · (1 − access')
  • demand' — normalized population + 0.4 · daytime population of the hex.
  • access' — normalized, log-scaled sum of Huff utilities A_j / d^λ over all existing stores of the category (how well existing stores reach this hex).

A hex scores high when many people live or work there and current stores are far away or weak. It is the most direct “white space” signal in the tool and pairs well with a non-zero competition weight.

How the score is computed

  1. Normalize each raw measure across all hexes in the city with min–max scaling to 0–1. Competition, complementary and access sums are log-scaled first (ln(1 + x)) so one dense cluster does not flatten the rest of the city.
  2. Invert cost criteria (competition, rent): 1 − x'.
  3. Weight and sum:
score = 100 · Σ_c (w_c · x'_c) / Σ_c w_c

where w_c is your weight for criterion c (0–10) and x'_c the hex’s normalized value. Because weights are divided by their total, only their ratios matter — weights of 2/4/2 give the same map as 5/10/5.

The full derivation is in Methodology.

Top sites and minimum spacing

Top sites are selected greedily: hexes are sorted by score, and each candidate is accepted only if its centroid is at least min_spacing_km from every site already picked. Selection stops at top_n. Each top site reports its rank, hex ID, score, centroid coordinates, neighborhood and criteria values.

Spacing matters because suitability surfaces are smooth: without it, the top ten would usually be adjacent hexes in one district. A spacing of 1.5 km is a good default for convenience categories; use 3–5 km for destination formats such as home improvement or shopping centers, roughly a third of the category’s trade radius.

Interpreting the output

  • Read the stats. If max − min is small, the city is undifferentiated for your weights; small weight changes will reorder the ranking.
  • Check criteria, not just scores. Two sites scoring 70 can be very different — one dense and expensive, one cheap and fast-growing. Hover a hex (or read criteria in the API) before shortlisting.
  • Run sensitivity tests. Re-run with one weight changed. Sites that stay in the top ten across variants are robust choices.
  • Score is relative. Scores are normalized within a city and category; a 75 in Miami is not comparable with a 75 in Phoenix.

Next steps

Send the best sites to the Huff forecast for a visit estimate and cannibalization check, profile them with catchments, and put the shortlist side by side with Compare sites.