Huff Gravity Model Simulator

Retail Analytics Spatial Modeling

Where should you open a new store β€” and how much business will it steal from competitors? The Huff Gravity Model answers the most expensive question in retail marketing: trade area estimation. Every site-selection team at Target, Starbucks, and McDonald's uses some variant of this spatial model. Load a real-world case study or upload your own store data, adjust attractiveness and distance-decay parameters, and watch market-share boundaries shift in real time on an interactive map.

πŸ‘¨β€πŸ« Professor Mode: Guided Learning Experience

New to retail gravity models? Enable Professor Mode for step-by-step guidance through trade area estimation, parameter tuning, and competitive What-If analysis!

OVERVIEW & APPROACH

πŸ“

Site Selection

Where should the next store go?

Retail chains spend millions choosing locations. The Huff model quantifies consumer choice as a function of each store's attractiveness and travel cost, producing probability surfaces that show exactly where customers will come from β€” before a single brick is laid.

πŸ“Š

Market Share Forecasting

How much of the pie does each competitor get?

By aggregating cell-level probabilities across a geographic grid, the model estimates each store's expected market share β€” the metric that drives investment, staffing, and pricing decisions in real retail planning.

πŸ§ͺ

What-If Scenarios

What happens when a new competitor enters?

Place a hypothetical store anywhere on the map and instantly see how existing shares redistribute. This is how analysts evaluate cannibalization risk and competitive vulnerability before making irreversible siting decisions.

The Huff Probability Formula

The probability that a consumer at location i shops at store j:

Pij = (Sjα / Tijβ) ÷ ∑k (Skα / Tikβ)
Sj Store j's attractiveness (square footage, brand equity, product range)
Tij Travel time or distance from consumer i to store j
α Attractiveness exponent β€” how much size/quality differences matter
β Distance-decay exponent β€” how quickly distance erodes appeal
From Reilly to Huff β€” A Brief History
Reilly's Law (1931)

Two cities attract trade from an intermediate town in proportion to their populations and inversely to the square of the distances. A deterministic, two-city model.

Converse's Breaking Point (1949)

Extended Reilly's law to find the exact geographic boundary where consumers are equally likely to shop at either location. The "breaking point" line divides trade areas.

Huff Model (1963)

Generalized the framework to handle any number of competing stores with a probabilistic (not deterministic) approach. Each consumer has a probability of visiting each store, not a hard boundary. This is the modern workhorse of retail site selection.

What the Parameters Mean

α β€” Attractiveness Exponent

α = 1.0: Attractiveness matters proportionally (a store twice as large gets twice the pull).

α > 1.0: Big stores gain a disproportionate advantage β€” "destination" shopping (furniture, electronics).

α < 1.0: Size differences are dampened β€” convenience goods where any store suffices.

β β€” Distance-Decay Exponent

β = 1.0: Distance matters linearly β€” consumers mildly penalize farther stores.

β = 2.0: Classic "gravity" decay β€” distance matters significantly (grocery, banking).

β > 2.5: Steep decay β€” consumers strongly prefer nearby options (coffee, fast food).

β < 1.0: Flat decay β€” consumers will drive far for this product (specialty retail, IKEA).

πŸ“š

Use a Case Study

πŸ“€

Upload Your Data

Drag & Drop raw data file (.csv, .tsv, .txt, .xls, .xlsx)

Required: store_name, lat, lng, attractiveness. Optional: extra numeric columns become MCI attributes in Advanced Mode.

No file uploaded.

TRADE AREA MAP

Trade Areas colors each point by its dominant store. Heatmap shows a continuous probability gradient. Breaking Points draws equal-pull boundaries between stores. See the Interpretation Guide below for deeper explanations.

0.53.0
0.53.0

MARKET SHARE RESULTS

WHAT-IF COMPARISON

How does adding a new competitor change existing market shares?

INTERPRETATION GUIDE

How to Read the Trade Area Map

Each colored region shows the dominant store β€” the store with the highest Huff probability for consumers in that area. Boundaries between colors are where two stores have roughly equal pull. These are the market boundaries in retail geography.

The heatmap view shows continuous probability (0–100%) for a selected store, revealing how influence fades with distance β€” even inside a competitor's dominant zone, there's still some probability of visiting.

What β Tells You About Your Market
β β‰ˆ 1.0 (Low decay)

Consumers will drive far β€” specialty retail, IKEA, destination restaurants. Trade areas are large and overlapping.

β β‰ˆ 2.0 (Standard decay)

Classic retail gravity β€” grocery stores, pharmacies, banking. Trade areas are moderate and distance matters meaningfully.

β β‰ˆ 3.0 (Steep decay)

Convenience-driven β€” coffee shops, gas stations, fast food. Consumers almost always choose the nearest option. Trade areas are tight.

Breaking-Point Boundaries Explained

The Converse Breaking Point between two stores is the location where a consumer is equally likely to visit either store. It's calculated as:

BPAB = DAB / (1 + √(SB/SA))

Where DAB is the distance between stores A and B. A more attractive store "pushes" the breaking point farther away from itself β€” its trade area extends past the midpoint.

