UberExplainer
How Uber Processes Early Chargeback Signals
Summary
Uber describes how it uses early chargeback signals, especially TC40 reports, to identify payment-fraud patterns before conventional chargebacks arrive. These notifications come from payment service providers through fraud reports and are ingested from external vendors via SFTP, third-party APIs, or webhooks, then validated, normalized, published to Apache Kafka, and stored in Apache Hive. A streaming pipeline maps signals to internal transactions and users, derives near-real-time features, and sends them to machine-learning models and a rule engine that determines risk actions. Redis TTL caching filters duplicate references, while Kafka propagates signals to downstream systems and Hive retains them for batch processing. Since launch, the project has processed more than 2 million additional signals, and TC40 signals arrive on average 4–5 days earlier than chargeback signals, although the source notes that TC40 data alone does not prevent chargebacks.
Context
Chargebacks require significant operational resources to investigate, respond to, and resolve, while TC40 and similar early signals can arrive before chargeback records. Uber uses these earlier fraud notifications to identify patterns sooner and support fraud prevention and risk management.
Approach / What changed
Early signals arrive through SFTP, third-party APIs, or webhooks, are validated and converted to a common format, then published to Kafka and stored in Hive. Streaming processing maps them to internal transactions and users, creates near-real-time features, and sends them through machine-learning models and a rule engine. Redis TTL caching filters duplicate external references, while Kafka and Hive support downstream and batch consumers.
Takeaways
TC40 signals typically reach Uber 4–5 days earlier than chargeback signals and help identify potential fraud patterns sooner.
The processing pipeline combines Kafka for streaming distribution, Hive for offline and batch storage, and a risk system that uses near-real-time and offline features.
Redis caches previously computed external references with a TTL so duplicate signals can be ignored before redundant processing or false calculations occur.
Source and freshness
- Source
- uber.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.