INSIGHTS & IDEAS
arrow

The Why of Product Adoption Drivers with Causal AI in Retail Banking

Hey there, data aficionados of the banking world! Ever feel like you’re swimming in a sea of customer data, spotting all sorts of interesting patterns? “Customers with mortgages tend to have home insurance.” “Folks who frequently use our mobile app are more likely to take out personal loans.” Yep, we see those correlations all day long, don’t we? And for years, we’ve built our personalization strategies on these connections. Recommend product B to someone who has product A? Makes sense on the surface.

Correlation is like that friend who always shows up at the party when the pizza arrives… but didn’t actually order it. Just because two things happen together doesn’t mean one causes the other. And in the high-stakes game of retail banking — where we’re aiming to truly understand our customers and offer them the right products at the right time — relying solely on these coincidences can lead us astray.

Think about it. Did offering that bundled discount actually make a customer take up both a checking and a savings account? Or were they simply the kind of customer who likes to consolidate their finances anyway? Did the fact that someone browsed mortgage rates on our website cause them to open a high-yield savings account?

Forget just seeing what happens together. Causal inference is all about figuring out why things happen. It’s about identifying the true drivers behind customer behavior, the real reasons why they adopt one product over another. Imagine the power of knowing that a specific type of financial literacy content actually leads to increased investment product adoption, or that a personalized message highlighting a specific benefit genuinely encourages customers to apply for a credit card.

By moving beyond simple correlations and embracing the power of causality, we can craft truly effective and targeted product recommendations, we can pinpoint the interventions that will genuinely influence product adoption.

Enter Causal AI — A New Paradigm for Understanding Customer Behavior

At its heart, causal inference is about understanding the “what if?” questions. It’s not just about observing what did happen, but about trying to figure out what would have happened under different circumstances. This involves moving beyond simply identifying associations to actively trying to uncover the underlying mechanisms and pathways of influence.

Think of it like this: correlation tells us that the number of ice cream sales and the number of reported crimes tend to increase in the summer. But we know that buying ice cream doesn’t cause crime (and hopefully vice versa!). A third factor, like warmer weather leading to more people being outside, could be the common cause. Causal inference gives us the tools to identify and account for these kinds of confounding factors.

Why is understanding “why” crucial for personalization in retail banking?

Because true personalization isn’t about just knowing what a customer might buy next based on past behavior. It’s about understanding what interventions — a targeted offer, a piece of relevant information, a change in their banking experience — will actually cause them to adopt a new product or deepen their relationship with us.

Imagine being able to answer questions like:

  • “If we offer a 0% balance transfer on this credit card to customers who recently opened a high-interest loan, how much will it increase credit card adoption in that segment?”
  • “What is the causal impact of providing personalized financial advice on a customer’s likelihood of opening a retirement savings account within the next six months?”
  • “Does simplifying our online application process actually lead to a higher completion rate for loan applications?”

causal-learn in Action — Discovering Potential Causal Relationships

Think of causal-learn as your expert sidekick in the quest for causality. It's packed with powerful algorithms designed to sift through mountains of observational data and suggest potential causal structures – those intricate webs of "what causes what." It doesn't magically give you the absolute truth, but it provides incredibly valuable starting points for your causal investigations.

Case Study 1: Financial Literacy Workshops and Investment Product Adoption

We’re trying to understand if our financial literacy workshops genuinely encourage customers to invest in mutual funds.

To even begin this investigation, we’ll need a good chunk of data, including:

  • A record of which customers attended which workshops and when.
  • Data on when customers purchased mutual funds (or other investment products).
  • Age, income, education level, etc. These could be potential confounders!
  • Existing savings balances, other investment holdings (if any). This helps us understand their baseline financial savviness.

Before feeding this into causal-learn, we'll need to do some standard data wrangling: cleaning missing values, encoding categorical features, and potentially discretizing continuous variables depending on the algorithm we choose.