In the Breaking Points view, dashed lines connect each store pair through their breaking point. The more attractive store's side extends farther.

DATA & METHODOLOGY NOTES

The population layer in this simulator uses real data with documented adjustments. This section explains every assumption so you can evaluate them critically.

What Is "Effective Consumer Population"?

The U.S. Census counts people where they sleep (residential population). But retail gravity models need to know where people shop β€” and those are different things. A university campus tract might house 5,000 residents but have 30,000+ students and staff present on a typical weekday. A downtown office district might have 3,000 residents but 50,000 daytime workers.

Real-world site analysts address this with "effective consumer population" (sometimes called "daytime population" or "ambient population") β€” a composite that blends residential counts with daytime activity estimates from universities, employers, and transit hubs. It answers the question: how many potential customers are physically present in this zone during business hours?

This simulator uses that approach: Census 2020 residential data as the base layer, plus documented adjustments for university presence and major employment centers.

Census Tract Baseline (PL 94-171)

Every population center starts with the POP100 value from the 2020 Decennial Census Redistricting Data (PL 94-171), Table P1 β€” total population of the enclosing census tract.

Census tracts are small geographic units (typically 1,200–8,000 people) designed to be relatively homogeneous in population characteristics. We retrieved each tract's POP100 by converting the population center's lat/lng coordinates into a FIPS code via the Census Bureau Geocoder API. Each center's GEOID (state + county + tract FIPS) is documented in the source code for reproducibility.

Limitation: POP100 is a residential headcount, not a consumer demand estimate. For purely residential areas (suburbs, family neighborhoods), it's a reasonable proxy. For areas with heavy daytime inflows (campuses, downtowns, malls), it dramatically undercounts the people actually present and available to patronize a store.

University Enrollment Adjustments

Two scenarios center on university districts where census residential counts miss the dominant consumer group β€” students and staff who commute in daily.

ZoneCensus POP100AdjustmentEffective Pop.
UT Campus (Tract 6.01)8,580 +21,400 β€” UT Austin: 53,864 students + 28,761 staff (fall 2024); ~50% avg. weekday campus presence 30,000
West Campus Apts (Tract 6.05)4,645 +2,355 β€” Dense off-campus student housing; high pedestrian through-traffic 7,000
SDSU Campus (Tract 28.01)5,347 +19,650 β€” SDSU: 38,369 students + 4,329 staff (fall 2024); ~50% avg. weekday campus presence 25,000
Apartment District East (Tract 29.04)8,957 +3,040 β€” Dense student apartment corridor adjacent to SDSU; foot traffic beyond residents 12,000

The "50% average weekday presence" multiplier is a simplification. On any given weekday, some fraction of enrolled students are on campus at any time (attending class, studying, eating, socializing). The 50% figure is a rough midpoint β€” peak midday presence is higher; evenings and breaks are lower. For a coffee shop gravity model, this captures the order-of-magnitude reality that matters: a campus tract has many times more potential coffee buyers than its residential count suggests.

Source: Enrollment and staff figures from Wikipedia, citing UT System Smartbook (June 2025) and SDSU Analytic Studies & Institutional Research enrollment tables.

Employment Center Adjustments

The Bank Siting scenario includes two zones where daytime employment significantly exceeds the residential population:

ZoneCensus POP100AdjustmentEffective Pop.
Downtown Austin (Tract 11.03)3,339 +4,660 β€” Texas State Capitol complex, office towers, state/county government 8,000
Domain / North (Tract 454)6,785 +3,215 β€” The Domain mixed-use complex; major tech employers (Apple, Meta, Amazon) 10,000

Banking customers visit branches both near home and near work, so employment-weighted population is appropriate for this product category. The Grocery Wars scenario uses census-only values because grocery shopping is overwhelmingly a near-home activity.

Note: Employment estimates are approximate and not sourced from a single authoritative dataset. The Census Bureau's LODES/LEHD (Longitudinal Employer-Household Dynamics) data would provide precise workplace counts by census block but was not used here. The adjustments are order-of-magnitude estimates intended to produce realistic relative variation, not precise counts.

The Gaussian Blob Approximation

Real population isn't evenly distributed within a census tract β€” people cluster along streets, in apartment complexes, and in specific developments. Modeling this exactly would require block-level or parcel-level data and add complexity without pedagogical benefit.

Instead, each population center is modeled as a 2D Gaussian (normal) distribution ("blob") centered on its lat/lng coordinates. The sigma parameter (Οƒ) controls how spread out the population is:

  • Οƒ = 0.004 (β‰ˆ 0.4 km): Tight cluster β€” a campus or apartment complex
  • Οƒ = 0.006 (β‰ˆ 0.7 km): Moderate spread β€” an urban neighborhood
  • Οƒ = 0.008 (β‰ˆ 0.9 km): Broad spread β€” a suburban residential area

At each grid cell, the engine sums the Gaussian contribution from every population center to produce a continuous density surface. This is conceptually identical to kernel density estimation (KDE) β€” a standard technique in spatial analysis.

