@aws-sdk/client-frauddetector 3.131.0 → 3.135.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,6 +11,95 @@ export declare class AccessDeniedException extends __BaseException {
11
11
  */
12
12
  constructor(opts: __ExceptionOptionType<AccessDeniedException, __BaseException>);
13
13
  }
14
+ /**
15
+ * <p>The log odds metric details.</p>
16
+ *
17
+ * <p>Account Takeover Insights (ATI) model uses event variables from the login data you
18
+ * 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.
19
+ * In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>
20
+ */
21
+ export interface AggregatedLogOddsMetric {
22
+ /**
23
+ * <p>
24
+ * The names of all the variables.
25
+ * </p>
26
+ */
27
+ variableNames: string[] | undefined;
28
+ /**
29
+ * <p>
30
+ * The relative importance of the variables in the list to the other event variable.
31
+ * </p>
32
+ */
33
+ aggregatedVariablesImportance: number | undefined;
34
+ }
35
+ export declare namespace AggregatedLogOddsMetric {
36
+ /**
37
+ * @internal
38
+ */
39
+ const filterSensitiveLog: (obj: AggregatedLogOddsMetric) => any;
40
+ }
41
+ /**
42
+ * <p>
43
+ * The details of the impact of aggregated variables on the prediction score. </p>
44
+ *
45
+ * <p>Account Takeover Insights (ATI) model uses the login data you
46
+ * 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.
47
+ * In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>
48
+ */
49
+ export interface AggregatedVariablesImpactExplanation {
50
+ /**
51
+ * <p>
52
+ * The names of all the event variables that were used to derive the aggregated variables.
53
+ * </p>
54
+ */
55
+ eventVariableNames?: string[];
56
+ /**
57
+ * <p>
58
+ * The relative impact of the aggregated variables in terms of magnitude on the prediction scores.
59
+ * </p>
60
+ */
61
+ relativeImpact?: string;
62
+ /**
63
+ * <p>
64
+ * 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>
65
+ * <ul>
66
+ * <li>
67
+ * <p>A positive value indicates that the variables drove the risk score up.</p>
68
+ * </li>
69
+ * <li>
70
+ * <p>A negative value indicates that the variables drove the risk score down.</p>
71
+ * </li>
72
+ * </ul>
73
+ */
74
+ logOddsImpact?: number;
75
+ }
76
+ export declare namespace AggregatedVariablesImpactExplanation {
77
+ /**
78
+ * @internal
79
+ */
80
+ const filterSensitiveLog: (obj: AggregatedVariablesImpactExplanation) => any;
81
+ }
82
+ /**
83
+ * <p>The details of the relative importance of the aggregated variables.</p>
84
+ *
85
+ * <p>Account Takeover Insights (ATI) model uses event variables from the login data you
86
+ * 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.
87
+ * In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>
88
+ */
89
+ export interface AggregatedVariablesImportanceMetrics {
90
+ /**
91
+ * <p>
92
+ * List of variables' metrics.
93
+ * </p>
94
+ */
95
+ logOddsMetrics?: AggregatedLogOddsMetric[];
96
+ }
97
+ export declare namespace AggregatedVariablesImportanceMetrics {
98
+ /**
99
+ * @internal
100
+ */
101
+ const filterSensitiveLog: (obj: AggregatedVariablesImportanceMetrics) => any;
102
+ }
14
103
  export declare enum AsyncJobStatus {
15
104
  CANCELED = "CANCELED",
16
105
  CANCEL_IN_PROGRESS = "CANCEL_IN_PROGRESS",
@@ -19,6 +108,94 @@ export declare enum AsyncJobStatus {
19
108
  IN_PROGRESS = "IN_PROGRESS",
20
109
  IN_PROGRESS_INITIALIZING = "IN_PROGRESS_INITIALIZING"
21
110
  }
111
+ /**
112
+ * <p>
113
+ * The Account Takeover Insights (ATI) model performance metrics data points.
114
+ * </p>
115
+ */
116
+ export interface ATIMetricDataPoint {
117
+ /**
118
+ * <p>
119
+ * The challenge rate. This indicates the percentage of login events that the model recommends to challenge such as
120
+ * one-time password, multi-factor authentication, and investigations.
121
+ * </p>
122
+ */
123
+ cr?: number;
124
+ /**
125
+ * <p>
126
+ * The anomaly discovery rate. This metric quantifies the percentage of anomalies that can be detected by the model at the selected score threshold.
127
+ * A lower score threshold increases the percentage of anomalies captured by the model, but would also require challenging a larger percentage of
128
+ * login events, leading to a higher customer friction.
129
+ * </p>
130
+ */
131
+ adr?: number;
132
+ /**
133
+ * <p>
134
+ * 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
135
+ * labeled as fraud.
136
+ * </p>
137
+ */
138
+ threshold?: number;
139
+ /**
140
+ * <p>
141
+ * 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.
142
+ * This metric is only available if 50 or more entities with at-least one labeled account takeover event is present in the ingested dataset.
143
+ * </p>
144
+ */
145
+ atodr?: number;
146
+ }
147
+ export declare namespace ATIMetricDataPoint {
148
+ /**
149
+ * @internal
150
+ */
151
+ const filterSensitiveLog: (obj: ATIMetricDataPoint) => any;
152
+ }
153
+ /**
154
+ * <p>
155
+ * The Account Takeover Insights (ATI) model performance score.
156
+ * </p>
157
+ */
158
+ export interface ATIModelPerformance {
159
+ /**
160
+ * <p>
161
+ * 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
162
+ * 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
163
+ * ASI score of 0.5, whereas the a model with a high separability power will have the highest possible ASI score of 1.0
164
+ * </p>
165
+ */
166
+ asi?: number;
167
+ }
168
+ export declare namespace ATIModelPerformance {
169
+ /**
170
+ * @internal
171
+ */
172
+ const filterSensitiveLog: (obj: ATIModelPerformance) => any;
173
+ }
174
+ /**
175
+ * <p>
176
+ * The Account Takeover Insights (ATI) model training metric details.
177
+ * </p>
178
+ */
179
+ export interface ATITrainingMetricsValue {
180
+ /**
181
+ * <p>
182
+ * The model's performance metrics data points.
183
+ * </p>
184
+ */
185
+ metricDataPoints?: ATIMetricDataPoint[];
186
+ /**
187
+ * <p>
188
+ * The model's overall performance scores.
189
+ * </p>
190
+ */
191
+ modelPerformance?: ATIModelPerformance;
192
+ }
193
+ export declare namespace ATITrainingMetricsValue {
194
+ /**
195
+ * @internal
196
+ */
197
+ const filterSensitiveLog: (obj: ATITrainingMetricsValue) => any;
198
+ }
22
199
  /**
23
200
  * <p>A key and value pair. </p>
24
201
  */
@@ -412,6 +589,7 @@ export declare namespace CreateBatchPredictionJobResult {
412
589
  const filterSensitiveLog: (obj: CreateBatchPredictionJobResult) => any;
413
590
  }
414
591
  export declare enum ModelTypeEnum {
592
+ ACCOUNT_TAKEOVER_INSIGHTS = "ACCOUNT_TAKEOVER_INSIGHTS",
415
593
  ONLINE_FRAUD_INSIGHTS = "ONLINE_FRAUD_INSIGHTS",
416
594
  TRANSACTION_FRAUD_INSIGHTS = "TRANSACTION_FRAUD_INSIGHTS"
417
595
  }
@@ -636,7 +814,7 @@ export interface LabelSchema {
636
814
  * <p>The label mapper maps the Amazon Fraud Detector supported model classification labels (<code>FRAUD</code>, <code>LEGIT</code>) to the appropriate event type labels. For example, if "<code>FRAUD</code>" and "<code>LEGIT</code>" are Amazon Fraud Detector supported labels, this mapper could be: <code>{"FRAUD" => ["0"]</code>, <code>"LEGIT" => ["1"]}</code> or <code>{"FRAUD" => ["false"]</code>, <code>"LEGIT" => ["true"]}</code> or <code>{"FRAUD" => ["fraud", "abuse"]</code>, <code>"LEGIT" => ["legit", "safe"]}</code>. The value part of the mapper is a list, because you may have multiple label variants from your event type for a single Amazon Fraud Detector label.
637
815
  * </p>
638
816
  */
639
- labelMapper: Record<string, string[]> | undefined;
817
+ labelMapper?: Record<string, string[]>;
640
818
  /**
641
819
  * <p>The action to take for unlabeled events.</p>
642
820
  */
@@ -659,7 +837,7 @@ export interface TrainingDataSchema {
659
837
  /**
660
838
  * <p>The label schema.</p>
661
839
  */
662
- labelSchema: LabelSchema | undefined;
840
+ labelSchema?: LabelSchema;
663
841
  }
664
842
  export declare namespace TrainingDataSchema {
665
843
  /**
@@ -1326,11 +1504,11 @@ export declare namespace FileValidationMessage {
1326
1504
  const filterSensitiveLog: (obj: FileValidationMessage) => any;
1327
1505
  }
1328
1506
  /**
1329
- * <p>The model training validation messages.</p>
1507
+ * <p>The model training data validation metrics.</p>
1330
1508
  */
1331
1509
  export interface DataValidationMetrics {
1332
1510
  /**
1333
- * <p>The file-specific model training validation messages.</p>
1511
+ * <p>The file-specific model training data validation messages.</p>
1334
1512
  */
1335
1513
  fileLevelMessages?: FileValidationMessage[];
1336
1514
  /**
@@ -1451,6 +1629,236 @@ export declare namespace TrainingResult {
1451
1629
  */
1452
1630
  const filterSensitiveLog: (obj: TrainingResult) => any;
1453
1631
  }
1632
+ /**
1633
+ * <p>
1634
+ * The Online Fraud Insights (OFI) model performance metrics data points.
1635
+ * </p>
1636
+ */
1637
+ export interface OFIMetricDataPoint {
1638
+ /**
1639
+ * <p>
1640
+ * The false positive rate. This is the percentage of total legitimate events that are incorrectly predicted as fraud.
1641
+ * </p>
1642
+ */
1643
+ fpr?: number;
1644
+ /**
1645
+ * <p>
1646
+ * The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent.
1647
+ * </p>
1648
+ */
1649
+ precision?: number;
1650
+ /**
1651
+ * <p>
1652
+ * The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate.
1653
+ * </p>
1654
+ */
1655
+ tpr?: number;
1656
+ /**
1657
+ * <p>
1658
+ * 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.
1659
+ * </p>
1660
+ */
1661
+ threshold?: number;
1662
+ }
1663
+ export declare namespace OFIMetricDataPoint {
1664
+ /**
1665
+ * @internal
1666
+ */
1667
+ const filterSensitiveLog: (obj: OFIMetricDataPoint) => any;
1668
+ }
1669
+ /**
1670
+ * <p>
1671
+ * The Online Fraud Insights (OFI) model performance score.
1672
+ * </p>
1673
+ */
1674
+ export interface OFIModelPerformance {
1675
+ /**
1676
+ * <p>
1677
+ * The area under the curve (auc). This summarizes the total positive rate (tpr) and false positive rate (FPR) across all possible model score thresholds.
1678
+ * </p>
1679
+ */
1680
+ auc?: number;
1681
+ }
1682
+ export declare namespace OFIModelPerformance {
1683
+ /**
1684
+ * @internal
1685
+ */
1686
+ const filterSensitiveLog: (obj: OFIModelPerformance) => any;
1687
+ }
1688
+ /**
1689
+ * <p>
1690
+ * The Online Fraud Insights (OFI) model training metric details.
1691
+ * </p>
1692
+ */
1693
+ export interface OFITrainingMetricsValue {
1694
+ /**
1695
+ * <p>
1696
+ * The model's performance metrics data points.
1697
+ * </p>
1698
+ */
1699
+ metricDataPoints?: OFIMetricDataPoint[];
1700
+ /**
1701
+ * <p>
1702
+ * The model's overall performance score.
1703
+ * </p>
1704
+ */
1705
+ modelPerformance?: OFIModelPerformance;
1706
+ }
1707
+ export declare namespace OFITrainingMetricsValue {
1708
+ /**
1709
+ * @internal
1710
+ */
1711
+ const filterSensitiveLog: (obj: OFITrainingMetricsValue) => any;
1712
+ }
1713
+ /**
1714
+ * <p>
1715
+ * The performance metrics data points for Transaction Fraud Insights (TFI) model.
1716
+ * </p>
1717
+ */
1718
+ export interface TFIMetricDataPoint {
1719
+ /**
1720
+ * <p>
1721
+ * The false positive rate. This is the percentage of total legitimate events that are incorrectly predicted as fraud.
1722
+ * </p>
1723
+ */
1724
+ fpr?: number;
1725
+ /**
1726
+ * <p>
1727
+ * The percentage of fraud events correctly predicted as fraudulent as compared to all events predicted as fraudulent.
1728
+ * </p>
1729
+ */
1730
+ precision?: number;
1731
+ /**
1732
+ * <p>
1733
+ * The true positive rate. This is the percentage of total fraud the model detects. Also known as capture rate.
1734
+ * </p>
1735
+ */
1736
+ tpr?: number;
1737
+ /**
1738
+ * <p>
1739
+ * The model threshold that specifies an acceptable fraud capture rate. For example, a threshold of 500 means any
1740
+ * model score 500 or above is labeled as fraud.
1741
+ * </p>
1742
+ */
1743
+ threshold?: number;
1744
+ }
1745
+ export declare namespace TFIMetricDataPoint {
1746
+ /**
1747
+ * @internal
1748
+ */
1749
+ const filterSensitiveLog: (obj: TFIMetricDataPoint) => any;
1750
+ }
1751
+ /**
1752
+ * <p>
1753
+ * The Transaction Fraud Insights (TFI) model performance score.
1754
+ * </p>
1755
+ */
1756
+ export interface TFIModelPerformance {
1757
+ /**
1758
+ * <p>
1759
+ * The area under the curve (auc). This summarizes the total positive rate (tpr) and false positive rate (FPR) across all possible model score thresholds.
1760
+ * </p>
1761
+ */
1762
+ auc?: number;
1763
+ }
1764
+ export declare namespace TFIModelPerformance {
1765
+ /**
1766
+ * @internal
1767
+ */
1768
+ const filterSensitiveLog: (obj: TFIModelPerformance) => any;
1769
+ }
1770
+ /**
1771
+ * <p>
1772
+ * The Transaction Fraud Insights (TFI) model training metric details.
1773
+ * </p>
1774
+ */
1775
+ export interface TFITrainingMetricsValue {
1776
+ /**
1777
+ * <p>
1778
+ * The model's performance metrics data points.
1779
+ * </p>
1780
+ */
1781
+ metricDataPoints?: TFIMetricDataPoint[];
1782
+ /**
1783
+ * <p>
1784
+ * The model performance score.
1785
+ * </p>
1786
+ */
1787
+ modelPerformance?: TFIModelPerformance;
1788
+ }
1789
+ export declare namespace TFITrainingMetricsValue {
1790
+ /**
1791
+ * @internal
1792
+ */
1793
+ const filterSensitiveLog: (obj: TFITrainingMetricsValue) => any;
1794
+ }
1795
+ /**
1796
+ * <p>
1797
+ * The training metrics details.
1798
+ * </p>
1799
+ */
1800
+ export interface TrainingMetricsV2 {
1801
+ /**
1802
+ * <p>
1803
+ * The Online Fraud Insights (OFI) model training metric details.
1804
+ * </p>
1805
+ */
1806
+ ofi?: OFITrainingMetricsValue;
1807
+ /**
1808
+ * <p>
1809
+ * The Transaction Fraud Insights (TFI) model training metric details.
1810
+ * </p>
1811
+ */
1812
+ tfi?: TFITrainingMetricsValue;
1813
+ /**
1814
+ * <p>
1815
+ * The Account Takeover Insights (ATI) model training metric details.
1816
+ * </p>
1817
+ */
1818
+ ati?: ATITrainingMetricsValue;
1819
+ }
1820
+ export declare namespace TrainingMetricsV2 {
1821
+ /**
1822
+ * @internal
1823
+ */
1824
+ const filterSensitiveLog: (obj: TrainingMetricsV2) => any;
1825
+ }
1826
+ /**
1827
+ * <p>
1828
+ * The training result details.
1829
+ * </p>
1830
+ */
1831
+ export interface TrainingResultV2 {
1832
+ /**
1833
+ * <p>The model training data validation metrics.</p>
1834
+ */
1835
+ dataValidationMetrics?: DataValidationMetrics;
1836
+ /**
1837
+ * <p>
1838
+ * The training metric details.
1839
+ * </p>
1840
+ */
1841
+ trainingMetricsV2?: TrainingMetricsV2;
1842
+ /**
1843
+ * <p>The variable importance metrics details.</p>
1844
+ */
1845
+ variableImportanceMetrics?: VariableImportanceMetrics;
1846
+ /**
1847
+ * <p>
1848
+ * The variable importance metrics of the aggregated variables.
1849
+ * </p>
1850
+ * <p>Account Takeover Insights (ATI) model uses event variables from the login data you
1851
+ * 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.
1852
+ * In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>
1853
+ */
1854
+ aggregatedVariablesImportanceMetrics?: AggregatedVariablesImportanceMetrics;
1855
+ }
1856
+ export declare namespace TrainingResultV2 {
1857
+ /**
1858
+ * @internal
1859
+ */
1860
+ const filterSensitiveLog: (obj: TrainingResultV2) => any;
1861
+ }
1454
1862
  /**
1455
1863
  * <p>The details of the model version.</p>
1456
1864
  */
@@ -1503,6 +1911,12 @@ export interface ModelVersionDetail {
1503
1911
  * <p>The model version ARN.</p>
1504
1912
  */
1505
1913
  arn?: string;
1914
+ /**
1915
+ * <p>
1916
+ * The training result details. The details include the relative importance of the variables.
1917
+ * </p>
1918
+ */
1919
+ trainingResultV2?: TrainingResultV2;
1506
1920
  }
1507
1921
  export declare namespace ModelVersionDetail {
1508
1922
  /**
@@ -2371,6 +2785,16 @@ export interface PredictionExplanations {
2371
2785
  * </p>
2372
2786
  */
2373
2787
  variableImpactExplanations?: VariableImpactExplanation[];
2788
+ /**
2789
+ * <p>
2790
+ * The details of the aggregated variables impact on the prediction score.
2791
+ * </p>
2792
+ *
2793
+ * <p>Account Takeover Insights (ATI) model uses event variables from the login data you
2794
+ * 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.
2795
+ * In this case, event variables used to derive the aggregated variables are <code>IP address</code> and <code>user</code>.</p>
2796
+ */
2797
+ aggregatedVariablesImpactExplanations?: AggregatedVariablesImpactExplanation[];
2374
2798
  }
2375
2799
  export declare namespace PredictionExplanations {
2376
2800
  /**