A computer program product for identifying subpopulations, the computer program product comprising at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to:
- receive interaction data associated with a plurality of interactions from a population of individuals, the interaction data for each individual comprising a plurality of features, the plurality of features comprising a plurality of fields each associated with at least one of payment transaction data associated with a plurality of payment transactions, spendographic data determined based on the payment transaction data, or demographic data associated with a respective individual of the population of individuals;
- identify a first subpopulation of the population based on at least one feature of respective interaction data of each respective individual in the first subpopulation, wherein a second subpopulation of the population comprises all individuals of the population other than the first subpopulation;
- after identifying the first subpopulation, cluster the first subpopulation into a first plurality of clusters based on the plurality of features;
- determine a first subset of the plurality of features based on the first plurality of clusters, wherein determining the first subset of the plurality of features comprises determining the first subset of the plurality of features based on the first plurality of clusters using at least one of a tree classifier or a random forest tree classifier;
- cluster the first subpopulation into a second plurality of clusters based on the first subset of the plurality of features;
- after clustering the first subpopulation into the second plurality of clusters, determine a number of features of a second subset of the plurality of features is outside a desired range, wherein determining the number of features of the second subset of the plurality of features is outside the desired range comprises determining a variance explained by each feature of the second subset of the plurality of features does not exceed a threshold;
- determine a further subset of the plurality of features based on the second plurality of clusters;
- cluster the first subpopulation into a further plurality of clusters based on the further subset of the plurality of features;
- repeat determining the further subset of the plurality of features and clustering the first subpopulation into the further plurality of clusters until a number of features of the further subset of the plurality of features is within the desired range, wherein determining the number of features of the further subset of the plurality of features is within the desired range comprises determining a variance explained by each feature of the further subset of the plurality of features exceeds the threshold;
- replace the second subset of the plurality of features with the further subset of the plurality of features and the second plurality of clusters with the further plurality of clusters;
- after determining the number of features of the further subset of the plurality of features is within the desired range and replacing the second subset of the plurality of features with the further subset of the plurality of features and the second plurality of clusters with the further plurality of clusters, determine a range for each feature of a second subset of the plurality of features based on the second plurality of clusters;
- after determining the range for each feature of the second subset of the plurality of features based on the second plurality of clusters of the first subpopulation, determine a subset of the second subpopulation based on respective interaction data for each respective individual of the subset of the second subpopulation and the range for each respective feature of the second subset of the plurality of features, the subset of the second subpopulation comprising a target subpopulation;
- and
- after determining the target subpopulation, communicate at least one communication based on the target subpopulation.