causal-learn offers a buffet of algorithms for causal structure learning. For this scenario, two popular choices might be:

  • PC Algorithm: This constraint-based algorithm starts with a fully connected graph and iteratively removes edges based on conditional independence tests. It’s like systematically ruling out connections that don’t hold up under scrutiny.
  • GES (Greedy Equivalence Search): This score-based algorithm searches through the space of Directed Acyclic Graphs (DAGs) to find the one that best fits the data according to a chosen scoring function (like BIC or AIC). It’s like trying to find the most plausible causal story that our data tells.
from causallearn.search.ConstraintBased.PC import pc
import pandas as pd
import matplotlib.pyplot as plt

from causallearn.utils.GraphUtils import GraphUtils
import matplotlib.image as mpimg
import io

# Loading data
data = pd.read_csv('workshop_investment_data.csv')

# Encode categorical features (education) numerically
education_mapping = {'High School': 0, 'Associate': 1, 'Bachelor': 2, 'Master': 3, 'PhD': 4}
data['education_encoded'] = data['education'].map(education_mapping)

# Select the variables for causal learning
variables = ['attended_workshop', 'adopted_mutual_fund', 'income', 'education_encoded', 'previous_investments']
subset_data = data[variables].values

# Run the PC algorithm
cg = pc(subset_data)

# Visualize the resulting causal graph
labels = {i: variables[i] for i in range(len(variables))}

pyd = GraphUtils.to_pydot(cg.G, labels=labels)
tmp_png = pyd.create_png(f="png")
fp = io.BytesIO(tmp_png)
img = mpimg.imread(fp, format='png')
plt.axis('off')
plt.title("Potential Causal Graph (PC Algorithm)")
plt.imshow(img)
plt.show()

Article content

The output of causal-learn will be a DAG. Arrows in this graph suggest potential causal relationships.

  • Direct Effect: If there’s a direct arrow from ‘attended_workshop’ to ‘adopted_mutual_fund’, it suggests a direct causal link.
  • Indirect Effects: We might see paths like ‘attended_workshop’ -> ‘increased_financial_knowledge’ -> ‘adopted_mutual_fund’. This would indicate an indirect effect, where the workshop increases knowledge, which in turn leads to investment.
  • Confounding Variables: If we see arrows pointing from ‘income’ or ‘education’ to both ‘attended_workshop’ and ‘adopted_mutual_fund’, these are potential confounders that we need to account for in our causal analysis.
  • adopted_mutual_fund is isolated: This is a key observation! The graph, in this case, is suggesting that, based on the variables we included and the PC algorithm's analysis of this sample data, neither attending the workshop, education level, income, nor previous investments directly cause or are directly caused by the adoption of a mutual fund.

What could this mean in our retail banking context?

  • Limited Signal in Small Data: This result might simply be due to the very small size of our synthetic dataset. With more data, clearer patterns might emerge.
  • Missing Confounders: It’s highly likely that there are other important factors influencing mutual fund adoption that we haven’t included in our model.

Things like:

  • Age: Older individuals might be more likely to invest.
  • Risk Tolerance: Some customers are inherently more risk-averse or risk-seeking.
  • Financial Goals: Customers saving for retirement might be more inclined to invest.
  • Interaction with Financial Advisors: Advice from a bank representative could be a strong driver.
  • Marketing Campaigns: Specific promotions or marketing efforts for mutual funds.

Case Study 2: Personalized Loan Offers and Credit Card Applications

We want to know if sending personalized loan offers influences customers to apply for our credit cards.

Addressing Potential Confounding Factors: Here, we need to be extra careful about confounders. Customers with good credit scores and stable incomes might be more likely to receive loan offers and be more inclined to apply for credit cards, regardless of the offer.

Exploring Instrumental Variables (IVs): If we can identify a variable that influences the likelihood of receiving a loan offer but doesn’t directly affect the decision to apply for a credit card (except through the loan offer), that could serve as an instrumental variable (IV). Finding good IVs in observational banking data can be challenging but incredibly powerful. For example, perhaps a specific, somewhat random rollout of a particular type of loan offer to a subset of customers might act as an instrument.

