80-20 Analysis (Crime Analysis and Safety)

Summary

Conducts an 80/20 analysis of features and determines cluster locations by creating a graduated symbol layer based on the number of incidents occurring at each location. The tool calculates a cumulative percentage field to identify the locations where incidents are disproportionately occurring.

Usage

  • The 80/20 rule is a theoretical concept in which a large majority of incidents occur at a small minority of locations, for example 80 percent of incidents at 20 percent of locations.

  • The output is sorted based on newly generated ICOUNT (cluster count), CUMU_PERC (cumulative percentage), and PERC (percentage) fields.

    • ICOUNT—The number of points found within the cluster tolerance for that cluster.
    • CUMU_PERC—The cumulative percentage of the current cluster point and all other larger cluster points. This value can be used to determine if a disproportionate number of cluster locations represent a larger proportion of crimes, for example, 20 percent of cluster locations contain 80 percent of total points.
    • PERC—The percentage of the total number of points found within the cluster tolerance for that cluster.
  • The output feature class will be symbolized by the ICOUNT (cluster count) field.

Parameters

LabelExplanationData Type
Input Point Features

The input point features used to create clusters.

Feature Layer
Output Feature Class

The output point cluster feature class.

Feature Class
Cluster Tolerance
(Optional)

The maximum distance (meters, feet, kilometers, or miles) separating the points at which they will be considered part of the same cluster.

If no cluster tolerance is specified, the tool will identify features that are geometrically identical to cluster.

Linear Unit
Output Fields
(Optional)

The input feature fields that will be preserved. When no fields are preserved, no input feature fields will be copied to the output. This is the default behavior.

Field

arcpy.ca.EightyTwentyAnalysis(in_features, out_feature_class, {cluster_tolerance}, {out_fields})
NameExplanationData Type
in_features

The input point features used to create clusters.

Feature Layer
out_feature_class

The output point cluster feature class.

Feature Class
cluster_tolerance
(Optional)

The maximum distance (meters, feet, kilometers, or miles) separating the points at which they will be considered part of the same cluster.

If no cluster tolerance is specified, the tool will identify features that are geometrically identical to cluster.

Linear Unit
out_fields
[out_fields,...]
(Optional)

The input feature fields that will be preserved. When no fields are preserved, no input feature fields will be copied to the output. This is the default behavior.

Field

Code sample

EightyTwentyAnalysis example 1 (python window)

The following Python window script demonstrates how to use the EightyTwentyAnalysis function in immediate mode.

import arcpy
arcpy.env.workspace = r"C:/data/city_pd.gdb"
arcpy.ca.EightyTwentyAnalysis("CallsForService", "80_20_clusters")
EightyTwentyAnalysis example 2 (stand-alone script)

The following Python script demonstrates how to use the EightyTwentyAnalysis function in a stand-alone script.

# Name: EightyTwentyAnalysis.py
# Description: Conducts a 80/20 analysis of 911 calls to determine clusters of calls within 50 meters of each other.

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:\data\city_pd.gdb"

# Set local variables
in_features = "CallsForService"
out_feature_class = "80_20_clusters"
cluster_tolerance = "50 Meters"
out_fields = ["FULLADDR","RESCITY", "RESSTATE", "RESZIP5"]

# Execute EightyTwentyAnalysis
arcpy.ca.EightyTwentyAnalysis(in_features,
                            out_feature_class,
                            cluster_tolerance,
                            out_fields)

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics