PyData Amsterdam 2026

Csanád Bakos

Csanád is a Data Engineer at Vinted, where he builds and maintains dozens of Apache Flink streaming jobs powering real-time feature engineering for Trust & Safety. His work ensures that ML models and rule engines have timely, complete data to detect malicious users on Europe's largest second-hand marketplace — driving thousands of automated actions per hour including account blocks, listing removals, and manual review escalations. He has spoken at Confluent's real-time data community meetup in London and he’s a presenter at Current 2026 London on custom Flink operators for feature-trigger synchronization. Csanád holds a Master's degree in Computer Science from the Delft University of Technology, where he graduated cum laude.


Session

09-10
15:05
30min
Real-time vs Batch Features for ML: Lessons from Fraud Detection at Scale
Csanád Bakos

In online marketplaces, bad actors utilize automation to scale fraud quickly. ML models can catch it, but they need features computed based on user behavior — updated in a timely manner. Batch features are too slow — fraud spreads before the next scheduled job runs.

Drawing from production experience operating 25+ streaming jobs for a large online second-hand marketplace, we will walk through the architecture and key design decisions behind our streaming platform powering ML fraud detection. This is composed of Kafka topics, Flink jobs, a feature store serving real-time inference and a data warehouse for historical data for model training. We will touch upon the strategies to bridge the gap between raw streaming output and training-ready data.

We will also explore fundamental differences between streaming and batch feature engineering. From bounded vs unbounded data to stateful operators, fault tolerance, and scaling — we will cover what makes Flink excellent for real-time processing. When real-time isn't needed, Flink can do batch too — it's just probably not the best choice, e.g. dbt with your favourite data warehouse can do better — we will shed some light on why.

The principles shared will help you evaluate what to look for in a stream processing framework and whether you need Flink's capabilities for your own use cases. Aimed at data engineers, ML engineers, and data scientists interested in streaming vs batch trade-offs, fraud detection, or trust & safety.

You will walk away with:

  • Understanding of a production tested architecture for serving streaming features to both real-time inference and model training without duplicate computation
  • Appreciate when real-time features add value vs when batch is the right tool
  • A sense of the operational challenges — to help you evaluate whether real-time is worth the cost and effort for your specific use case
Room 2 (350)