Available with Business Analyst license.
Summary
Statistically calibrates the Huff Model using survey data for each store location in the study area.
Usage
- 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 first step to executing this tool is to define a study area that includes all the trade areas of all competing stores being analyzed. 
- The calibration output of this tool is used as an input for the Advanced Huff Model tool. 
- The survey data is used to determine the frequency of shopping trips each respondent makes to the stores within the study area. Exit interviews are a good method for collecting this information. 
- Ensure that each subgeography area is adequately represented in the sample. 
- The Potential Customers Geographic Level is usually polygon features representing subareas where potential customers live. This layer can also be a point feature class (for example, block centroids) that has 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 ESRI Business Analyst. 
- Store Attraction Fields, also known as predictor values, often include attributes of a store, such as square footage, number of parking spaces, advertising, store hours, prices, age, appearance, signage, accessibility, and so forth. 
Syntax
HuffModelCalibrationBySurveyData(CustomerLayer, CustomerIDField, StoreLayer, StoreIDField, StoreAttractionFields, PatronizeTable, FormatOfSurveyData, SelectPatronizeTableFields, DistanceCalculationMethod, OutputFileName, {NeedReportOutput}, {ReportTitle}, {ReportFile}, {ReportFormats})| Parameter | Explanation | Data Type | 
| CustomerLayer | Polygon features representing subareas where potential customers live. It can also be a point layer (for example, block centroids) that has associated demographic data. | Feature Layer | 
| CustomerIDField | The unique identifier of the Potential Customers Geographic Level. | Field | 
| StoreLayer | The layer that contains the competitive points (usually shopping centers) 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 | 
| StoreAttractionFields [StoreAttractionFields,...] | The values that measure how attractive a store is to consumers. | Field | 
| PatronizeTable | Table containing the customer survey results. | Table | 
| FormatOfSurveyData | Defines the format of the survey data. 
 | String | 
| SelectPatronizeTableFields | Selects the fields associating the customers with the stores they patronize. 
 | String | 
| DistanceCalculationMethod | Assigns the method used to calculate distances between geographic areas defined by the potential customers layer parameter and stores from the competitive store layer. 
 | String | 
| OutputFileName | The output folder that will contain the Huff Model calibration result file. | Folder | 
| NeedReportOutput (Optional) | Generates a Huff model calibration report based on survey data. 
 | Boolean | 
| ReportTitle (Optional) | The title of the calibration report. | String | 
| ReportFile (Optional) | The name of the report file. | File | 
| ReportFormats [ReportFormats,...] (Optional) | The Huff Model report out format or formats. More than one format may be selected. 
 | String | 
Code sample
HuffModelCalibrationBySurveyData example (stand-alone script)
# Name: HuffModelCalibrationBySurveyData.py
# Description: Generates a calibrated model around two San Francisco stores using Sales as a predictor.
# 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")
  arcpy.CheckOutExtension("Network") 
 
# Define input and output parameters for the Huff Model Calibration by Survey Data tool
  Cust = "C:/temp/sf_cust.shp"
  CustId = "CUST_ID"
  Store = "C:/temp/sf_stores.shp"
  StoreId = "STORE_ID"
  AttractionField = "SALES"
  Patronage = "C:/ArcGIS/Business Analyst/US_2019/Datasets/Tutorial/sf_stores.dbf"
  SurveyFormat = "ONE_LINE_PER_CUSTOMER"
  SelectFields = "STORE_ID"
  DistanceCalc = "DRIVE_TIME"
  OutPath = "C:/temp/Calibration_Surveydata"
 
# Create Huff Model Calibration by Survey Data
  arcpy.HuffModelCalibrationBySurveyData_ba(Cust,
	  CustId,
	  Store,
	  StoreId,
	  AttractionField,
	  Patronage,
	  SurveyFormat,
	  SelectFields,
	  DistanceCalc,
	  OutPath)
 
# Release extension license 
  arcpy.CheckInExtension("Business")
  arcpy.CheckInExtension("Network")
except:
  print arcpy.GetMessages(2)
Environments
This tool does not use any geoprocessing environments.
Licensing information
- Basic: Requires Business Analyst
- Standard: Requires Business Analyst
- Advanced: Requires Business Analyst