While causal-learn itself might not directly implement IV estimation, the causal graph it helps us discover can inform our thinking about potential instruments and the relationships between variables. We might use the learned graph as a foundation for further analysis using other statistical or econometric techniques.

Visualizing Potential Causal Relationships: Visualizing the graph generated by causal-learn is crucial here. We'd be looking for a path from 'received_loan_offer' to 'applied_credit_card', while being mindful of potential confounding paths involving 'credit_score', 'income', etc.

from causallearn.search.ConstraintBased.PC import pc
import pandas as pd
import matplotlib.pyplot as plt
from causallearn.utils.GraphUtils import GraphUtils
import matplotlib.image as mpimg
import io

# Loading data
data = pd.read_csv('loan_credit_card_data.csv')

# Select the variables for causal learning
variables = ['received_loan_offer', 'applied_credit_card', 'credit_score', 'income', 'previous_loans', 'existing_credit_cards', 'urgency_flag', 'random_offer_assignment']
subset_data = data[variables].values

# Run the PC algorithm with gsq test
cg = pc(subset_data, indep_test='gsq')

# Visualize the resulting causal graph
labels = {i: variables[i] for i in range(len(variables))}

pyd = GraphUtils.to_pydot(cg.G, labels=labels)
tmp_png = pyd.create_png(f="png")
fp = io.BytesIO(tmp_png)
img = mpimg.imread(fp, format='png')
plt.axis('off')
plt.title("Potential Causal Graph (PC Algorithm - Loan Offers & Credit Cards)")
plt.imshow(img)
plt.show()
# Print the adjacency matrix
print("\nAdjacency Matrix (Potential Causal Connections):")
print(cg.graph.to_numpy())
Article content
  • received_loan_offer and applied_credit_card are not directly connected: This is a key finding! Even with more explicitly simulated data, the PC algorithm isn't directly linking the offer to the application. This suggests that the effect might be indirect or mediated by other factors, or that the algorithm still isn't picking up a strong direct signal.
  • credit_score now has directed edges to previous_loans and existing_credit_cards: This makes intuitive sense! A higher credit score likely increases the likelihood of a customer having been approved for and holding more loans and credit cards in the past.
  • income remains isolated: Interestingly, income isn't directly connected to any other variable in this graph. This might mean its influence is captured through credit_score or other unmeasured factors, or that in our simulated scenario, its direct impact on these variables isn't strong enough to be detected by the PC algorithm.
  • urgency_flag and random_offer_assignment also remain isolated: The algorithm isn't finding direct connections between these and the other variables. For random_offer_assignment, we were hoping to see a link to received_loan_offer to support its potential as an instrumental variable. The lack of a strong direct link here might suggest our simulated "randomness" wasn't strong enough or that other factors are more dominant in determining who received an offer.

Possible Interpretations and Next Steps:

  • Indirect Effect of Loan Offer? The loan offer might be influencing credit card applications indirectly. For example, receiving an offer could prompt a customer to review their financial situation and then decide to apply for a credit card, but this intermediate step isn’t directly captured in our current variable set.
  • Confounding Still at Play? While credit_score is now connected, it's possible there are still unmeasured confounders influencing both receiving a loan offer and applying for a credit card.
  • Instrument Strength: The isolation of random_offer_assignment suggests it might not be a strong instrumental variable in this analysis. For a good IV, we'd ideally see it strongly influencing the "treatment" (received_loan_offer) but not directly affecting the "outcome" (applied_credit_card) except through the treatment.
  • Algorithm Sensitivity: The PC algorithm has its assumptions and limitations. It might be worth experimenting with other algorithms in causal-learn (like GES) to see if they reveal different potential causal structures.
  • Further Analysis: This graph gives us clues about potential relationships. We could now focus on statistically testing the strength and direction of the identified edges using pywhy-stats.

