All work

OCBC Bank2022

Real-time Fraud Detection & Personalisation

Scalable ML services for a regulated bank — batch and low-latency online inference powering fraud screening and personalised product recommendations for millions of customers.

  • ~70%pipeline efficiency gain
  • Batch + onlineinference in one design

Architecture · simplified

  1. Transactions & eventsStreaming and batch data
  2. FeaturesDistributed on Spark & Ray
  3. ModelsFraud scoring · recommendations
  4. ServingLow-latency APIs + batch jobs
  5. Banking systemsCustomer-facing & core banking

Context

The bank needed ML decisions — is this transaction fraudulent, what should this customer see next — delivered reliably into customer-facing and core banking systems, at petabyte data scale.

The challenge

Two very different latency profiles (real-time screening and large batch recommendation runs), strict regulatory expectations on auditability, and integration with systems that cannot go down.

What I did

  • Designed scalable ML services supporting both batch and low-latency online inference on Spark, Ray and AWS.
  • Built fraud-detection and anti-phishing capabilities for real-time transaction screening, alongside a product-recommendation framework for millions of customers.
  • Integrated ML decisions into customer-facing and core banking systems through well-defined service interfaces and API contracts.
  • Introduced CI/CD, observability and production-readiness practices so releases were auditable and reliable in a regulated environment.

Outcome

Pipeline efficiency improved by ~70%, and ML became a dependable, auditable part of production banking systems.

↑↓ move↵ open