huff: A Python package for Market Area Analysis
2026-02-19 • Software Engineering
Software Engineering
AI summaryⓘ
The authors describe a Python software package called 'huff' that helps researchers analyze how customers choose between different market locations, such as stores or healthcare facilities. It supports tasks like importing data, modeling how people travel from origins to destinations, estimating model parameters from real data, and visualizing results on maps. The package also includes tools for studying how accessible different locations are. It is designed for use in fields like economic geography and health geography and is freely available online.
Huff modelmarket area analysiscatchment areaspatial accessibilityorigin-destination matrixparameter estimationeconomic geographygeoinformation sciencePython package
Authors
Thomas Wieland
Abstract
Market area models, such as the Huff model and its extensions, are widely used to estimate regional market shares and customer flows of retail and service locations. Another, now very common, area of application is the analysis of catchment areas, supply structures and the accessibility of healthcare locations. The huff Python package provides a complete workflow for market area analysis, including data import, construction of origin-destination interaction matrices, basic model analysis, parameter estimation from empirical data, calculation of distance or travel time indicators, and map visualization. Additionally, the package provides several methods of spatial accessibility analysis. The package is modular and object-oriented. It is intended for researchers in economic geography, regional economics, spatial planning, marketing, geoinformation science, and health geography. The software is openly available via the [Python Package Index (PyPI)](https://pypi.org/project/huff/); its development and version history are managed in a public [GitHub Repository](https://github.com/geowieland/huff_official) and archived at [Zenodo](https://doi.org/10.5281/zenodo.18639559).