AI Decisioning for Customer Activation: How XP Drove 72% Lift with Databricks
Summary
- XP Investimentos, Brazil's largest investment platform for retail investors, solved a challenge of 1 million inactive account signups per year by unifying siloed data from Meta, Google, and backend systems into a Databricks lakehouse and implementing AI decisioning for personalized customer activation.
- Using reinforcement learning algorithms integrated with Hightouch on the Databricks Data and AI platform, XP achieved a 72% lift in account openings and a 35% activation increase in their first test weeks, moving beyond static A/B testing to agentic CRM.
- Head of customer acquisition Marcelo Duarte emphasizes that building the real-time data foundation—fixing backend streaming, breaking data silos, and standardizing event tracking—was the prerequisite that made AI decisioning possible.
AI Decisioning for Customer Activation: How XP Drove 72% Lift with Databricks

XP Investimentos, Brazil's largest investment platform for retail investors, solved a critical onboarding challenge: 1 million inactive account signups per year. In this video, Marcelo Duarte shows how they unified siloed data from Meta, Google, and backend systems into a Databricks lakehouse, then implemented AI decisioning to personalize customer activation journeys using reinforcement learning algorithms once exclusive to ad platforms.
Discover how XP moved beyond static AB testing to agentic CRM, achieving 72% lift in account openings and 35% activation increase in their first test weeks. Learn the blueprint for building real-time data foundations, defining guardrails for AI decisioning, and evaluating which journeys justify the cost of personalization while maintaining governance and control over marketing decisions.
Chapters
00:00AI Decisioning for Customer Activation00:07Introduction to XP and Agentic Marketing01:11Data Silos in Marketing Tech Stacks02:02Building a Real-Time Data Foundation03:09Centralizing Data in Databricks Lakehouse05:22The Activation Problem: 1M Inactive Accounts07:15Agentic Marketing vs. Traditional AB Testing10:01Implementing AI Decisioning with Hightouch13:00Results: 72% Lift and 35% Activation Increase14:19Managing Costs with Targeted AI Decisioning15:58Future: Ad Studio and Creative Automation
FAQs
What is AI decisioning and how does it differ from traditional A/B testing?
AI decisioning uses reinforcement learning algorithms to continuously personalize customer journeys in real time based on each individual's behavior, replacing static A/B tests where a single winning variant is applied to all users. This video describes how XP moved from traditional A/B testing to agentic CRM, where the system autonomously selects the next best action for each customer based on live data.
How did XP Investimentos use Hightouch and Databricks together for customer activation?
XP used Databricks as the central lakehouse to unify data from Meta, Google, and their own backend systems, then leveraged Hightouch to activate that unified data for AI decisioning across marketing channels. Hightouch events also replaced Google Analytics for capturing real-time user behavior, feeding the reinforcement learning models that drive personalized activation journeys.
What data foundation work did XP need to complete before deploying AI decisioning?
XP had to fix their backend systems to enable real-time data streaming, replacing a setup where lakehouse data could be a day or more out of date. They also had to break silos between Meta data requiring manual export, Google Ads data defaulting to BigQuery, and their own backend events, unifying everything into the Databricks lakehouse before personalization could work reliably.
What results did XP Investimentos achieve with AI decisioning on Databricks?
In their first test weeks, XP achieved a 72% lift in account openings and a 35% activation increase by applying AI decisioning to their inactive account activation journey. These results were achieved using reinforcement learning algorithms applied to XP's approximately 1 million inactive account signups per year.
Full transcript
[00:07] So, I'm proud of two things this morning. So, first of all, uh we're starting on time, which is a big achievement for a Brazilian. And the second thing that I'm proud this morning is that I still have voice after the Chainsmokers concert. There was a big concern about that. My name is Marcelo. Uh I'm head of
[00:23] customer acquisition and growth at XP. Uh think of XP as the Charles Schwab in Brazil. It's the It's the biggest investment platform for retail investors in Brazil. And today I'll talk a little bit about how we've been doing a genetic marketing at XP over the past year.
[00:40] Uh first I'll talk a little bit about how we acquire leads powered by machine learning. And we did this We did a presentation about this last year. So, this will be a quick recap because the foundations were the same. Then I'll talk a little bit more how we activated those users powered by reinforcement
[00:56] learning, which is the big news here today. And And then I'll talk briefly about what we're seeing next, maybe for the the next year I will have more news about how we are we will engage customers by using GenAI. So, last year
[01:11] we worked a lot in fixing customer acquisition. So, what we had to do, if you think about a martech technology stack, usually you have a lot of silo data. So, we had metadata about ads going uh only to meta. So, we had to
[01:28] export reports manually. Google data usually goes to BigQuery. So, if you use Google Analytics or even Google Ads, it would go straight to BigQuery. Doing transfers of this data to Databricks is expensive often and and and kind of clumsy if you want that data
[01:45] in a timely manner. And we also had problems in our back-end system. So, we had no data streaming. Uh everything would be in our lakehouse like a a day later or sometimes even worse than that. So, first we had to fix the foundations.
[02:02] And this is the This is maybe the bad news, like we we like to think we'll have a magical solution to our problems. And if there's one thing you guys should know today, I'm not going to lie to you, like there's a lot of work of fixing the foundations. So, first we had to change
[02:18] our back-end systems, change how we capture data, make sure that it was everything in real time. And then we started thinking, how can we break those silos? This is where Hightouch helped us the first time. So, basically we were able to use instead of using Google Analytics, we use Hightouch events that
[02:35] brings events like clicks, page views, anything that we are really tagging and and tracking in our websites directly into the lake house. And also, we could use connectors to bring data from Meta, from from Google Ads also to the lake house
[02:51] in real time. So, that pretty much fixed client side side of of the data collection. It was already in real time, but we had to do transformations to our legacy back-end systems so we could have back-end information, server-side information also in real time in our CDP
[03:09] in our lake house, really. So, now we had all of our data sitting in Databricks. I don't have data silos anymore. Now I can start playing with the data. And what we did was Well, now we can optimize media in Google and Meta in a
[03:26] much better way by going going directly with the conversion API and optimizing customers for signals that don't happen necessarily in the web page. So, if you if you optimize media for a sign-up, Google and Meta will help you find
[03:42] customers that signs up. Not necessarily they are high-income customers, not necessarily they bring you good revenue. So, this allowed us to be much more smart about how we were doing things. We also we were also able like by having all of that data sitting on the same
[03:58] place, we were able to build prediction models to use synthetic conversions. What are synthetic conversions? It's basically trying to predict what will happen in the future. If you think about how the XP business works, a person opens an account to invest
[04:14] because they plan to invest some money, but sometimes they don't have that money straight away. Let's say you're selling a house and then you want to invest the money after you sell your house. You'll probably open an account and start thinking about it months before you actually have the money with you. So,
[04:30] what happens is Meta wants Meta and Google wants to receive a conversion signal in hours, but my customer will only really convert months from now. So, synthetic conversions is is is just having a machine learning model that will bring those futures values to the
[04:47] present so I can predict how much money this customer is likely to invest and I can optimize media for that. So, it's really optimizing optimizing media today for something that happens in the future. So, this is what we've done last year. Works pretty well. There is a I believe
[05:04] there's the recording of last year if you guys want to go deeper into this. And then acquisition works. Like we we are opening around a million accounts every year. This this was an increment like of 30% over the over the year that was prior to
[05:22] that. Uh however, our onboarding funnel is still an issue. So, if we look if we look after certain time, users that uh abandon the journey either in the sign up process so
[05:38] they were opening an account but abandoned midway or they opened the account but never activated it. So, it's so an activation is investing for the first time. So, they could open an account, but they they never activate it. If you sum those up, you also have a million users. So, we basically have a
[05:54] year of customers sitting in your in our platform, in our database, and we're going to Meta and Google trying to find new customers while we have a whole year of them in in in in our base. So,
[06:09] we try to go after those customers. So, we we do the customer journeys, we send them emails, we send them WhatsApp, which is a big thing in Brazil. Uh but this is not very efficient. Like after a year, customers don't even remember they tried to open an account.
[06:25] So, it's very hard to find a compelling way of going after them. And then we were thinking, well, how do we activate these known users? They are in my client base uh without having a lot of journeys
[06:40] spread out in my Adobe uh marketing cloud, which is where I I send emails from. Uh because it's a very human-led process. You need to build segmentations, you need to build uh different customer bases, different creatives. It
[06:57] It all takes a lot of time. So, if we look back at what we were speaking about media. So, the way we optimize media today is we just put a whole bunch of creatives in the Meta and Google platform, and they will find the best customers to see those creatives. So,
[07:15] can we do something similar? Can we replicate the reinforcement learning algorithms that those media uh providers use to deliver ads, but applying that to our own channels? How would that that look like? So, if you think about how uh journeys work uh
[07:34] in traditional marketing, it's the famous AB testing, right? So, everyone knows about it now, everyone heard of it. So, what an AB testing is it's very intuitive. So, you segment your customers, you draft some experiences, you have some ideas of what could work
[07:49] better or worse, you test them, you analyze the outcomes, and then you iterate, right? But, there's a fundamental flaw with this model. So, the fundamental fundamental flaw with this model is, let's say you do this very well, you will find the best average journey for your customer.
[08:06] So, it is the best journey on average. It doesn't necessarily is the is the best best journey for client A. It could be for client B, but then you're just optimizing averages. You're leaving value on the table. And what agentic marketing does is
[08:24] well, you understand you have an outcome. The outcome in our case could be revenue, for instance. Uh you provide uh a lot of content for it. So, you can have a lot of email options, you can have a lot of creative options, and the
[08:41] agent will try to understand what is the best communication for this specific type of customer. So, it's a more personalized approach. You're not trying to find the best average experience, you're trying to find what is the best communication for this customer, and it
[08:56] could be totally different to a a second customer that's coming right after. And Meta and Google, they have been doing this for decades now. Honestly, this is not new science. So, what Meta and Google do, they are they have this
[09:11] huge customer base. What is an ad for me? Cuz I'm I'm doing this in in their platform. For them, it's it's their channel. It's kind of like my challenge with my 1 million customers that's sitting in my base. And what they're doing is agentic marketing for 20 years
[09:26] already. However, what is the difference of Meta, Google, and XP? Well, XP is an investments company. So, like we we don't have agentic marketing as our core business. So, we don't have the amount of engineers and investments to build machine learning models from scratch to
[09:43] find those customers and do agentic marketing. So, this is why companies like us, we haven't been doing this in the past 20 years. It was It was just the big tech companies that had the scale to do this before all the AI started to explode. But now, we have
[10:01] more accessible tools and technologies like they they are arriving every day and this is changing very fast. And one of them that we decided to try was what Hightouch calls AI decisioning. What AI decisioning does is bringing this
[10:17] reasoning that this version of what Matt and Google do for ads, but to your own customer base. So, what we do here, you you will use the same foundations that you had to build. So, I'll tell this again. There's no way around it. You need to have good data to
[10:33] begin with, otherwise you won't be able to optimize. Like, no agent can optimize something it cannot see. So, you need to bring the data for it. But once you do that, you can start using reinforcement learning algorithms that, in the case of AI decisioning, can pilot directly into
[10:50] Databricks. So, what it's doing really is getting online and offline data that we were already putting in our Databricks lakehouse. We can define what are the goals, the creatives, and the guardrails that we use. And then we will automatically
[11:07] activate those creatives in your preferred platform. So, in our case is Adobe. So, what's really happening here, it's actually simple to understand. So, for for AI decisioning, it doesn't understand what is an email. It doesn't
[11:22] care if it's an email, if it's an SMS, if it's a if it's a WhatsApp. Think about as IDs. So, my team will go to the Adobe platform, could be Salesforce, could be whatever. They go to the Adobe platform, they create an email. Let's say it's giving an offer for the
[11:38] client to activate sooner. Uh we have an ID for this message. So, this message has an ID associated with it. So, we'll go to AI decisioning and say, "Well, this ID, you can use it to do this conversion." So, we'll give it 10 IDs, 20 IDs. We can
[11:55] give them even more if you want, and it will basically start testing those IDs. It doesn't need to understand what is being sent, what is the communication looks like. It just need to understand the numbers. So, like I know that this ID, if I send this in a specific time for this type of customer, and I can
[12:12] understand the customers because I I have access to to that data, it will be a better journey. So, instead of this fundamentally shifts how we look at those journeys. So, instead of trying to manually pilot them,
[12:27] now we're just thinking about, well, I will use my team and the time that we have to produce more creatives, and to understand, well, what what is the strategy? What we want to achieve here? So, what are the economics of what we're doing? But once we need to build those journeys, I can just put a whole
[12:43] bunch of IDs, and the platform will decide which IDs should be sent for each customer in what order. Could be all of them, could be part of them, and could be in different times. So, how does that look into results? So, I mentioned that uh we tested in two
[13:00] different publics. So, one public was users that abandoned in the account opening process. So, they didn't finish the account opening process. The other group were customers that already opened an account, but they never invested. We had journeys for them.
[13:16] So, this were This was the increase compared to the average journey. So, that's the power of personalization. Uh it is a very It is a word that we've been talking about this for years, but it was very hard to implement and now
[13:33] it's it's impressive how easy it became. So, this is not compared to no no journey at all. This is compared to like a very tested and iterated AB testing for the average journey, but once you leave the average journey and you go to
[13:49] a real personalized one, we achieved 72% increment in account home page views for from those users that abandoned and 35% increment in activation for the users that finished the account. So, now this
[14:04] was just a test. Now we are rolling this out to the live journeys as well. Let's say a customer just open an account, we have a journey that will help this customer make the first investment. Now we are testing AI decisioning in in all
[14:19] of those journeys that we have. The critical thing here and and the way that I'm thinking about this is like you cannot just exaggerate, right? Because once you see those numbers, the impulse might be, well, let's apply AI decisioning to everything and indiscriminately. And if you do
[14:37] that, you will run into cost problems. And this is this is an issue that a lot of people are facing, so AI is very exciting. So, how do you make an equilibrium of cost and usage of this? So, I I won't claim that I have the
[14:52] right answer, but the way we are looking into this is testing ironically, doing an AB test of AI decisioning versus the average journey. If the increment is good enough, if it's like an increment of 70%, no questions. If it's an
[15:08] increment of 20%, it's probably good, so we'll leave it there. If it gives an increment of 5%, maybe that's the use case where I would prefer to have just the average journey because it's cheap. That that that that's that's the way I'm looking into it. Maybe there's a better
[15:25] way of doing it, but I I can give a good example. So, we didn't even test in this journey, but I If you have a journey that's reminding the customer that he needs to change its password, probably uh reminder once a day is enough. You
[15:41] don't need an agentic solution for that. So, the way I see it is complex journeys will profit a lot from an AI decisioning. If you have a simple journey, you can just keep the the the average approach.
[15:58] So, now is nitpicking what we are looking next. So, this is something we are already testing. Uh it's still not fully rolled out, but it's being very interesting. So, I already have my data in lakehouse. I already I'm already optimizing media for a very smart signals, a machine learning
[16:14] synthetic conversion. Now, what we're doing is uh we're using this new tool that High Touch are are helping us to to to implement, which is called Ad Studio. So, what it does is it will look into your campaigns. It will understand what
[16:31] creatives are working well. So, what are the creatives that are converting better? And it will propose the next generation of creatives. It says, "Well, if these creatives are going very well, maybe you should try these creatives instead." So, now we are automating even
[16:48] a little bit of the thinking process. I still have humans. Uh they they they're still The these guys still keep their jobs and and they and they will approve those creatives. We are a very regulated market, right? So, so we need to have humans approving
[17:03] giving the final approval, but this this increments how much uh I can do in a shorter time span time span. So, I This is a little bit how it looks like, so you can It will give you options, but
[17:18] you can still edit them and it will respect you respect uh your brand guidelines, the font that you need to use. And one thing that I think it's very smart, you can edit the text because you probably had this experience of trying to convince an AI that it
[17:34] should change the text and it changes the text, but also puts a bear in the in the background. So, being able to just edit the text is amazing. It saves time, it saves tokens. Uh but yeah. So, I already showed you how in the past
[17:49] year we acquired customers better using synthetic conversions. Now we are activating customers better by using uh techniques that only Meta and Google had access before. And the next step is how we engage customers with uh GenAI. This
[18:06] is something that at least for financial services, we need to thread a bit more carefully because it's a very regulated marketing market. I I need to understand what the AI is is showing to the customer, but I do believe that eventually this will be so good that we
[18:21] can just automate everything and use our brains for strategy and and and and different parts of the process. So, I still have a minute maybe for a quick Q&A, but if you guys want to ask anything after this time, I can also
[18:36] stay for a bit after uh outside the theater. Thank you.
Learn more about the Databricks Data and AI platform.
The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.