FRAMES | NO FRAMES
CustomerDemographicProfile Method

Summarizes the demographic makeup of the geographies where your customers live. Based on the information in this report, you can get a sense of the demographic makeup of your customer base.

Availability: Business Analyst Server.

TaskResultOutput CustomerDemographicProfile ( 
    CustomerDemographicProfileParameters  Parameters, 
    esriReportFormat                      ReportFormat, 
    TaskOutputType[]                      OutputTypes, 
    esriFolderItem                        OutputReportItem 
);

Parameter Description
Parameters Configuration options for analysis. Type CustomerDemographicProfileParameters.
ReportFormat This parameter should be null. This parameter is deprecated.
OutputTypes Array of task output options. Options for this method include creating a report (GetReport). Type TaskOutputType[].
OutputReportItem (Optional parameter — can be null).
Configuration options for storing the output report in the repository. This will enable viewing and working with the output result in subsequent tasks. Type esriFolderItem.

Returns

Variable of type TaskResultOutput

Remarks

Business Analyst uses the geographic information from your customer address information to append demographic characteristics and a tapestry segmentation code to each customer record. The Customer Demographic Profile summarizes the demographic makeup of geographies where your customers live.

Calculations used in creating the Customer Demographic Profile

The calculation used in creating values for the Customer Demographic Profile is as follows:

Here DC equals a demographic characteristic on the report, such as population age 15–19; DC(bg) equals the same demographic characteristic in a block group; and W(bg) equals the weight of the block group.

The calculation for W(bg) is illustrated below:

The weight of the block group is the ratio of the number of customers in Block Group C(bg) to the total number of households in Block Group TOTHHs(bg).

The Customer Demographic Profile gives you a feel for the demographic makeup of the profiled file. Business Analyst assigns a weight to each block group that contains a customer record, aggregates the values, and calculates the results shown in the Customer Demographic Profile Report.

Example of calculations

A customer file has 10 records; five live in Block Group 1, and five live in Block Group 2:

C(1) = 5,   C(2) = 5.

Block Group 1 has a total of 10 households and Block Group 2 has a total of 25 households:

TOTHHs(1) = 10,   TOTHHs(2) = 25.

For the above equation, W(1) = 0.5 (5/10 = 0.5) and W(2) = 0.2 (5/25 = 0.2).

Below is a household income distribution for each of these block groups.

Apply the ratio calculated previously to each count in each interval for each block group and aggregate them for each variable.

Values are rounded to one decimal point.

Usage Tips

Examples

The example below generates a Customer Demographic Profile report from a list of 4 customer locations.

C#
// Instantiate the BAServerHelper class to access analysis methods
BAServerHelper baServerHelper = new BAServerHelper();
baServerHelper.ActiveDatasetID = "USA_ESRI"; // Optional parameter
baServerHelper.IsFullErrorMessage = true;    // Default is false
 
// You can specify below a domain of your local Business Analyst Server.
//baServerHelper.BAServerDomain = "esri.com";
 
// If a domain name is specified, a local server name in output URLs is replaced with the
// fully-addressable server name so people and machines outside the domain of your local
// Business Analyst Server instance can access these URLs.
 
// Create a PointRecord array of 4 customer locations.
PointRecord[] customerPoints = new PointRecord[4];
 
customerPoints[0] = new PointRecord();
customerPoints[0].Name = "jane_smith";
customerPoints[0].Description = "Jane Smith";
customerPoints[0].StoreID = "5";
customerPoints[0].Latitude = 32.74198;
customerPoints[0].Longitude = -117.24996;
 
customerPoints[1] = new PointRecord();
customerPoints[1].Name = "miguel_sanchez";
customerPoints[1].Description = "Miguel Sanchez";
customerPoints[1].StoreID = "5";
customerPoints[1].Latitude = 32.781143;
customerPoints[1].Longitude = -117.235664;
 
customerPoints[2] = new PointRecord();
customerPoints[2].Name = "pam_lee";
customerPoints[2].Description = "Pam Lee";
customerPoints[2].StoreID = "5";
customerPoints[2].Latitude = 32.811494;
customerPoints[2].Longitude = -117.231709;
 
customerPoints[3] = new PointRecord();
customerPoints[3].Name = "byron_jackson";
customerPoints[3].Description = "Byron Jackson";
customerPoints[3].StoreID = "5";
customerPoints[3].Latitude = 32.854672;
customerPoints[3].Longitude = -117.204533;
 
// Create a customer feature layer based on an array of point records.
PointLayer customerLayer = new PointLayer();
customerLayer.Points = customerPoints;
 
CustomerDemographicProfileParameters parameters = new CustomerDemographicProfileParameters();
 
// Set specific analysis parameters
parameters.Customers = customerLayer;
parameters.GeographyLayerID = "US.BlockGroups";
 
// Set report options
ReportOptions reportOptions = new ReportOptions();
reportOptions.ReportFormat = "PDF";
reportOptions.ReportHeader = new KeyValue[1];
reportOptions.ReportHeader[0] = new KeyValue();
reportOptions.ReportHeader[0].Key = "subtitle";
reportOptions.ReportHeader[0].Value = "Customer Demographic Profile Report for four customers";
parameters.StandardReportOptions = reportOptions;
 
// Set other parameters
esriFolderItem outputReport = null;
 
TaskResultOutput result = baServerHelper.CustomerDemographicProfile(parameters, outputReport);
 
string reportURL = result.Reports[0].ReportURL;

See Also