The resulting surface is proportionally correct (high-population zones pull harder) but geometrically simplified (actual building footprints aren't represented). For a gravity model exploring the interplay of population Γ— distance Γ— attractiveness, this level of abstraction preserves the key dynamics.

How Real Analysts Do It

Professional retail site analysts at firms like Esri, Placer.ai, and Buxton go further than this simulator in several ways:

  • Block-group or block-level data: Instead of one population center per neighborhood, they use hundreds of census blocks, each with its own population count and demographic profile.
  • Road-network distances: Instead of straight-line (Euclidean) distance, they compute actual drive times using road networks, traffic data, and turn penalties.
  • Consumer segmentation: Population is weighted by spending propensity using geodemographic systems like Tapestry or PRIZM that classify neighborhoods by lifestyle, income, and consumption patterns.
  • LEHD/LODES employment data: The Census Bureau's Longitudinal Employer-Household Dynamics program provides workplace-area counts at the census-block level, enabling precise daytime-population models.
  • Mobile location data: Companies like SafeGraph and Placer.ai provide observed foot-traffic counts at individual stores, allowing analysts to calibrate (rather than assume) model parameters.

This simulator intentionally simplifies these layers to keep the focus on the core Huff mechanics: how attractiveness, distance decay, and population interact to shape market share. The effective consumer population approach captures the most important real-world adjustment (daytime β‰  nighttime population) without overwhelming the pedagogical experience.

What Stays Constant Across Scenarios
  • Coordinate system: WGS 84 (EPSG:4326). The Huff engine computes Euclidean distance from lat/lng, which introduces minor distortion at these latitudes (~1–2% vs. true geodesic distance). Acceptable for the distances involved (< 20 km).
  • Grid resolution: 40 Γ— 40 cells across the map viewport. Finer grids increase accuracy at the cost of computation time β€” and don't change qualitative conclusions.
  • Huff formula: P(iβ†’j) = SjΞ± Β· dijβˆ’Ξ² / Ξ£k SkΞ± Β· dikβˆ’Ξ² β€” identical across all scenarios. Only the parameter defaults (Ξ±, Ξ²) differ.
  • Distance units: Degrees (not km or miles). Since all scenarios are within a single metro area, the degree-to-km conversion is effectively constant and cancels out in the Huff ratio.

BEYOND THE SIMULATION

The Huff model in this simulator captures the core gravity framework. Real-world practitioners extend it in several important ways:

Calibration with Real Data

In practice, α and β are not guessed β€” they're estimated from observed data. Researchers collect actual customer visit data (surveys, loyalty cards, or mobile pings), then use maximum-likelihood estimation or log-linear regression to find the Ξ± and Ξ² that best predict observed shopping patterns.

Calibrated parameters vary dramatically by product category: β for convenience stores may be 3.0+, while for specialty furniture it might be 0.8. Without calibration, the Huff model is an illustration tool; with calibration, it becomes a predictive engine.

Huff, D. L. & McCallum, B. M. (2008). Calibrating the Huff Model Using ArcGIS Business Analyst. ESRI White Paper.
Mobile Phone & Geofencing Data

Traditional gravity models relied on surveys to learn where people shop. Today, mobile location data (from GPS, Wi-Fi, and app SDKs) reveals actual visit patterns at massive scale. Providers like SafeGraph, Placer.ai, and Gravy Analytics supply anonymized foot-traffic counts by store and time period.

This data lets analysts directly observe what the Huff model tries to predict β€” the probability a consumer visits each store. Modern workflows use gravity models to fill gaps where mobile data is sparse, creating a hybrid approach that's far more accurate than either method alone.

Milne, G. R. & Bahl, S. (2020). Are There Differences in Consumers’ Privacy Expectations Based on Mobile Location Data? Journal of Retailing, 96(4).
MCI & Multi-Attribute Extensions

The original Huff model uses a single "attractiveness" number (usually floor area). The Multiplicative Competitive Interaction (MCI) model extends this by decomposing attractiveness into multiple attributes β€” each with its own weight:

Aj = ∏m ajmwm

This means a store's pull depends on its brand recognition, price level, parking availability, product variety, and more β€” each weighted by how much consumers care about that attribute for this product category. The MCI model is now the standard in academic retail geography.

Nakanishi, M. & Cooper, L. G. (1974). Parameter Estimation for a Multiplicative Competitive Interaction Model. Journal of Marketing Research, 11(3), 303–311.
Omnichannel & E-Commerce Effects

The Huff model was built for a world where shopping meant physically visiting a store. In the omnichannel era, consumers might browse online, order for pickup, or have items delivered. This changes the meaning of "distance" β€” for online orders, the relevant distance might be delivery time rather than driving distance.

Researchers are adapting gravity models by adding an "online channel" as a virtual store with zero physical distance but its own friction (shipping time, return hassle, lack of tactile experience). Hybrid models combine physical Huff probabilities with online choice data to predict total demand across channels.

Chintagunta, P. K., Chu, J., & Cebollada, J. (2012). Quantifying Transaction Costs in Online/Offline Grocery Channel Choice. Marketing Science, 31(1), 96–114.

EXPORT RESULTS