Advanced Huff Model (Business Analyst)

License Level:BasicStandardAdvanced

Summary

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

Learn more about how Advanced Huff Model works

Usage

Syntax

HuffModelAdvanced_ba (SalesPotentialLayer, SalesPotentialLayerIDFieldName, PotentialSalesFldName, StoreLayer, StoreIDField, WayToDefineStoreLocation, WayToDefineParams, DistanceCalculationMethod, DistanceCoefficient, AttractionVariables, OutputFeatureClass, {ExtentSourceLayer}, {Longitude}, {Latitude}, {PotentialStoreLayer}, {PotentialStoreOID}, {PathToCalibratedResult})
ParameterExplanationData Type
SalesPotentialLayer

The input feature class that contains the data used to calculate the numeric potential of the Huff Model. This is typically expressed in annual sales data.

Feature Layer
SalesPotentialLayerIDFieldName

The unique identifier of the sales potential layer.

Field
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
StoreIDField

The unique identifier of the competitive store layer.

Field
WayToDefineStoreLocation

The method used to generate the potential store layer:

  • BY_COORDINATESThe potential store layer is generated using latitude and longitude coordinates.
  • FROM_LAYERThe potential store layer is generated from an existing point feature class.
String
WayToDefineParams

Input method for the parameters for the Advanced Huff Model:

  • MANUALLYTravel time calculation method, distance coefficient, and attraction values are manually entered.
  • USE_CALIBRATED_RESULTHuff model parameters are generated via the Huff Model calibration tools.
String
DistanceCalculationMethod

Assigns the method used to calculate distances between geographic areas defined by the potential customer's layer parameter and stores from the competitive stores layer.

  • STRAIGHT_LINE_DISTANCEEuclidean (as the crow flies) approach.
  • DRIVE DISTANCEDriving distance measured in units of distance.
  • DRIVE_TIMEDriving time measured in units of time.
String
DistanceCoefficient

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

Double
AttractionVariables
[[Variable, {Potential Store Value}, {Coefficient}],...]

The values that measure how attractive a store is to consumers.

Value Table
OutputFeatureClass

The feature class that will contain the Huff Model results.

Feature Class
ExtentSourceLayer
(Optional)

The input feature class used to define the extent of the analysis.

Feature Layer
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 that will be used to define the potential store location.

Feature Layer
PotentialStoreOID
(Optional)

The unique identifier for the potential store location.

Long
PathToCalibratedResult
(Optional)

The existing Huff Model calibration file.

Folder

Code Sample

HuffModelAdvanced Example (Stand-alone Script)
# Name: HuffModelExample.py
# Description: Analyzes stores in the San Francisco area to determine the estimated annual sales.
# Author: Esri

# Import system modules

import arcpy

arcpy.ImportToolbox("C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Toolboxes\Business Analyst Tools.tbx")
 
try:
# Acquire extension license 
  arcpy.CheckOutExtension("Business")
  arcpy.CheckOutExtension("Network") 
 
# Define input and output parameters for the Advanced Huff Model tool
  SalesLayer = "C:/ArcGIS/Business Analyst/US_2013/Data/BDS/esri_bg.bds"
  SalesId = "ID"
  Potential= "TOTPOP_CY"
  CompLayer = "C:/temp/sf_stores.shp"
  StoreId = "STORE_ID"
  AttractionParam= "SALES 500000 1.75"
  OutPath = "C:/temp/Huff_adv.shp"
  Extent = "C:/temp/analysis_extent.shp"
 
# Create Advanced Huff Model
  arcpy.HuffModelAdvanced_ba(SalesLayer, SalesId, Potential, CompLayer, StoreId, "BY_COORDINATES", "MANUALLY", "DRIVE_TIME", "-1.5", AttractionParam, OutPath, Extent, "-122.46", "37.76")
 
# Release extension license 
  arcpy.CheckInExtension("Business")
  arcpy.CheckInExtension("Network")
 
except:
  print arcpy.GetMessages(2)

Environments

This tool does not use any geoprocessing environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Requires Business Analyst
ArcGIS for Desktop Standard: Requires Business Analyst
ArcGIS for Desktop Advanced: Requires Business Analyst
3/3/2014