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
arcpy.ba.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 store 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_2022/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")
Environments
This tool does not use any geoprocessing environments.
Licensing information
- Basic: Requires Business Analyst
- Standard: Requires Business Analyst
- Advanced: Requires Business Analyst