ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

Original Huff Model

Available with Business Analyst license.

  • Summary
  • Usage
  • Syntax
  • Code sample
  • Environments
  • Licensing information

Summary

Creates a probability surface to predict the sales potential of an area based on distance and an attractiveness factor.

Learn more about how Original Huff Model works.

Usage

    Legacy:

    The Original Huff Model was referred to as the Gravity Model in previous versions of Business Analyst.

  • The results of the Huff Model can be used to

    • Estimate, define, and analyze market potential.
    • Assess economic impact of a new site location.
    • Forecast sales and potential of existing stores and outlets.
    • Assess the impact of competitive and environmental changes on outlet performance.
  • The output of the Huff Model will generate probabilities and estimated sales for each subgeographic area.

    The output probabilities can be used to define primary market (trade) areas for a new store location. For example, a trade area can be created using the Dissolve By Attribute Range tool to create a primary market area that includes all the subgeography areas that have a probability higher than 40 percent of patronizing the new store location.
  • If you want to use more than one attractiveness value, you should use the Advanced Huff Model tool.

  • The Sales Potential Layer is usually polygon features representing subareas where potential customers live. Point features can also be used; for example, block centroids that have associated demographic data.

  • The Competitive Store Layer should include all competitive locations in a given study area. This layer should also include any of your existing store locations in the study area, since they will act as competitors to a new store location. In most cases, this layer will be a Business Analyst store layer. Competitive store locations can be extracted from the Add Business Listings function in Business Analyst.

    Learn more about adding business listings

  • A higher Distance Coefficient indicates that distance will have a greater impact on consumer behavior. For example, consumers are more willing to travel farther for high-order goods, such as automobiles and furniture, than they are for low-order goods, such as groceries.

  • The spatial reference of the output feature class will be the same as the sales potential layer.

Syntax

arcpy.ba.HuffModelOriginal(SalesPotentialLayer, PotentialSalesFldName, StoreLayer, AttractivenessField, WayToDefineStoreLocation, RadiusOfCovering, {MeasureUnits}, DistanceCoefficient, Attractiveness, OutputFeatureClass, {Longitude}, {Latitude}, {PotentialStoreLayer}, {PotentialStoreOID})
ParameterExplanationData Type
SalesPotentialLayer

The features used to calculate the sales potential of the Huff Model.

Feature Layer
PotentialSalesFldName

The field containing the values used to calculate the sales potential of the Huff Model.

Field
StoreLayer

The layer that contains the competitive points (usually stores) used to determine how sales are influenced and distributed across the analysis area.

Feature Layer
AttractivenessField

The attribute field that determines how attractive each competitor is. In many cases, the size of the store is used as a surrogate for attractiveness.

Field
WayToDefineStoreLocation

Determines how the potential layer will be selected.

  • BY_COORDINATES —Enters latitude and longitude coordinates as the center point for the potential layer.
  • FROM_LAYER —Selects a point layer from an existing layer as the potential site.
String
RadiusOfCovering

Sets the radius of the Huff Model. The model output will extend from the potential site location to this distance.

Double
MeasureUnits
(Optional)

The units used with the distance values. By default, the units defined in the Business Analyst preferences will be selected.

  • Minutes
  • Decimal Degrees
  • Feet
  • Kilometers
  • Meters
  • Miles
  • Nautical Miles
  • Yards
String
DistanceCoefficient

The value that determines how much of a factor travel distance is to the consumer.

Double
Attractiveness

The value that measures how attractive the potential store is to consumers.

Double
OutputFeatureClass

The output feature class that will contain the Huff Model results.

Feature Class
Longitude
(Optional)

The x-coordinate (longitude) for the potential site.

Double
Latitude
(Optional)

The y-coordinate (latitude) for the potential site.

Double
PotentialStoreLayer
(Optional)

The existing point feature class used to define the potential store location.

Feature Layer
PotentialStoreOID
(Optional)

The unique identifier for the potential store location.

Long

Code sample

HuffModelOriginal example (stand-alone script)

# Name: HuffModelOriginal.py
# Description: Creates a Huff Model to estimate dollars spent on vehicle maintenance in the San Francisco Market 
# Author: Esri

# Import system modules
import arcview
import arcpy

arcpy.ImportToolbox(r"C:\Program Files (x86)\ArcGIS\Desktop10.8\Business Analyst\ArcToolbox\Toolboxes\Business Analyst Tools.tbx")
 
try:    
# Acquire extension license 
  arcpy.CheckOutExtension("Business") 
 
# Define input and output parameters for the Original Huff Model tool
  SalesLayer = "C:/ArcGIS/Business Analyst/US_2022/Data/Demographic Data/BlockGroups_bg.bds"
  SalesFieldName = "X6015_X"
  CompLayer = "C:/temp/sf_stores.shp"
  AttractiveField = "SALES"
  DefineStoreLayer = "BY_COORDINATES"
  Radius = "5"
  Coefficient = "-1.5"
  Attractiveness = "50000"
  OutPath = "C:/temp/Huff_Model.shp"
 
# Create Original Huff Model  
  arcpy.HuffModelOriginal_ba(SalesLayer,
	  SalesFieldName,
	  CompLayer,
	  AttractiveField,
	  DefineStoreLayer,
	  Radius,
	  Coefficient,
	  Attractiveness,
	  OutPath)
 
# Release extension license 
arcpy.CheckInExtension("Business")

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: Requires Business Analyst
  • Standard: Requires Business Analyst
  • Advanced: Requires Business Analyst

Related topics

  • An overview of the Business Analyst Modeling toolset

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2022 Esri. | Privacy | Legal