Case Study 3: Mobile Banking App Usage and Mortgage Applications

We’ve noticed that frequent mobile app users seem more likely to apply for mortgages. Is there a causal link?

This scenario involves time. Maybe increased app usage leads to greater awareness of our mortgage products over time, or perhaps it reflects a life stage where someone is already considering buying a home.

Some algorithms in causal-learn, particularly those designed for time series or event sequence data (though this is an active area of research and might require specific data formatting or extensions), could help us explore the temporal order of events. For instance, we might look for patterns where increased app engagement precedes a mortgage application by a certain period.

We might also need to consider lagged effects. Does increased app usage in one month lead to a higher probability of a mortgage application in the following months?

from causallearn.search.ConstraintBased.PC import pc
import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
from causallearn.utils.GraphUtils import GraphUtils
import matplotlib.image as mpimg
import io

# Load your data
data = pd.read_csv('app_usage_mortgage.csv')

# Select the variables for causal learning
variables = ['monthly_app_usage_m1', 'monthly_app_usage_m2', 'monthly_app_usage_m3', 'mortgage_application']
subset_data = data[variables].values

# Run the PC algorithm
cg = pc(subset_data)

# Visualize the resulting causal graph
labels = {i: variables[i] for i in range(len(variables))}

pyd = GraphUtils.to_pydot(cg.G, labels=labels)
tmp_png = pyd.create_png(f="png")
fp = io.BytesIO(tmp_png)
img = mpimg.imread(fp, format='png')
plt.axis('off')
plt.title("Potential Causal Graph (PC Algorithm - App Usage & Mortgage)")
plt.imshow(img)
plt.show()
Article content

An interesting graph indeed! Let’s break down what the PC algorithm is suggesting about the relationship between mobile app usage and mortgage applications based on this potential causal structure:

  • monthly_app_usage_m1 has a directed edge to monthly_app_usage_m3: This could imply that app usage in the first month has a direct influence on app usage in the third month, even after considering the usage in the second month. Perhaps early engagement sets a pattern.
  • monthly_app_usage_m2 has directed edges to both monthly_app_usage_m3 and mortgage_application: This is a key finding! It suggests that the app usage in the second month might directly influence both the app usage in the following month and the likelihood of a mortgage application. This hints at a potential lagged effect where sustained engagement might precede a mortgage application.
  • monthly_app_usage_m3 has a directed edge to mortgage_application: This further supports the idea that higher app usage in the more recent period (month 3) is associated with a higher likelihood of a mortgage application. This could be due to increased awareness of mortgage products within the app, or it could reflect a life stage where someone actively using the app for financial planning is also considering a mortgage.

Potential Interpretations and Next Steps:

  • Lagged Effect: The edges from monthly_app_usage_m2 and monthly_app_usage_m3 to mortgage_application suggest a potential lagged causal effect. Increased engagement with the app in the months leading up to a mortgage application might indeed play a role.
  • No Direct m1 -> Mortgage: The absence of a direct edge from monthly_app_usage_m1 to mortgage_application might indicate that the effect of early usage is mediated through subsequent usage or that the more recent usage is a stronger indicator.
  • Common Cause? While the graph suggests a potential direct influence of app usage on mortgage applications, we still need to consider the possibility of a common underlying cause that we haven’t measured. For example, a “life stage change” (like planning to buy a house) could lead to both increased app usage for financial planning and a mortgage application.
  • Further Analysis: This graph provides valuable hypotheses. The next step would be to use pywhy-stats to statistically test the strength and significance of these potential causal links. We could also explore more advanced time series causal inference techniques if we suspect more complex temporal dependencies or feedback loops.
  • Feature Engineering: We could create features like the trend of app usage over the three months (e.g., the difference or ratio between m3 and m1) to see if that has a stronger relationship with mortgage applications.

Business Implications and Future Directions

