Zalando rebuilds ML pipeline for payment-default fraud detection on Amazon SageMaker
Zalando's second-generation Scala/Spark ML pipeline for detecting payment defaults was tightly coupled to a single framework making modern Python libraries difficult to adopt, relied on custom code that added maintenance burden, suffered from memory issues and latency spikes with slow instance startup, and had a monolithic design that fused feature preprocessing with model training into a single cluster.
An original Python/scikit-learn ML setup was replaced in 2015 by a Scala/Spark system to scale better, but this second-generation system accumulated its own technical pain points that necessitated a third migration.
The new SageMaker-based pipeline is framework-independent with clear separation between preprocessing and training, and reduced scale-up time by 50%.
Load tests confirm a single ml.m5.large instance handles 200 requests/second with p99 latency under 80ms.
Show all 5 reported metrics
Frequently asked questions
What did this team achieve with this AI workflow?
The new SageMaker-based pipeline is framework-independent with clear separation between preprocessing and training, and reduced scale-up time by 50%.
What tools did this team use?
Amazon SageMaker, zflow, AWS Step Functions, AWS Lambdas, Databricks, scikit-learn, XGBoost, PyTorch, Tensorflow.
What results were reported?
Scale-up time reduction: 50%; p99 latency at 200 RPS (single ml.m5.large): under 80ms; response times at 1000 RPS: below 200ms; Serving cost increase vs legacy: up to 200% (source-reported, not independently verified).
What failed first in this deployment?
An original Python/scikit-learn ML setup was replaced in 2015 by a Scala/Spark system to scale better, but this second-generation system accumulated its own technical pain points that necessitated a third migration.
How is this finance ops AI workflow structured?
Training data preprocessing → Model training → Batch prediction generation → Model evaluation report → SageMaker endpoint deployment → Order request received → Feature extraction → Default probability prediction.