ArcGIS for Desktop

  • Documentation
  • Pricing
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS for Desktop

A complete professional GIS

ArcGIS for Server

GIS in your enterprise

ArcGIS for 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
  • Pricing
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

Market Penetration

  • Summary
  • Usage
  • Syntax
  • Code Sample
  • Environments
  • Licensing Information

Summary

Calculates the market penetration based on customer data within an area.

Learn more about how Market Penetration works

Usage

  • The spatial reference of the output feature class will be the same as the layer for calculating market penetration.

  • The layer for calculating market penetration should be a Business Analyst data or trade area layer.

  • The customer layer must be a point feature class.

  • In most cases, the customer layer input feature layer will be a Business Analyst customer layer.

  • When calculating market penetration, the final percentages are a direct result of the number of customers used in the tool. If you are comparing the penetration of your customers based on 1,000 customers in a large metropolitan area against the total population, the percentage of market penetration will be very low. These percentages are still a valuable tool if taken in consideration of the market you are attempting to penetrate.

  • You can use this tool in conjunction with trade areas to calculate the performance and market penetration of your store trade areas. In this case, you would set the Layer for Calculating Market Penetration parameter to your trade area layer.

  • You can optionally calculate market penetration based on a weight field in the customer layer instead of the customer counts. For example, you can calculate penetration based on total sales per household for each ZIP Code.

  • When using this tool within Python, the parameters MarketPenetrationTMCField (Total Market Counts Field), InputGeographyLevel (Geography Level), and MarketPenetrationTMCSummarization (Summarization Field) are not optional, but they can be omitted by placing # value for any of these parameters that you don't want to set.

Syntax

MarketPenetration_ba (MarketPenetrationLayer, MarketPenetrationAreaID, IN_MP_AREA_DESCR, CustomerLayer, MarketPenetrationTMCType, OutputFeatureClass, {MarketPenetrationUseSelectedMPAreas}, IN_MP_STORE_ID, {UseSelectedCustomers}, {CustomerWeightField}, {MarketPenetrationTMCField}, {InputGeographyLevel}, {MarketPenetrationTMCSummarization}, {IN_CL_STORE_ID}, {ReportTitle}, {MarketPenetrationReportDirectory}, {ReportFormats})
ParameterExplanationData Type
MarketPenetrationLayer

The input feature class used for calculating the values for the market penetration.

Feature Layer
MarketPenetrationAreaID

Unique ID field in the market penetration layer.

Field
IN_MP_AREA_DESCR

Field used to describe or name each feature in the market penetration layer.

Field
CustomerLayer

The input feature class (usually a customer layer) that will be used to determine the market penetration.

Feature Layer
MarketPenetrationTMCType

The method that will be used to calculate the market penetration values.

  • In the layer attribute table —Calculates the market penetration based on an existing field in the input layer.
  • Calculate using geography level —Calculates the market penetration based on Business Analyst data.
  • Calculate using online data —Calculates the market penetration based on ArcGIS Online data.
String
OutputFeatureClass

The feature class that will contain the market penetration features.

Feature Class
MarketPenetrationUseSelectedMPAreas
(Optional)

The features used to calculate the market penetration.

  • TRUE —Uses selected features to calculate the market penetration.
  • FALSE —Calculates the market penetration on all features. This is the default.
Boolean
IN_MP_STORE_ID

The unique identifier associated with each store.

Field
UseSelectedCustomers
(Optional)

The features of the customer layer used to calculate the market penetration counts.

  • TRUE —Uses selected features of the customer layer to calculate the market penetration counts.
  • FALSE —Calculates the market penetration counts based on all customer points. This is the default.
Boolean
CustomerWeightField
(Optional)

Uses a weight field in the customer layer instead of the customer counts to calculate the market penetration values. For example, you can calculate penetration based on total sales per household for each ZIP Code.

Field
MarketPenetrationTMCField
(Optional)

The attribute field containing the values for the market penetration calculation.

Field
InputGeographyLevel
(Optional)

The geography level that contains the market counts for the market penetration.

Feature Layer
MarketPenetrationTMCSummarization
(Optional)

The attribute that will be used to calculate the total market counts from the standard geography level.

Field
IN_CL_STORE_ID
(Optional)

Unique ID linking the customer file with the store file.

Field
ReportTitle
(Optional)

Title of the report.

String
MarketPenetrationReportDirectory
(Optional)

Report is created in this output folder.

Folder
ReportFormats
[ReportFormat,...,...]
(Optional)

One or more formats to which the report will be output.

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

Code Sample

MarketPenetration Example (Stand-alone Script)
# Name: MarketPenetration.py
# Description: Calculates how well customers in the San Francisco penetrate the households in that market.
# Author: Esri

# Import system modules
import arcview
import arcpy

arcpy.AddToolbox("C:\Program Files (x86)\ArcGIS\Desktop10.3\Business Analyst\ArcToolbox\Toolboxes\Business Analyst Tools.tbx")

try:    
# Acquire extension license 
  arcpy.CheckOutExtension("Business") 
 
# Define input and output parameters for the Market Penetration tool
  MarketPenetration = "C:/ArcGIS/Business Analyst/US_2014/Data/Demographic Data/esri_bg.bds"
  MarketId = "ID"
  MarketName = "NAME"
  CustInput = "C:/temp/sf_cust.shp"
  OutPath = "C:/temp/Marketpenetration.shp"
  MarketCounts = "TOTHH_CY"
 
# Create a Market Penetration output    
  arcpy.MarketPenetration_ba(MarketPenetration, MarketId, MarketName, CustInput, "In the layer attribute table", MarketCounts, "#", "#", OutPath)
 
# Release extension license 
  arcpy.CheckInExtension("Business") 
 
except:
  print arcpy.GetMessages(2)

Environments

This tool does not use any geoprocessing environments

Licensing Information

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

Related Topics

  • An overview of the Trade Areas toolset
Feedback on this topic?

ArcGIS for Desktop

  • Home
  • Documentation
  • Pricing
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacy | Legal