Every payment authorization is a race against a 100-millisecond clock. When a cardholder taps their phone at a register or clicks "Buy Now" on a checkout page, the issuing bank has roughly 100ms to pull the user's risk profile, check velocity counters, evaluate device fingerprints, score the merchant, run the ML model, and return an approve or decline decision. Miss the deadline and the network times out. Take shortcuts and you either approve fraud or decline a legitimate customer.
The fraud engine itself is fast. A well-tuned gradient-boosted model scores a feature vector in under 5ms. The problem is everything that happens before the model runs: the data lookups that assemble the feature vector in the first place.
The uncomfortable truth: At Redis speeds (1-5ms per read), a fraud engine can evaluate roughly 100 risk signals before the authorization window closes. Stripe Radar has access to 1,000+. That means 90% of available intelligence goes unused on every single transaction. Not because the data does not exist, but because there is not enough time to read it.
Where the 100ms Goes
In our internal testing, we profiled representative authorization pipelines handling between 50,000 and 500,000 simulated transactions per second. The time breakdown is remarkably consistent regardless of scale:
- User risk profile lookup 2-5ms
- Velocity counters (card, device, merchant) 3-9ms
- Device fingerprint & geolocation 1-3ms
- Merchant risk score & chargeback history 2-4ms
- Blacklist & watchlist checks 1-2ms
- Cross-merchant correlation 3-8ms
- Total data lookup time 40-80ms
That leaves 20-60ms for the actual ML scoring, rule engine evaluation, and network response. Most processors cannot afford to run their full model with a complete feature vector in that window. They compromise: fewer features, simpler models, or hard-coded rule shortcuts that skip the ML path entirely for certain transaction types.
Every one of those compromises either lets fraud through or blocks legitimate customers.
False Declines: The $10 Billion Problem Nobody Talks About
Fraud gets the headlines. But false declines cost processors more than fraud itself. A Javelin Strategy study found that for every dollar of actual fraud, merchants lose $13 in false declines — legitimate transactions incorrectly blocked because the risk engine did not have enough information to make the right call.
The numbers are staggering. For a processor handling $1 trillion in annual volume with a 1% false decline rate on legitimate transactions:
- Legitimate transactions falsely declined $10B/year
- Lost processing fees (2.9%) $290M/year
- Customer abandonment (35% never return) Permanent
- False decline root cause Incomplete risk data
The root cause is almost always the same: the fraud engine ran out of time to check enough signals, scored on incomplete data, and erred on the side of caution. Faster data reads do not just catch more fraud — they approve more legitimate transactions.
31x More Signals in the Same Window
Cachee replaces the data layer, not the fraud logic. Your scoring model, your rules engine, your velocity thresholds — all stay exactly the same. The difference is how fast the engine can read the data those systems need.
At 1.5µs per read (versus 1-5ms from Redis or Cassandra), the same 100ms authorization window suddenly has room for 1,000+ signal lookups instead of 100. The fraud model receives a complete feature vector every single time.
The improvement is not linear. Signal #101 through #1,000 are where the edge cases live: the cross-merchant velocity patterns, the device graph anomalies, the behavioral micro-signals that separate a legitimate customer on vacation from a stolen card in a new geography. These are exactly the signals that catch the fraud your current engine misses.
Architecture: Cachee Sits in Front of Redis
Cachee is not a replacement for your data infrastructure. It is an L1 cache layer that intercepts reads before they hit Redis, Cassandra, or your feature store. Writes flow through to your existing backend. The fraud engine's code changes are minimal:
Hot Profile Pre-Loading
ML identifies users likely to transact (active session, cart activity, checkout flow). Full risk profiles pre-loaded to L1 before the payment arrives. Zero cold-start penalty.
Atomic Velocity Counters
Transactions-per-hour, per-device, per-merchant counters maintained in L1 with sub-microsecond atomic updates. No stale reads, no race conditions, no Redis round-trip.
Merchant Risk Graph
Cross-merchant correlation (same card at multiple high-risk merchants) computed from L1 in nanoseconds. Graph traversals that took 8ms now take microseconds.
ML Feature Store
The model's full feature vector (50-200 features) pre-assembled from L1-cached data in <0.15ms instead of 40-80ms. Deeper models, more features, better accuracy.
The result: more time for intelligence
When data lookups drop from 40-80ms to <0.15ms, the authorization window transforms. Instead of spending 70% of the budget on I/O, the fraud engine spends 99% of it on actual intelligence: running the full ML model with a complete feature vector, checking cross-merchant correlations, evaluating behavioral signals, and making a confident decision.
The Numbers
Benchmark results from internal testing simulating 200,000+ transactions per second:
Lookup time: 40-80ms to <0.15ms. But the downstream impact tells the real story. The ML model now has 99ms to score instead of 20ms, with a complete feature vector instead of a partial one. False declines drop 55%. Fraud caught before authorization increases 45%. For a processor handling $1T+ in volume, that translates to $160M in recovered processing fees and $2.6B+ in prevented fraud for the ecosystem.
Why Speed Is Intelligence
The counterintuitive insight in fraud detection is that speed and accuracy are the same variable. A fraud engine that can read data faster does not just respond faster — it responds better. More signals evaluated means a more complete picture of every transaction, which means fewer wrong decisions in both directions.
Visa's Advanced Authorization (VAA) system evaluates 400+ risk attributes per transaction in under 1ms. Stripe Radar scores 1,000+ signals per payment. These are not luxury features — they are competitive necessities. Every signal you cannot evaluate before the deadline is a fraud pattern you cannot detect and a legitimate customer you might incorrectly block.
The gap between what your fraud model could do with complete data and what it actually does with 70ms of I/O overhead is where false declines live. Close that gap and you do not just improve fraud detection — you recover revenue that your current system is silently throwing away on every transaction.
Stop leaving 90% of your risk signals on the table.
Cachee drops fraud signal lookups from milliseconds to 1.5µs. Same fraud engine, same rules, 31× more intelligence per decision. Measure the false decline reduction in 24 hours.
Start Free Trial