Skip To Content

Generate Customer Derived Trade Areas

Available with Business Analyst license.

Summary

Creates trade areas around stores based on the number of customers or volume attribute of each customer.

Illustration

Customer-derived trade area

Usage

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

  • Stores and Customers must both be point features.

  • Valid numeric values must be used when identifying a volumetric field to be used as a weighted value.

  • The trade area boundaries can be set to expand outward until encompassing user-prescribed customer counts, or summed and weighted numeric values, such as sales.

  • Store-to-customer assignments are controlled during setup by way of a common, user-specified ID.

Syntax

CustomerDerivedTA_ba (in_stores_layer, store_id_field, in_customers_layer, link_field, out_feature_class, method, rings, customer_aggregation_type, {customer_weight_field}, {exclude_outlying_customers}, {cutoff_distance}, {dissolve_option}, {use_customer_centroids})
ParameterExplanationData Type
in_stores_layer

Input point layer representing store or facility locations.

Feature Layer
store_id_field

Unique ID representing a store or facility location.

Field
in_customers_layer

Input point layer representing customers or patrons.

Feature Layer
link_field

An ID used to assign individual customers to stores.

Field
out_feature_class

The output trade area feature class.

Feature Class
method

The type of customer-derived trade area to be generated.

  • SIMPLE Creates a generalized trade area based on the percentages of customers corresponding to each store.
  • AMOEBA Connects points representing the boundary of the polygon trade area using natural curvature.
  • DETAILED Connects points representing the boundary of the polygon trade area using straight lines.
  • DETAILED_WITH_SMOOTHING Connects points representing the boundary of the polygon trade area with smoothed curves using cubic splines. This approach takes into account the shape and pattern of the customer distributions. This is the default.
String
rings
[rings,...]

One or more values representing the percentage of customers (for example, total count) or a customer attribute (for example, total sales) assigned to each store. Each value represents one trade area polygon.

Double
customer_aggregation_type

The type of aggregation.

  • COUNT Calculates percentage-based trade areas using the geographic locations of customers. This is the default.
  • WEIGHT Calculates percentage-based trade areas using a customer attribute (for example, Sales).
String
customer_weight_field
(Optional)

The field used to calculate the trade areas. This is based on either the number of customers (count) or the calculated weighted value assigned to each customer.

Field
exclude_outlying_customers
(Optional)

Provides an option to exclude outlying customers from the trade area creation process.

  • EXCLUDE_OUTLIERSExcludes outlying customers.
  • ALL_POINTS Considers all customers. This is the default.
Boolean
cutoff_distance
(Optional)

The distance beyond which customers will be considered outliers, and therefore excluded from consideration during trade area creation.

Linear Unit
dissolve_option
(Optional)

Creates polygons of the entire area or splits the polygons into individual features.

  • OVERLAP Creates output polygons where each feature begins at zero and grows to satisfy the desired percentage of customers. For example, if you request a trade area of 50 percent and 70 percent of your customers, one polygon will be generated to include 0 to 50 percent and a second polygon will include all 0 to 70 percent of customers. This is the default.
  • SPLIT Creates output polygons for individual features based on the requested percentage breaks. For example, if you request a trade area of 50 percent and 70 percent of your customers, one polygon will be generated to include 0 to 50 percent and a second polygon will include 50 to 70 percent of customers.
String
use_customer_centroids
(Optional)

Locates the center of your customer area and calculates trade areas outward from this point.

  • USE_CENTROIDS Uses centroid of customer points to calculate trade areas.
  • USE_STORES Uses store location as the starting point to calculate trade areas. This is the default.
Boolean

Code sample

CustomerDerivedTA example (Python window)

The following Python window script demonstrates how to use the CustomerDerivedTA tool.

import arcpy
arcpy.ba.CustomerDerivedTA("Facility", "ID", "Customers", "ID", r"C:\Temp\Output.gdb\TradeArea75pct", "DETAILED_WITH_SMOOTHING", 75, "COUNT", None, "ALL_POINTS", None, "OVERLAP", "USE_STORES")

Environments

Licensing information

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

Related topics