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

Gap Analysis Report

Available with Business Analyst license.

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

Summary

Creates a report to analyze a market by displaying total households, percent core households, percent developmental households, actual customers, customer penetration, expected customers, and the gap for a given level of geography.

Learn more about how the Gap Analysis Report works

Usage

  • To best determine what your index and percent composition threshold values should be, you should analyze the output from the Profile Segmentation Report.

  • In most cases, the Index Threshold should be set to a value of at least 100.

  • The Percent Threshold should be set so you have at least three segments in the core target group. Often, there will be a natural break in the percent composition values.

  • Usually, the Target Segmentation Profile is based on customer records.

  • The Base Segmentation Profile can be generated using the Create Profile By Area Summation tool.

  • Customers in the Target Segmentation Profile should be wholly contained within the Base Segmentation Profile.

  • If you are unclear what to use as the Base Segmentation Profile, you can use the whole United States.

  • The segmentation base can be generated using total adult population or total households.

  • Total adult population includes individuals 18 years old or older.

  • You may want to create a bar chart or Game Plan Chart to help you in the definition of index and percent composition threshold values.

  • By default, percent penetration is calculated by dividing the target total for each segment by the base total and multiplying by 100. You can change the base multiplier to 1,000 by adjusting this value in Business Analyst > Preferences on the Analysis tab.

  • Use a Segmentation Base Profile as small as possible to obtain larger percent penetration values. Large segmentation base profiles, such as the entire United States, will dilute the results of your analysis.

Syntax

arcpy.ba.GapAnalysisReport(InputGeographyLevel, BaseProfile, TargetProfile, SegmentMethod, OutputDirectoryParameterName, {CustomerLayer}, {UseSelectedFeatures}, {AllZips}, {IndexThreshold}, {PenetrationThreshold}, {TargetGroup}, {CoreTarget}, {DevelopmentalTarget}, {TitleParameterName}, {CreateThematicMap}, {ThematicMapField}, {OutputFeatureClass}, {ReportFormats})
ParameterExplanationData Type
InputGeographyLevel

The input feature class containing the demographic variables used to profile your customers. Typically, this should be set to the block group layer.

Feature Layer
BaseProfile

The base profile used in the calculation of the index and percent penetration. This profile is usually based on the geographic extent of your customers.

Folder
TargetProfile

The target profile that will be compared to the base profile. Typically, this is based on your customers and is generated using the Segmentation Profile tools.

Folder
SegmentMethod

The method to determine how your segments will be assigned to the Core and Developmental categories.

  • Use Threshold Values —This option allows Business Analyst to define how your Core and Developmental segments are assigned based on the thresholds set here.
  • Use Target Group —This option allows you to predefine what segments are classified as either Core or Developmental. To use this option, you must first create custom target groups with these assignments.
String
OutputDirectoryParameterName

The output directory that will contain the report.

Folder
CustomerLayer
(Optional)

The point input feature class containing customers. Typically, this will be a Business Analyst customer layer.

Feature Layer
UseSelectedFeatures
(Optional)

Generates a report on selected features of the customer layer.

  • True —Generates the Gap Analysis Report on selected features.
  • False —Generates the Gap Analysis Report on all features. This is the default.
Boolean
AllZips
(Optional)

The option to use all ZIP Codes in the report.

  • USE_ALL_ZIPS —Generates a Gap Analysis report on all ZIP Codes. This is the default.
  • USE_SELECTED_ZIPS —Generates a Gap Analysis report only on ZIP Codes that contain segments in your Core and Developmental groups.
Boolean
IndexThreshold
(Optional)

The value used to determine the threshold index of your analysis.

Double
PenetrationThreshold
(Optional)

Defines the percentage of customers that meets or exceeds the percent composition threshold.

Double
TargetGroup
(Optional)

The predefined Target Groups that contain your Core and Developmental segments.

String
CoreTarget
(Optional)

The Core Target group. Core targets should be defined as the segments that make up a good percentage of your customer base and index well. To use this option, you must first create custom target groups with these assignments.

String
DevelopmentalTarget
(Optional)

The Developmental Target group. Developmental targets should be defined as the segments that make up a good percentage of your customer base but don't index as well as your Core segments. To use this option, you must first create custom target groups with these assignments.

String
TitleParameterName
(Optional)

Title for the report.

String
CreateThematicMap
(Optional)

Generate a thematic map on a selected variable.

  • CREATE_THEMATIC —Generates a thematic map.
  • NO_THEMATIC —Does not generate a thematic map. This is the default.
Boolean
ThematicMapField
(Optional)

The field to generate the thematic map.

  • Gap —Refers to the difference between the actual number of customers you currently have versus the total potential number of customers who you would expect to be your customer in your market area.
  • Expected Customers —The estimated number of adults or households that use a particular product or service.
  • Actual Customer HHs —The total counts of customers expressed as households.
  • Customer HH% penetration —Customer household percent penetration.
  • % Core HHs —Percentage of core households.
  • % Develop HHs —Percentage of development households.
String
OutputFeatureClass
(Optional)

The feature class that will contain the thematic map.

Feature Class
ReportFormats
(Optional)

The output report format.

  • Simple XML
  • PDF
  • HTML
  • CSV
  • ZIP
  • XLSX
  • Stripped XLSX
String

Code sample

GapAnalysisReport example (stand-alone script)

# Name: GapAnalysisReport.py
# Description: Analyzes the San Francisco market using customers points and Tapestry profiles by ZIP Code.
# 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.overwriteoutput = 1
 
# Define input and output parameters for the Gap Analysis Report tool
  Customers = "C:/temp/sf_cust.shp"
  GeoLayer = "C:/ArcGIS/Business Analyst/US_2022/Data/Demographic Data/ZIPCodes_zp_esri.bds"
  BaseSeg = "C:/My Output Data/Projects/Default Project/Segmentation/Profiles/US Households/profile.xml"
  TargetSeg = "C:/My Output Data/Projects/Default Project/Segmentation/Profiles/US Households/profile.xml"
  OutPath = "C:/temp/Gap"
 
# Create Gap Analysis Report
  arcpy.GapAnalysisReport_ba(Customers, GeoLayer, BaseSeg, TargetSeg, "110", "4", 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 Segmentation Analysis 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