Step 3 of 5
Feature Engineering
Derive behavioural, velocity, and contextual features from the mapped dataset. Capital AI computes both customer-level history and merchant-level baselines.
Run feature engineering pipeline
47 features will be generated from the canonical schema
Feature engineering complete
100%
Features generated
47
Numeric
28
Boolean
17
Categorical
2
Engineered features
Searchable catalogue of derived signals
| Feature Name | Description | Type | Example |
|---|---|---|---|
| customer_transaction_count | Count of prior transactions for the customer across all time. | numeric | 47 |
| minutes_since_last_transaction | Minutes elapsed since the customer's previous transaction. | numeric | 12.4 |
| amount_vs_prior_avg | Ratio of current amount to customer's 30-day average. | numeric | 3.82 |
| amount_vs_prior_max | Ratio of current amount to customer's 90-day max. | numeric | 1.41 |
| device_seen_before | Whether this device fingerprint has been seen for the customer. | boolean | false |
| merchant_seen_before | Whether the customer has transacted at this merchant before. | boolean | true |
| merchant_category_seen_before | Whether the customer has transacted in this MCC before. | boolean | true |
| merchant_country_seen_before | Whether the customer has transacted in this country before. | boolean | false |
| txn_count_1h | Customer transactions in the last hour. | numeric | 4 |
| txn_count_24h | Customer transactions in the last 24 hours. | numeric | 11 |
| amount_sum_1h | Sum of customer transaction amounts in the last hour. | numeric | 428.10 |
| amount_sum_24h | Sum of customer transaction amounts in the last 24 hours. | numeric | 1827.44 |
| distinct_merchants_24h | Distinct merchants the customer transacted with in 24h. | numeric | 6 |
| distinct_countries_24h | Distinct countries observed for the customer in 24h. | numeric | 2 |
| geo_distance_from_last_km | Kilometers from the customer's previous transaction location. | numeric | 4821 |
| geo_velocity_kmh | Implied travel speed from last transaction. | numeric | 1042 |
| merchant_risk_score | Rolling risk score for the merchant. | numeric | 0.27 |
| merchant_chargeback_rate_30d | Merchant chargeback rate over 30 days. | numeric | 0.018 |
| card_age_days | Days since the card was first observed. | numeric | 432 |
| ip_country_mismatch | Whether IP country differs from card BIN country. | boolean | true |
| is_high_risk_country | Flag for countries with elevated fraud baselines. | boolean | false |
| is_night_local | Transaction occurred between 00:00–05:00 local time. | boolean | true |
| is_weekend | Transaction on Saturday or Sunday. | boolean | false |
| amount_log | Natural log of the transaction amount. | numeric | 4.43 |
| amount_round_indicator | Whether the amount is a round number. | boolean | false |
| currency_mismatch_with_country | Currency does not match merchant country default. | boolean | false |
| auth_decline_rate_24h | Customer's auth decline ratio in 24h. | numeric | 0.12 |
| three_ds_challenged | Whether a 3DS challenge was issued. | boolean | true |
| cvv_match | CVV2 result indicates match. | boolean | true |
| avs_match | AVS result indicates full match. | boolean | false |
| first_txn_for_customer | Whether this is the customer's first transaction. | boolean | false |
| first_txn_at_merchant | Whether this is the customer's first txn at merchant. | boolean | true |
| ip_entropy_24h | Shannon entropy of IPs used by customer in 24h. | numeric | 1.84 |
| device_entropy_24h | Shannon entropy of devices used by customer in 24h. | numeric | 0.93 |
| amount_zscore_customer | Z-score of amount vs customer's distribution. | numeric | 2.91 |
| amount_zscore_merchant | Z-score of amount vs merchant's distribution. | numeric | 1.42 |
| txn_hour_local | Hour of day in local time. | numeric | 02 |
| txn_dow | Day-of-week index. | numeric | 3 |
| ip_seen_other_customers_24h | Other customers seen on this IP in 24h. | numeric | 0 |
| device_seen_other_customers_24h | Other customers seen on this device in 24h. | numeric | 0 |
| card_velocity_1h | Auth attempts on this card in 1 hour. | numeric | 7 |
| merchant_country_match_card | Merchant country matches card BIN country. | boolean | false |
| amount_pct_of_credit_limit | Amount as % of estimated credit limit. | numeric | 0.42 |
| merchant_recent_fraud_count_24h | Recent fraud cases at merchant in 24h. | numeric | 3 |
| channel_cnp | Card-not-present indicator. | boolean | true |
| amount_bin | Discretized amount band. | categorical | 100-500 |
| mcc_risk_band | Categorical risk band for MCC. | categorical | medium |
