Signature campaign · 2014 · Ukraine
PrivatBank — MasterCard VIP train‑trigger campaign
A multi‑channel, event‑driven automation that turned a manual sales motion (calls + meetings) into a 3× conversion engine — and became an internal reference for lifecycle automation at Ukraine’s largest commercial bank.
The setup
PrivatBank wanted to scale sales of a premium MasterCard VIP card. The existing motion was entirely manual — relationship managers called and met select customers, one at a time. Conversion was decent but didn’t scale, and the value proposition (a “personal concierge” benefit) was hard to prove before purchase.
The challenge: make the dedicated‑assistant benefit feel real at scale, without depending on manual outreach.
The architecture
I designed an event‑driven workflow orchestrated from our internal CRM. It ingested a train‑ticket purchase event from PrivatBank’s payment data — customer ID, route, departure time, destination — and triggered a timed sequence across three channels.
FIG. 01 · Event-driven workflow
Trigger
Train ticket purchase
customer · route · departure · destination
Enrich
Weather + route data
external API · destination context
Email · T+5 min
Cached inbox read
~80% open rate
On arrival
Concierge proof
prepaid taxi via API · SMS + call
The trick
The primary email sent five minutes after train departure — when mobile connectivity drops and customers read from inbox cache.
That single timing decision drove a ~80% open rate. Inbox cache made the email visible offline; the rest of the sequence took over once they reached the destination. On arrival, the workflow arranged a prepaid taxi via the dispatch API and notified the customer via SMS and a follow‑up call. A live, tangible demonstration of the concierge benefit, before the sale closed.
The engineering
I owned this end‑to‑end:
- —Data mapping & joins from payment data → CRM customer record → external enrichment (weather, route)
- —API integrations: a taxi-dispatch API for the concierge ride, internal SMS gateway, email service
- —Retries, timeouts, idempotency — to avoid duplicate sends or duplicate taxi orders if a node retried
- —Observability: delivery logs, failure queues, manual re‑run tooling for exceptions
Open rate
~80%
vs ~20% category baseline
Conversion
3×
vs manual sales motion
Internal status
Reference case
for lifecycle automation
This is the kind of work I’ve been doing for twelve years. The EMEA marketplace numbers later in my career are the same instinct, scaled to two million automated messages a month.