Segmentation is the process of grouping customers that have similar characteristics and transactional behaviors. Each grouping is known as a segment. These segments can then be used in various processes, such as creating and optimizing scenarios. The purpose of this post is to discuss the auto segmentation feature in SAS® Anti-Money Laundering, including how to run the jobs that execute this feature.
The auto segmentation feature implements a process to create and manage customer segments. It uses a combination of business-provided rules (which are fixed rules that separate customers into different segments based on prior business knowledge) that create high-level general segments and an unsupervised clustering-based algorithm that creates additional groupings within these segments. One purpose of segmentation is to detect and highlight outliers. In addition, if your organization has a very large amount of data, customer segmentation can be a used as a proactive step to help break up the alert generation process.
This auto segmentation feature involves three jobs: the segment generation job, the segment assignment job, and the segment reassignment job. These jobs are executed from the SAS Job Execution Web Application, which you can access by navigating to https://(your server)/SASJobExecution/
After you’re in SAS Job Execution, to get to the segmentation jobs, on the Content tab, you expand SAS Content, Products, SAS Anti-Money Laundering and then jobs. To run the jobs, right-click the job, and select Submit job.
Select any image to see a larger version.
Mobile users: To view the images, select the "Full" version at the bottom of the page.
Let’s look at the segmentation jobs in more detail.
The segment generation job, fcf_aml_segmentation, is the primary program in the auto segmentation feature. Before you execute this job, you must include predefined segment definitions as input.
Predefined segments are user-defined segments in the form of fixed business rules that are designed to create the first level of customer segments.
The segment generation job then creates sub-segments or groups for each of these predefined segments using an unsupervised clustering-based algorithm. If predefined segments are required, you must ensure that the definition file is specified. Predefined segments are specified in an input file that is placed in a SAS Drive folder location accessible within the SAS Anti-Money Laundering solution. The file name and location can then be specified via input parameters to the generation job. When predefined segments are not required, a definition file does not need to be specified. However, the input parameter value for the definition file name should be set to blank.
Next, you execute the fcf_aml_segmentation job. This program analyzes all the active customers within each predefined segment to create segment groups.
The data for this job is extracted from the svi_alerts and core schemas and then is enriched. The enriched data is then used to create segments.
Once the segments have been defined, the data is assigned to a segment. If there is not enough behavioral information to segment the data, it’s stored in an “unclassified” segment.
The generated segments are saved in the party_segment table, inside the Kc schema, where it and the segment data are available to SAS Anti-Money Laundering. A party can have multiple segments stored in this table. However, only the most current segment, or segment with change_current_ind = Y, is active.
It’s important to note that the fcf_aml_segmentation.sas job must be run at least once before running any other job, because it generates artifacts that are dependencies for the remaining jobs.
The segment assignment job, fcf_aml_seg_assign_unassigned, is used when more customers have been added to the core schema. It executes a process that is similar to the primary job, except that the data is filtered on new and unclassified customers. The segment definitions from the primary job are used to assign the data.
Lastly, the fcf_aml_seg_reassignment job is similar, except that it is used to reassess customer behavior and reassign customers to another segment, if necessary.
It’s important to mention that you might have to adjust the parameters of these jobs depending on your organization. Lets use the young_threshold parameter as an example. When there is insufficient behavioral information for a given customer, that customer cannot be assigned a segment from a segment group that is generated using behavioral features. Such customers are assigned to a special segment titled Unclassifiable Segment. The criteria for being assigned to the unclassifiable segment is specified via the parameter young_threshold. This parameter determines the minimum number of transactions that the customer needs to have to be eligible for a segment assignment. The default value is 10, but you might set the value differently depending on your data.
In addition, all the jobs produce a report in PDF format. The report contains information pertaining to the data that was used as well as the intermediate and final results during job execution. These reports can be found in the SAS Drive folder location at /SAS Content/Products/SAS Anti-Money Laundering/ AnalyticStores/Job Reports.
To learn more about segmentation and SAS Anti-Money Laundering in general, please visit https://support.sas.com/en/software/sas-anti-money-laundering-support.html.
Find more articles from SAS Global Enablement and Learning here.
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.
The rapid growth of AI technologies is driving an AI skills gap and demand for AI talent. Ready to grow your AI literacy? SAS offers free ways to get started for beginners, business leaders, and analytics professionals of all skill levels. Your future self will thank you.