Calculate Market Penetration (Business Analyst)

Available with Business Analyst license.


Calculates the market penetration based on the number of customers within an area compared to a demographic variable such as total population.

An optional report can be created detailing the market penetration.


  • The layer used for calculating market penetration must be a polygon layer, such as a standard geography layer from Business Analyst or a trade area.

  • The polygon layer requires a numeric field with market information—for example, total households.

  • The customer layer must be a point feature class.

  • Use a trade area and specify a store ID for both the polygon layer and the customer layer to calculate the performance of your store trade areas.

  • All features from the input polygon layer will be used in the analysis. To improve performance, limit the features to the analysis area.

  • You can also calculate market penetration based on a weight field in the customer layer rather than customer counts—for example, you can calculate penetration based on total sales per household for each ZIP Code.

  • The Calculate Market Penetration tool creates the following fields:

    • BA_CUST—The number of customers in each trade area or boundary.
    • BA_TCUST—The total number of customers in the analysis.
    • BA_PCUST—The percentage of customers in each trade area boundary. The formula used is as follows: (BA_CUST/BA_TCUST) * 100
    • BA_CUSTW, BA_TCUSTW, and BA_PCUSTW—These fields are the same as the customer fields (CUST, TCUST, and PCUST) except these are based on weights. This is often sales per customer or an expenditure value.
    • BA_BASEVAL—The base market value for calculating penetration (total market count). This is often shown as total households or population. The market value is used as the denominator.
    • BA_MKT_P—The market penetration rate. The formula used is as follows: (BA_CUSTW/BA_BASEVAL) * 100. When customer counts are used in place of weighted values, the formula is (BA_CUST/BASEVAL) * 100.

Syntax, out_feature_class, id_field, market_penetration_base_field, in_customer_features, {area_description_field}, {weight_field}, {create_report}, {store_id}, {link_field}, {report_title}, {report_folder}, {report_format})
ParameterExplanationData Type

The input feature class used for calculating market penetration.

Feature Layer

The output feature class that contains the calculated market penetration features.

Feature Class

A unique ID field in the market penetration layer.


The field containing the values used to calculate market penetration. This field will be used as the denominator and represents your market—for example, Total Population or Total Households.


The input feature class containing the points for the customer layer.

Feature Layer

The field used to describe each feature in the market penetration layer.


The field in the customer layer used as a weight to calculate market penetration rather than customer counts.


Specifies whether a summary report will be created per boundary or by combining reports into a single report file.

  • CREATE_REPORTA summary report will be created.
  • DO_NOT_CREATE_REPORTA summary report will not be created. This is the default.

A unique identifier associated with each store for each trade area.


An ID that assigns a trade area to a customer.


The title of the report.


The output directory that will contain the report.


Specifies one or more output report formats. The default value is PDF. Additional available formats: XLSX, HTML, CSV, PAGX.


Derived Output

NameExplanationData Type

The output report file.


Code sample

CalculateMarketPenetration example (stand-alone script)

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

import arcpy"UC_West", r"MyProject.gdb\UC_West", "id", "TOTHH_CY", "Cust_Points", "name", "Sales", "DO_NOT_CREATE_REPORT", None, None, None, None, None)


Licensing information

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

Related topics