Skip to content

Commit 80ac142

Browse files
author
AWS
committed
Amazon Fraud Detector Update: The release introduces Account Takeover Insights (ATI) model. The ATI model detects fraud relating to account takeover. This release also adds support for new variable types: ARE_CREDENTIALS_VALID and SESSION_ID and adds new structures to Model Version APIs.
1 parent e01e4ba commit 80ac142

File tree

2 files changed

+259
-10
lines changed

2 files changed

+259
-10
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon Fraud Detector",
4+
"contributor": "",
5+
"description": "The release introduces Account Takeover Insights (ATI) model. The ATI model detects fraud relating to account takeover. This release also adds support for new variable types: ARE_CREDENTIALS_VALID and SESSION_ID and adds new structures to Model Version APIs."
6+
}

services/frauddetector/src/main/resources/codegen-resources/service-2.json

Lines changed: 253 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,6 +1170,56 @@
11701170
}
11711171
},
11721172
"shapes":{
1173+
"ATIMetricDataPoint":{
1174+
"type":"structure",
1175+
"members":{
1176+
"cr":{
1177+
"shape":"float",
1178+
"documentation":"<p> The challenge rate. This indicates the percentage of login events that the model recommends to challenge such as one-time password, multi-factor authentication, and investigations. </p>"
1179+
},
1180+
"adr":{
1181+
"shape":"float",
1182+
"documentation":"<p> The anomaly discovery rate. This metric quantifies the percentage of anomalies that can be detected by the model at the selected score threshold. A lower score threshold increases the percentage of anomalies captured by the model, but would also require challenging a larger percentage of login events, leading to a higher customer friction. </p>"
1183+
},
1184+
"threshold":{
1185+
"shape":"float",
1186+
"documentation":"<p> The model's threshold that specifies an acceptable fraud capture rate. For example, a threshold of 500 means any model score 500 or above is labeled as fraud. </p>"
1187+
},
1188+
"atodr":{
1189+
"shape":"float",
1190+
"documentation":"<p> The account takeover discovery rate. This metric quantifies the percentage of account compromise events that can be detected by the model at the selected score threshold. This metric is only available if 50 or more entities with at-least one labeled account takeover event is present in the ingested dataset. </p>"
1191+
}
1192+
},
1193+
"documentation":"<p> The Account Takeover Insights (ATI) model performance metrics data points. </p>"
1194+
},
1195+
"ATIMetricDataPointsList":{
1196+
"type":"list",
1197+
"member":{"shape":"ATIMetricDataPoint"}
1198+
},
1199+
"ATIModelPerformance":{
1200+
"type":"structure",
1201+
"members":{
1202+
"asi":{
1203+
"shape":"float",
1204+
"documentation":"<p> The anomaly separation index (ASI) score. This metric summarizes the overall ability of the model to separate anomalous activities from the normal behavior. Depending on the business, a large fraction of these anomalous activities can be malicious and correspond to the account takeover attacks. A model with no separability power will have the lowest possible ASI score of 0.5, whereas the a model with a high separability power will have the highest possible ASI score of 1.0 </p>"
1205+
}
1206+
},
1207+
"documentation":"<p> The Account Takeover Insights (ATI) model performance score. </p>"
1208+
},
1209+
"ATITrainingMetricsValue":{
1210+
"type":"structure",
1211+
"members":{
1212+
"metricDataPoints":{
1213+
"shape":"ATIMetricDataPointsList",
1214+
"documentation":"<p> The model's performance metrics data points. </p>"
1215+
},
1216+
"modelPerformance":{
1217+
"shape":"ATIModelPerformance",
1218+
"documentation":"<p> The model's overall performance scores. </p>"
1219+
}
1220+
},
1221+
"documentation":"<p> The Account Takeover Insights (ATI) model training metric details. </p>"
1222+
},
11731223
"AccessDeniedException":{
11741224
"type":"structure",
11751225
"required":["message"],
@@ -1179,6 +1229,52 @@
11791229
"documentation":"<p>An exception indicating Amazon Fraud Detector does not have the needed permissions. This can occur if you submit a request, such as <code>PutExternalModel</code>, that specifies a role that is not in your account.</p>",
11801230
"exception":true
11811231
},
1232+
"AggregatedLogOddsMetric":{
1233+
"type":"structure",
1234+
"required":[
1235+
"variableNames",
1236+
"aggregatedVariablesImportance"
1237+
],
1238+
"members":{
1239+
"variableNames":{
1240+
"shape":"ListOfStrings",
1241+
"documentation":"<p> The names of all the variables. </p>"
1242+
},
1243+
"aggregatedVariablesImportance":{
1244+
"shape":"float",
1245+
"documentation":"<p> The relative importance of the variables in the list to the other event variable. </p>"
1246+
}
1247+
},
1248+
"documentation":"<p>The log odds metric details.</p> <p>Account Takeover Insights (ATI) model uses event variables from the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, your ATI model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>"
1249+
},
1250+
"AggregatedVariablesImpactExplanation":{
1251+
"type":"structure",
1252+
"members":{
1253+
"eventVariableNames":{
1254+
"shape":"ListOfStrings",
1255+
"documentation":"<p> The names of all the event variables that were used to derive the aggregated variables. </p>"
1256+
},
1257+
"relativeImpact":{
1258+
"shape":"string",
1259+
"documentation":"<p> The relative impact of the aggregated variables in terms of magnitude on the prediction scores. </p>"
1260+
},
1261+
"logOddsImpact":{
1262+
"shape":"float",
1263+
"documentation":"<p> The raw, uninterpreted value represented as log-odds of the fraud. These values are usually between -10 to +10, but range from -infinity to +infinity.</p> <ul> <li> <p>A positive value indicates that the variables drove the risk score up.</p> </li> <li> <p>A negative value indicates that the variables drove the risk score down.</p> </li> </ul>"
1264+
}
1265+
},
1266+
"documentation":"<p> The details of the impact of aggregated variables on the prediction score. </p> <p>Account Takeover Insights (ATI) model uses the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, the model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>"
1267+
},
1268+
"AggregatedVariablesImportanceMetrics":{
1269+
"type":"structure",
1270+
"members":{
1271+
"logOddsMetrics":{
1272+
"shape":"ListOfAggregatedLogOddsMetrics",
1273+
"documentation":"<p> List of variables' metrics. </p>"
1274+
}
1275+
},
1276+
"documentation":"<p>The details of the relative importance of the aggregated variables.</p> <p>Account Takeover Insights (ATI) model uses event variables from the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, your ATI model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>"
1277+
},
11821278
"AsyncJobStatus":{
11831279
"type":"string",
11841280
"enum":[
@@ -1812,14 +1908,14 @@
18121908
"members":{
18131909
"fileLevelMessages":{
18141910
"shape":"fileValidationMessageList",
1815-
"documentation":"<p>The file-specific model training validation messages.</p>"
1911+
"documentation":"<p>The file-specific model training data validation messages.</p>"
18161912
},
18171913
"fieldLevelMessages":{
18181914
"shape":"fieldValidationMessageList",
18191915
"documentation":"<p>The field-specific model training validation messages.</p>"
18201916
}
18211917
},
1822-
"documentation":"<p>The model training validation messages.</p>"
1918+
"documentation":"<p>The model training data validation metrics.</p>"
18231919
},
18241920
"DeleteAuditHistory":{"type":"boolean"},
18251921
"DeleteBatchImportJobRequest":{
@@ -3493,7 +3589,6 @@
34933589
},
34943590
"LabelSchema":{
34953591
"type":"structure",
3496-
"required":["labelMapper"],
34973592
"members":{
34983593
"labelMapper":{
34993594
"shape":"labelMapper",
@@ -3556,6 +3651,14 @@
35563651
}
35573652
}
35583653
},
3654+
"ListOfAggregatedLogOddsMetrics":{
3655+
"type":"list",
3656+
"member":{"shape":"AggregatedLogOddsMetric"}
3657+
},
3658+
"ListOfAggregatedVariablesImpactExplanations":{
3659+
"type":"list",
3660+
"member":{"shape":"AggregatedVariablesImpactExplanation"}
3661+
},
35593662
"ListOfEvaluatedExternalModels":{
35603663
"type":"list",
35613664
"member":{"shape":"EvaluatedExternalModel"}
@@ -3825,7 +3928,8 @@
38253928
"type":"string",
38263929
"enum":[
38273930
"ONLINE_FRAUD_INSIGHTS",
3828-
"TRANSACTION_FRAUD_INSIGHTS"
3931+
"TRANSACTION_FRAUD_INSIGHTS",
3932+
"ACCOUNT_TAKEOVER_INSIGHTS"
38293933
]
38303934
},
38313935
"ModelVersion":{
@@ -3905,6 +4009,10 @@
39054009
"arn":{
39064010
"shape":"fraudDetectorArn",
39074011
"documentation":"<p>The model version ARN.</p>"
4012+
},
4013+
"trainingResultV2":{
4014+
"shape":"TrainingResultV2",
4015+
"documentation":"<p> The training result details. The details include the relative importance of the variables. </p>"
39084016
}
39094017
},
39104018
"documentation":"<p>The details of the model version.</p>"
@@ -3946,6 +4054,56 @@
39464054
"member":{"shape":"string"},
39474055
"min":1
39484056
},
4057+
"OFIMetricDataPoint":{
4058+
"type":"structure",
4059+
"members":{
4060+
"fpr":{
4061+
"shape":"float",
4062+
"documentation":"<p> The false positive rate. This is the percentage of total legitimate events that are incorrectly predicted as fraud. </p>"
4063+
},
4064+
"precision":{
4065+
"shape":"float",
4066+
"documentation":"<p> The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent. </p>"
4067+
},
4068+
"tpr":{
4069+
"shape":"float",
4070+
"documentation":"<p> The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate. </p>"
4071+
},
4072+
"threshold":{
4073+
"shape":"float",
4074+
"documentation":"<p> The model threshold that specifies an acceptable fraud capture rate. For example, a threshold of 500 means any model score 500 or above is labeled as fraud. </p>"
4075+
}
4076+
},
4077+
"documentation":"<p> The Online Fraud Insights (OFI) model performance metrics data points. </p>"
4078+
},
4079+
"OFIMetricDataPointsList":{
4080+
"type":"list",
4081+
"member":{"shape":"OFIMetricDataPoint"}
4082+
},
4083+
"OFIModelPerformance":{
4084+
"type":"structure",
4085+
"members":{
4086+
"auc":{
4087+
"shape":"float",
4088+
"documentation":"<p> The area under the curve (auc). This summarizes the total positive rate (tpr) and false positive rate (FPR) across all possible model score thresholds. </p>"
4089+
}
4090+
},
4091+
"documentation":"<p> The Online Fraud Insights (OFI) model performance score. </p>"
4092+
},
4093+
"OFITrainingMetricsValue":{
4094+
"type":"structure",
4095+
"members":{
4096+
"metricDataPoints":{
4097+
"shape":"OFIMetricDataPointsList",
4098+
"documentation":"<p> The model's performance metrics data points. </p>"
4099+
},
4100+
"modelPerformance":{
4101+
"shape":"OFIModelPerformance",
4102+
"documentation":"<p> The model's overall performance score. </p>"
4103+
}
4104+
},
4105+
"documentation":"<p> The Online Fraud Insights (OFI) model training metric details. </p>"
4106+
},
39494107
"Outcome":{
39504108
"type":"structure",
39514109
"members":{
@@ -3988,6 +4146,10 @@
39884146
"variableImpactExplanations":{
39894147
"shape":"listOfVariableImpactExplanations",
39904148
"documentation":"<p> The details of the event variable's impact on the prediction score. </p>"
4149+
},
4150+
"aggregatedVariablesImpactExplanations":{
4151+
"shape":"ListOfAggregatedVariablesImpactExplanations",
4152+
"documentation":"<p> The details of the aggregated variables impact on the prediction score. </p> <p>Account Takeover Insights (ATI) model uses event variables from the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, your ATI model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>"
39914153
}
39924154
},
39934155
"documentation":"<p> The prediction explanations that provide insight into how each event variable impacted the model version's fraud prediction score. </p>"
@@ -4379,6 +4541,56 @@
43794541
"members":{
43804542
}
43814543
},
4544+
"TFIMetricDataPoint":{
4545+
"type":"structure",
4546+
"members":{
4547+
"fpr":{
4548+
"shape":"float",
4549+
"documentation":"<p> The false positive rate. This is the percentage of total legitimate events that are incorrectly predicted as fraud. </p>"
4550+
},
4551+
"precision":{
4552+
"shape":"float",
4553+
"documentation":"<p> The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent. </p>"
4554+
},
4555+
"tpr":{
4556+
"shape":"float",
4557+
"documentation":"<p> The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate. </p>"
4558+
},
4559+
"threshold":{
4560+
"shape":"float",
4561+
"documentation":"<p> The model threshold that specifies an acceptable fraud capture rate. For example, a threshold of 500 means any model score 500 or above is labeled as fraud. </p>"
4562+
}
4563+
},
4564+
"documentation":"<p> The performance metrics data points for Transaction Fraud Insights (TFI) model. </p>"
4565+
},
4566+
"TFIMetricDataPointsList":{
4567+
"type":"list",
4568+
"member":{"shape":"TFIMetricDataPoint"}
4569+
},
4570+
"TFIModelPerformance":{
4571+
"type":"structure",
4572+
"members":{
4573+
"auc":{
4574+
"shape":"float",
4575+
"documentation":"<p> The area under the curve (auc). This summarizes the total positive rate (tpr) and false positive rate (FPR) across all possible model score thresholds. </p>"
4576+
}
4577+
},
4578+
"documentation":"<p> The Transaction Fraud Insights (TFI) model performance score. </p>"
4579+
},
4580+
"TFITrainingMetricsValue":{
4581+
"type":"structure",
4582+
"members":{
4583+
"metricDataPoints":{
4584+
"shape":"TFIMetricDataPointsList",
4585+
"documentation":"<p> The model's performance metrics data points. </p>"
4586+
},
4587+
"modelPerformance":{
4588+
"shape":"TFIModelPerformance",
4589+
"documentation":"<p> The model performance score. </p>"
4590+
}
4591+
},
4592+
"documentation":"<p> The Transaction Fraud Insights (TFI) model training metric details. </p>"
4593+
},
43824594
"Tag":{
43834595
"type":"structure",
43844596
"required":[
@@ -4436,10 +4648,7 @@
44364648
},
44374649
"TrainingDataSchema":{
44384650
"type":"structure",
4439-
"required":[
4440-
"modelVariables",
4441-
"labelSchema"
4442-
],
4651+
"required":["modelVariables"],
44434652
"members":{
44444653
"modelVariables":{
44454654
"shape":"ListOfStrings",
@@ -4470,6 +4679,24 @@
44704679
},
44714680
"documentation":"<p>The training metric details.</p>"
44724681
},
4682+
"TrainingMetricsV2":{
4683+
"type":"structure",
4684+
"members":{
4685+
"ofi":{
4686+
"shape":"OFITrainingMetricsValue",
4687+
"documentation":"<p> The Online Fraud Insights (OFI) model training metric details. </p>"
4688+
},
4689+
"tfi":{
4690+
"shape":"TFITrainingMetricsValue",
4691+
"documentation":"<p> The Transaction Fraud Insights (TFI) model training metric details. </p>"
4692+
},
4693+
"ati":{
4694+
"shape":"ATITrainingMetricsValue",
4695+
"documentation":"<p> The Account Takeover Insights (ATI) model training metric details. </p>"
4696+
}
4697+
},
4698+
"documentation":"<p> The training metrics details. </p>"
4699+
},
44734700
"TrainingResult":{
44744701
"type":"structure",
44754702
"members":{
@@ -4488,6 +4715,22 @@
44884715
},
44894716
"documentation":"<p>The training result details.</p>"
44904717
},
4718+
"TrainingResultV2":{
4719+
"type":"structure",
4720+
"members":{
4721+
"dataValidationMetrics":{"shape":"DataValidationMetrics"},
4722+
"trainingMetricsV2":{
4723+
"shape":"TrainingMetricsV2",
4724+
"documentation":"<p> The training metric details. </p>"
4725+
},
4726+
"variableImportanceMetrics":{"shape":"VariableImportanceMetrics"},
4727+
"aggregatedVariablesImportanceMetrics":{
4728+
"shape":"AggregatedVariablesImportanceMetrics",
4729+
"documentation":"<p> The variable importance metrics of the aggregated variables. </p> <p>Account Takeover Insights (ATI) model uses event variables from the login data you provide to continuously calculate a set of variables (aggregated variables) based on historical events. For example, your ATI model might calculate the number of times an user has logged in using the same IP address. In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>"
4730+
}
4731+
},
4732+
"documentation":"<p> The training result details. </p>"
4733+
},
44914734
"UnlabeledEventsTreatment":{
44924735
"type":"string",
44934736
"enum":[
@@ -5087,7 +5330,7 @@
50875330
"labelMapper":{
50885331
"type":"map",
50895332
"key":{"shape":"string"},
5090-
"value":{"shape":"NonEmptyListOfStrings"}
5333+
"value":{"shape":"ListOfStrings"}
50915334
},
50925335
"labelsMaxResults":{
50935336
"type":"integer",
@@ -5195,7 +5438,7 @@
51955438
},
51965439
"variableValue":{
51975440
"type":"string",
5198-
"max":1024,
5441+
"max":8192,
51995442
"min":1,
52005443
"sensitive":true
52015444
},

0 commit comments

Comments
 (0)