So, we can now potentially pinpoint the true drivers of product adoption. That’s cool and all, but what’s the bottom line? Imagine the impact of moving from scattergun marketing based on correlations to laser-focused campaigns targeting the causal factors that lead to increased product holding. Think about:

  • Higher Conversion Rates: No more wasted efforts on customers who were never going to bite. Causal insights allow us to target those who are genuinely influenced by our interventions. A small lift in conversion rates across a large customer base can translate to significant revenue increases.
  • Optimized Marketing Spend: By understanding what actually works, we can allocate our marketing budget more effectively, reducing costs and maximizing impact. Say goodbye to campaigns that look good on paper but deliver little real value.
  • Increased Customer Lifetime Value: By offering the right products at the right time for the right reasons, we build stronger, more trusting relationships with our customers, leading to greater loyalty and increased lifetime value.
  • Better Product Bundling and Sequencing: Causal analysis can reveal optimal product bundles or the best sequence of product offers to maximize overall adoption. Imagine knowing that offering a high-yield savings account causes increased interest in wealth management services down the line.

Quantifying this ROI will involve careful tracking and experimentation. A/B testing strategies informed by causal insights will be crucial to measure the true uplift generated by our causally-driven interventions. Think about setting up experiments where one group receives recommendations based on correlation, and another receives recommendations based on identified causal drivers. The difference in product adoption rates will give us a tangible measure of the causal AI’s impact.

However, with great power comes great responsibility. As we delve deeper into understanding the “why” behind customer decisions, we must tread carefully on Ethical Considerations.

  • Transparency and Explainability: While causal models can be complex, we need to strive for transparency in how we are using these insights. Customers should understand (at a high level) why they are receiving certain recommendations. Explainable AI (XAI) techniques will be crucial here.
  • Avoiding Manipulation: Our goal should be to genuinely help customers by offering relevant products, not to manipulate them into purchases they don’t need or can’t afford. Causal insights should guide us toward ethical persuasion, not coercion.
  • Fairness and Bias: We need to be vigilant about potential biases in our data and causal models that could lead to unfair or discriminatory outcomes for certain customer segments. Ensuring fairness in our AI algorithms is paramount.
  • Privacy: Understanding causal pathways might involve analyzing sensitive customer data. Robust privacy safeguards and ethical data handling practices are non-negotiable.

Looking ahead, the Future Possibilities and Advancements in Causal AI for Retail Banking are incredibly exciting:

  • Dynamic and Personalized Interventions: Imagine real-time causal models that adapt to individual customer behavior and trigger personalized interventions at precisely the right moment.
  • Counterfactual Recommendations at Scale: Moving beyond “what they might buy” to “what we can do to cause them to achieve their financial goals,” offering truly impactful recommendations.
  • Causal Reinforcement Learning: Developing AI agents that learn optimal intervention strategies based on the causal impact of their actions.
  • Integration with Natural Language Processing (NLP): Understanding the causal impact of customer interactions through various channels (chatbots, calls) on product adoption.
  • Causal Digital Twins: Creating virtual representations of customer segments to simulate the impact of different strategies before real-world deployment.

Embracing Causality for a Deeper Understanding of Your Customers

Fellow data scientists, the journey beyond correlation and into the realm of causality offers a transformative opportunity for retail banking. By embracing the tools and principles of causal inference, we can:

  • Gain a richer, more accurate understanding of our customers’ behavior and the true drivers behind their decisions.
  • Develop more effective, targeted, and ethical personalization strategies that genuinely meet customer needs.
  • Optimize our marketing investments and drive significant, measurable increases in product holding and customer lifetime value.
  • Build more robust and reliable AI systems that move beyond prediction to genuine understanding and influence.

The power to understand “why” is no longer a distant dream. Tools like causal-learn and pywhy-stats are putting this capability within our reach. I urge you to explore these powerful tools, experiment with causal inference techniques, and champion a new era of data-driven decision-making in retail banking. Let's move beyond simply observing patterns and start truly understanding – and ethically influencing – the "why" behind product adoption.