FRAMES | NO FRAMES |
Scores potential sites or trade areas against an existing well-performing master site.
Availability: Business Analyst Server.
TaskResultOutput FindSimilar ( FindSimilarParameters Parameters, esriReportFormat ReportFormat, RenderingParameters RenderingParameters, TaskOutputType[] OutputTypes, esriFolderItem OutputAnalysisItem );
Parameter | Description |
---|---|
Parameters | Configuration options for analysis. Type FindSimilarParameters. |
ReportFormat | This parameter should be null. This parameter is deprecated. |
RenderingParameters | Configuration options for rendering output when GetMapImage option is specified in the OutputTypes parameter. Type RenderingParameters. |
OutputTypes | Array of task output options. Options for this method include rendering output image (GetMapImage) and creating a feature layer for subsequent analysis (GetFeatureClass). Type TaskOutputType[]. |
OutputAnalysisItem | (Optional
parameter — can be null). Configuration options for storing the output feature layer in the repository. This will enable viewing and working with the output result in subsequent tasks. Type esriFolderItem. |
Variable of type TaskResultOutput
The FindSimilar method is used to score potential new sites against a known, well-performing site, called a master site.
Why do some stores do better than others? The old real estate axiom of "location, location, location" is usually the most important part of the answer. The FindSimilar method is based on the idea that the characteristics of a master site can be used to find similar sites elsewhere. The FindSimilar method allows you to score polygon data—for example, simple rings, drive times, and other forms of trade areas.
The master site can be based on your best location or a typical location. You can select a master site based on a trade area around store with a particular product mix or on one that has the highest rate of same store sales. You have to pick the master site candidate against which FindSimilar will score. You can choose your master site from the data layer to be scored or from another polygon layer.
Although it isn't required, you should compare similar-sized areas around the master and scored sites. For example, if you're using a 5-minute drive time around your master site, you should create and use a 5-minute drive time around the other features in the target layer.
The are two approaches for running the FindSimilar method—the Conventional Analysis and the Principal Component Analysis.
Conventional Analysis
The Conventional Analysis compares the master site against the other features in the target layer based on variables you select. This method has a fundamental assumption that you know what variables are important in ranking sites based on similarity. That you can precisely identify the relevant variables is an assumption that might not hold in most cases. For instance, if block groups were used as the level of geography, deciding on the right variables is not easy, sometimes setting the range to +/- 60 percent for the chosen variables does not find a similar site.
The Conventional Analysis ranks trade areas by comparing values, of up to five variables, of the master site to the scored sites. You will assign a +/- percentage that you would like the sites to be scored according to the master site value. Sites are then assigned a score of 1-5 based on the number of variables that match the criteria you set.
Principal Component Analysis (PCA)
The PCA removes the burden of variable selection while still providing a ranking of the sites according to the level of similarity. You can choose as many variables as you want.
The figure below illustrates how the variables or neighbors can be selected where K is the number of neighbors to be found.
The PCA considers a set of variables for each site as a vector. It then considers a set of vectors for all potential sites and the master site and performs the PCA on it in the following sequence:
The resulting layer contains K potential sites closest to the master site.
The example below generates a list of areas of interest based on selected demographic and marketing characteristics.
NOTE: See CustomerProspecting samples for a similar analysis using the Principal Components Analysis option.
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 RenderingParameters imageOptions; TaskOutputType[] outputOptions; esriFolderItem outputLayer; esriFolderItem outputReport; // ========= STEP 1: Specify a boundary layer with two California Counties StandardLevelsOfGeographyParameters geographyParameters = new StandardLevelsOfGeographyParameters(); // Set specific analysis parameters geographyParameters.GeographyFeaturesBehavior = esriStdGeographyType.esriStdGeographyTypeFirst; geographyParameters.GeographyIDs = new string[] { "06001", "06003" }; geographyParameters.GeographyLevelID = "US.Counties"; // Set other parameters imageOptions = null; outputOptions = new TaskOutputType[] { TaskOutputType.GetFeatureClass }; outputLayer = null; outputReport = null; TaskResultOutput geographyResult = baServerHelper.StandardLevelsOfGeography(geographyParameters, imageOptions, outputOptions, outputLayer, outputReport); DataLayer boundaryLayer = new DataLayer(); boundaryLayer.RecordSet = geographyResult.RecordSet; // ========= STEP 2: Specify a master site layer with San Francisco County geographyParameters = new StandardLevelsOfGeographyParameters(); // Set specific analysis parameters geographyParameters.GeographyFeaturesBehavior = esriStdGeographyType.esriStdGeographyTypeFirst; geographyParameters.GeographyIDs = new string[] { "06075" }; geographyParameters.GeographyLevelID = "US.Counties"; // Set other parameters imageOptions = null; outputOptions = new TaskOutputType[] { TaskOutputType.GetFeatureClass }; outputLayer = null; outputReport = null; geographyResult = baServerHelper.StandardLevelsOfGeography(geographyParameters, imageOptions, outputOptions, outputLayer, outputReport); DataLayer masterSiteLayer = new DataLayer(); masterSiteLayer.RecordSet = geographyResult.RecordSet; // ========= STEP 3: Execute the analysis FindSimilarParameters parameters = new FindSimilarParameters(); // Set specific analysis parameters parameters.AnalysisType = esriFindSimilarAnalysisType.esriFindSimilarAnalysisConventional; parameters.Boundaries = boundaryLayer; parameters.MasterSiteLayer = masterSiteLayer; parameters.MasterSiteOID = 1; parameters.PercentValues = new double[] { 25, 25, 30, 30 }; parameters.Summarizations = new string[] { "MEDHINC_CY", "AVGNW_CY", "MARRIED_CY", "EDBACH_CY" }; // Set other parameters imageOptions = null; outputOptions = new TaskOutputType[] { TaskOutputType.GetFeatureClass }; outputLayer = null; TaskResultOutput result = baServerHelper.FindSimilar(parameters, imageOptions, outputOptions, outputLayer); |