Skip to main content

Outlier Detection - Withdrawals - Others - Transaction Frequency

Description

This test identifies anomalous transactions by comparing recent withdrawal transaction frequency against historical patterns. It calculates user-specific and symbol-specific statistics, including mean and standard deviation of transaction frequencies, and flags outliers that significantly exceed certain thresholds. Transactions are analyzed in the context of the aggregate behavior of others for a given symbol.

Use Cases

  • Fraud Prevention: Detect users with abnormally high frequency of withdrawal activity, which may signal account compromise, automated bots, or unauthorized use of accounts.

  • Operational Oversight: Identify anomalies in transaction frequency that could indicate potential system issues, such as duplicate processing or unusual patterns caused by technical errors.

  • Regulatory Compliance: Monitor transaction frequencies for activities that may violate anti-money laundering (AML) regulations or other financial guidelines.

Required Data

Withdrawals Data

VariableDescription
timestampTimestamp of the withdrawal made (YYYY-MM-DD hh:mm:ss).
user_idUser ID to identify the individual user.
currency_typeThe currency type of withdrawal being made; fiat or crypto.
symbolThe asset symbol; e.g., BTC, ETH, USD, EUR.
price_usdThe price of the symbol in USD.
amountThe amount of the symbol being withdrawn.

Parameters

ParameterDescriptionTypeDefault ValueConfigurable
analysis_windowOverall duration (days) for analysis.Integer1 (days)Yes
historical_windowNumber of days to consider for historical data.Integer90 (days)Yes
historical_minimum_number_transactionsMinimum number of historical transactions per user required.Integer5Yes
analysis_minimum_aggregate_dollar_thresholdMinimum aggregate dollar value of transactions per user in analysis period.Float500Yes
analysis_minimum_transaction_count_thresholdMinimum transaction count per user in analysis period to be considered.Integer3Yes
historical_minimum_number_daysMinimum number of unique active days required.Integer2Yes
create_ticketFlag to determine if tickets should be created.BooleanTrueYes
compare_own_historyTest for outlier activity by comparing user’s own historical behavior.BooleanTrueYes
compare_others_historyTest for outlier activity by comparing transactions to other users.BooleanTrueYes

Methodology

  • Compute Historical Statistics For each user and symbol, calculate the historical mean and standard deviation of transaction frequency. Additionally, compute aggregate symbol-wide statistics, including the mean of historical averages and the median of standard deviations for each symbol.

  • Symbol-Wide Outlier Detection Compare a user’s transactions against the historical behavior of others for the same symbol. Transactions are flagged if their value deviates significantly from the symbol-wide mean plus a defined threshold.

  • Categorization and Reporting Flagged transactions are classified as symbol-wide anomalies. These are then prepared for reporting, either as CSV exports or tickets for further investigation.