Method and system for automated cost duplication detection and correction
Techniques for automated cost duplication detection and correction are described. In an example, a set of demand reports including data fields common to the set are received. A first subset of features are extracted from each demand report. A plurality of duplicate report groups are generated based on a comparison of the first subset of features extracted from each demand report. For each duplicate report group, a trained machine learning model is executed on a second subset of features extracted from the duplicate report group to generate a score representing a probability that the demand reports in the duplicate report group are valid duplicates. Depending on the score, an audit action sequence for the duplicate report group is generated.
1 . A method comprising:
obtaining a plurality of validated report groups, wherein each validated report group of the plurality of validated report groups is associated with a respective classification of a plurality of classifications indicating whether or not a validated report group includes one or more duplicate demand reports;
extracting, from each validated report group of the plurality of validated report groups, a plurality of features;
selecting a subset of features from the plurality of features;
training a new machine learning model on the subset of features and the respective classification from each validated report group of the plurality of validated report groups, wherein, once trained, the new machine learning model comprises a predictive power value assigned by the new machine learning model to each feature of the subset of features;
determining that an accuracy of the new machine learning model does not meet or exceed a predefined accuracy threshold;
selecting, in response to determining that the accuracy of the new machine learning model does not meet or exceed the predefined accuracy threshold, a subsequent subset of features from the plurality of features by:
retaining first features from the subset of features that were assigned predictive power values above a predefined predictive power threshold by the new machine learning model; and
replacing second features from the subset of features that were assigned predictive power values below the predefined predictive power threshold by the new machine learning model;
training a subsequent machine learning model on the subsequent subset of features and the respective classification from each validated report group of the plurality of validated report groups;
determining that an accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold;
outputting, in response to determining that the accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold, the subsequent machine learning model as a final machine learning model;
identifying, in further response to determining that the accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold, the subsequent subset of features as a final subset of features;
receiving a set of demand reports, wherein each demand report of the set of demand reports includes data fields common to the set of demand reports;
extracting, from each demand report of the set of demand reports, a first subset of features from the data fields;
generating, from the set of demand reports, a plurality of duplicate report groups, wherein each duplicate report group of the plurality of duplicate report groups comprises two or more demand reports identified as being potential duplicates based on a comparison of the first subset of features extracted from the two or more demand reports; and
for each duplicate report group of the plurality of duplicate report groups;
extracting, from the two or more demand reports, a second subset of features corresponding to the final subset of features;
executing the final machine learning model on the second subset of features to generate a score representing a probability that the two or more demand reports are valid duplicates; and
generating, based on a determination that the score is greater than a predefined score threshold, an audit action sequence for the duplicate report group.
2 . The method of claim 1 , wherein the first subset of features are extracted from data fields comprising: a vendor identification data field, an invoice date data field, an invoice number data field, and an invoice amount data field.
3 . The method of claim 1 , wherein each demand report of the set of demand reports is associated with a respective vendor of a plurality of vendors, and wherein the method further comprises:
generating, for each respective vendor of the plurality of vendors, a respective vendor profile comprising a plurality of statistical features extracted from the demand reports associated with the respective vendor.
4 . The method of claim 3 , wherein each duplicate report group of the plurality of duplicate report groups is associated with a respective vendor of the plurality of vendors and the second subset of features comprises one or more deviations from the plurality of statistical features of the respective vendor profile.
5 . The method of claim 3 , wherein the plurality of statistical features comprises at least one statistical feature selected from the group consisting of: an average invoice length, an average invoice number, a prevalence of dashes in invoice numbers, and an average invoice number length.
6 . The method of claim 1 , further comprising:
training, for each iteration, the new machine learning model using a subset of the plurality of validated report groups; and
verifying, for each iteration, the accuracy of the new machine learning model using a remainder of the plurality of validated report groups and the associated plurality of classifications.
7 . A computer system including:
one or more processors; and
one or more memories storing computer-readable instructions that, upon execution by the one or more processors, configure the computer system to:
obtain a plurality of validated report groups, wherein each validated report group of the plurality of validated report groups is associated with a respective classification of a plurality of classifications indicating whether or not a validated report group includes one or more duplicate demand reports;
extract, from each validated report group of the plurality of validated report groups, a plurality of features;
select a subset of features from the plurality of features;
train a new machine learning model on the subset of features and the respective classification from each validated report group of the plurality of validated report groups, wherein, once trained, the new machine learning model comprises a predictive power value assigned by the new machine learning model to each feature of the subset of features;
determine that an accuracy of the new machine learning model does not meet or exceed a predefined accuracy threshold;
select, in response to determining that the accuracy of the new machine learning model does not meet or exceed the predefined accuracy threshold, a subsequent subset of features from the plurality of features by:
retaining first features from the subset of features that were assigned predictive power values above a predefined predictive power threshold by the new machine learning model; and
replacing second features from the subset of features that were assigned predictive power values below the predefined predictive power threshold by the new machine learning model;
train a subsequent machine learning model on the subsequent subset of features and the respective classification from each validated report group of the plurality of validated report groups;
determining that an accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold;
output, in response to determining that the accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold, the subsequent machine learning model as a final machine learning model;
identify, in further response to determining that the accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold, the subsequent subset of features as a final subset of features;
receive a set of demand reports, wherein each demand report of the set of demand reports includes data fields common to the set of demand reports;
extract, from each demand report of the set of demand reports, a first subset of features from the data fields;
generate, from the set of demand reports, a plurality of duplicate report groups, wherein each duplicate report group of the plurality of duplicate report groups comprises two or more demand reports identified as being potential duplicates based on a comparison of the first subset of features extracted from the two or more demand reports; and
for each duplicate report group of the plurality of duplicate report groups;
extract, from the two or more demand reports, a second subset of features corresponding to the final subset of features;
execute the final machine learning model on the second subset of features to generate a score representing a probability that the two or more demand reports are valid duplicates; and
generate, based on a determination that the score is greater than a predefined score threshold, an audit action sequence for the duplicate report group.
8 . The computer system of claim 7 , wherein the computer-readable instructions further configure the computer system to obtain the set of demand reports from one or more external computer systems.
9 . The computer system of claim 7 , wherein the audit action sequence includes one or more procedures to determine a duplicate amount represented by the duplicate report group, and the computer-readable instructions further configure the computer system to:
present, at a display communicatively coupled with the computer system, the one or more procedures to a user.
10 . The computer system of claim 7 , wherein the first subset of features are extracted from data fields comprising: a vendor identification data field, an invoice date data field, an invoice number data field, and an invoice amount data field.
11 . The computer system of claim 7 , wherein each demand report of the set of demand reports is associated with a respective vendor of a plurality of vendors, and the computer-readable instructions further configure the computer system to:
generate, for each respective vendor of the plurality of vendors, a respective vendor profile comprising a plurality of statistical features extracted from the demand reports associated with the respective vendor.
12 . The computer system of claim 11 , wherein each duplicate report group of the plurality of duplicate report groups is associated with a respective vendor of the plurality of vendors and the second subset of features comprises one or more deviations from the plurality of statistical features of the respective vendor profile.
13 . The computer system of claim 11 , wherein the plurality of statistical features comprises at least one statistical feature selected from the group consisting of: an average invoice length, an average invoice number, a prevalence of dashes in invoice numbers, and an average invoice number length.
14 . One or more non-transitory computer-readable storage media storing instructions that, upon execution on a computer system, cause the computer system to perform operations including:
obtaining a plurality of validated report groups, wherein each validated report group of the plurality of validated report groups is associated with a respective classification of a plurality of classifications indicating whether or not a validated report group includes one or more duplicate demand reports;
extracting, from each validated report group of the plurality of validated report groups, a plurality of features;
selecting a subset of features from the plurality of features;
training a new machine learning model on the subset of features and the respective classification from each validated report group of the plurality of validated report groups, wherein, once trained, the new machine learning model comprises a predictive power value assigned by the new machine learning model to each feature of the subset of features;
determining that an accuracy of the new machine learning model does not meet or exceed a predefined accuracy threshold;
selecting, in response to determining that the accuracy of the new machine learning model does not meet or exceed the predefined accuracy threshold, a subsequent subset of features from the plurality of features by:
retaining first features from the subset of features that were assigned predictive power values above a predefined predictive power threshold by the new machine learning model; and
replacing second features from the subset of features that were assigned predictive power values below the predefined predictive power threshold by the new machine learning model;
training a subsequent machine learning model on the subsequent subset of features and the respective classification from each validated report group of the plurality of validated report groups;
determining that an accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold;
outputting, in response to determining that the accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold, the subsequent machine learning model as a final machine learning model;
identifying, in further response to determining that the accuracy of the subsequent machine learning model meets or exceeds the predefined accuracy threshold, the subsequent subset of features as a final subset of features;
receiving a set of demand reports, wherein each demand report of the set of demand reports includes data fields common to the set of demand reports;
extracting, from each demand report of the set of demand reports, a first subset of features from the data fields;
generating, from the set of demand reports, a plurality of duplicate report groups, wherein each duplicate report group of the plurality of duplicate report groups comprises two or more demand reports identified as being potential duplicates based on a comparison of the first subset of features extracted from the two or more demand reports; and
for each duplicate report group of the plurality of duplicate report groups;
extracting, from the two or more demand reports, a second subset of features corresponding to the final subset of features;
executing the final machine learning model on the second subset of features to generate a score representing a probability that the two or more demand reports are valid duplicates; and
generating, based on a determination that the score is greater than a predefined score threshold, an audit action sequence for the duplicate report group.
15 . The one or more non-transitory computer-readable storage media of claim 14 , wherein the first subset of features are extracted from data fields comprising: a vendor identification data field, an invoice date data field, an invoice number data field, and an invoice amount data field.
16 . The one or more non-transitory computer-readable storage media of claim 14 , wherein each demand report of the set of demand reports is associated with a respective vendor of a plurality of vendors, and the operations further include:
generating, for each respective vendor of the plurality of vendors, a respective vendor profile comprising a plurality of statistical features extracted from the demand reports associated with the respective vendor.
17 . The one or more non-transitory computer-readable storage media of claim 16 , wherein each duplicate report group of the plurality of duplicate report groups is associated with a respective vendor of the plurality of vendors and the second subset of features comprises one or more deviations from the plurality of statistical features of the respective vendor profile.
18 . The one or more non-transitory computer-readable storage media of claim 16 , wherein the plurality of statistical features comprises at least one statistical feature selected from the group consisting of: an average invoice length, an average invoice number, a prevalence of dashes in invoice numbers, and an average invoice number length.