# Calculate Market Penetration

## Summary

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

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.

## Usage

• 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.

• 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

`CalculateMarketPenetration_ba (in_features, 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})`
 Parameter Explanation Data Type in_features The input feature class used for calculating market penetration. Feature Layer out_feature_class The output feature class that contains the calculated market penetration features. Feature Class id_field A unique ID field in the market penetration layer. Field market_penetration_base_field 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. Field in_customer_features The input feature class containing the points for the customer layer. Feature Layer area_description_field(Optional) The field used to describe each feature in the market penetration layer. Field weight_field(Optional) The field in the customer layer used as a weight to calculate market penetration rather than customer counts. Field create_report(Optional) Specifies whether a summary report will be created per boundary or by combining reports into a single report file. CREATE_REPORT —A summary report will be created.DO_NOT_CREATE_REPORT —A summary report will not be created. This is the default. Boolean store_id(Optional) A unique identifier associated with each store for each trade area. Field link_field(Optional) An ID that assigns a trade area to a customer. Field report_title(Optional) The title of the report. String report_folder(Optional) The output directory that will contain the report. Folder report_format[report_format,...](Optional) Specifies one or more output report formats. The default value is PDF. String

#### Derived Output

 Name Explanation Data Type output_report The output report file. File

## Code sample

CalculateMarketPenetration example (stand-alone script)

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

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