Know Your Customer (KYC) Profile Deviation Test
Description
This test identifies users whose financial activity over a predefined period, such as a year, exceeds certain thresholds as reported in their expected annual income and total assets. By combining user transactions with KYC information, the test flags users whose net deposits surpass any of these self-reported values. This helps detect discrepancies between declared financial profiles and actual behavior, ensuring regulatory compliance and enabling further investigation of potentially anomalous activity.
Use Cases
-
Compliance with Financial Regulations: Identifies users whose financial activity deviates significantly from their reported profiles to meet anti-money laundering (AML) and KYC regulatory requirements.
-
Fraud Prevention: Flags users whose recent transactions suggest potential fraud, such as underreporting income or assets while engaging in high-value transactions, helping to prevent financial misrepresentation or unauthorized activities.
Required Data
KYC Data
Variable | Description |
---|---|
user_id | Unique identifier for the user. |
NetAnnualIncomeValue | Reported annual income range of the user, typically provided in KYC. |
NetAssetsValue | Reported total asset range of the user, including tangible and intangible assets. |
NetFinancialAssetsValue | Reported financial asset range of the user, including cash, stocks, bonds, etc. |
Deposits Data
Variable | Description |
---|---|
timestamp | Timestamp of the deposit made (YYYY-MM-DD hh:mm:ss). |
user_id | User ID to identify the individual user. |
currency_type | The currency type of deposit being made; fiat or crypto. |
symbol | The asset symbol; e.g., BTC, ETH, USD, EUR. |
price_usd | The price of the symbol in USD. |
amount | The amount of the symbol being deposited. |
Withdrawals Data
Variable | Description |
---|---|
timestamp | Timestamp of the withdrawal made (YYYY-MM-DD hh:mm:ss). |
user_id | User ID to identify the individual user. |
currency_type | The currency type of withdrawal being made; fiat or crypto. |
symbol | The asset symbol; e.g., BTC, ETH, USD, EUR. |
price_usd | The price of the symbol in USD. |
amount | The amount of the symbol being withdrawn. |
Parameters
Parameter | Description | Type | Default Value | Configurable |
---|---|---|---|---|
analysis_window | Time period (in days) over which transactions are analyzed. | Integer | 365 | Yes |
KYC_income_multiplier | Multiplier for annual income used to flag users based on net deposits. | Float | 1 | Yes |
KYC_asset_multiplier | Multiplier for total assets used to flag users based on net deposits. | Float | 1 | Yes |
KYC_financial_asset_multiplier | Multiplier for financial assets used to flag users based on net deposits. | Float | 1 | Yes |
create_ticket | Flag to determine if tickets should be created for alerts. | Boolean | True | Yes |
Methodology
-
Data Preparation Extract maximum values for reported annual income, total assets, and financial assets from KYC data. Calculate net deposits (deposits minus withdrawals) for each user over the analysis period.
-
Threshold Evaluation Compare net deposits against self-reported KYC data. Apply multipliers for annual income, total assets, and financial assets. Flag users exceeding any threshold.
-
Flagging and Output Generate a list of flagged users with details of exceeded thresholds.