INSIGHTS & IDEAS
arrow

LLM Part 10: Real-Time GenAI Platform Banking

The postings on this site are my own and do not necessarily represent the postings, strategies or opinions of my employer.

On LLM Series:

The hyperbole surrounding AI's potential is obscuring its practical applications. Leaders must elucidate AI's capabilities, eschewing technical jargon, and centering discussions on tangible business challenges and attainable use cases that delivers customer value.

Introduction

In today's fast-paced digital world, real-time experiences have become the norm. From instant messaging to real-time stock quotes, consumers expect applications to respond to their needs immediately. In the banking industry, this trend is no exception. Customers demand personalized financial services that adapt to their changing preferences and market conditions in real-time.

To meet this growing demand, banks are turning to real-time GenAI. By leveraging technologies like Kafka, microservices, and microfrontends, banks can create highly personalized, AI-driven experiences that deliver instant value to their customers.

In this blog post, we will explore the concept of real-time GenAI and how it can be implemented in a banking context. We will discuss the role of Kafka in handling real-time data streams, the benefits of a microservices architecture for scalability and flexibility, and the importance of microfrontends for delivering personalized user experiences.

By the end of this post, you will have a clear understanding of how real-time GenAI can transform the banking industry and empower banks to provide exceptional customer service.

Real-time GenAI, powered by Kafka, microservices, and microfrontends, aims to deliver instant, personalized AI-driven experiences in a platform banking context. The key components include:

  • Kafka: A distributed streaming platform for handling real-time data ingestion, processing, and distribution.
  • Microservices: A modular architecture where applications are broken down into smaller, independent services.
  • Microfrontends: A frontend development approach where a web application is composed of independent, self-contained UI components & UX journeys.
  • Platform Banking: Consumers don't know many of today’s fintechs, and they likely don't care to know. Consumers don't want to have to work to find out what companies do, if they're any good, and if they're safe to do business with. They want someone or something to make it all easy for them. They want a Platformized Bank.

Complex Design and Integration Will Demand Flexible Data Architecture

The proliferation of cloud-based analytics, AI, and ML solutions demands sophisticated data management frameworks and integration patterns.

The landscape of data and analytics architectures is undergoing rapid transformation. This evolution is driving technical professionals to continually adapt their strategies to accommodate on-premises, cloud, multicloud, and hybrid deployment models. Organizations must embrace a flexible approach, building modular data architectures that seamlessly integrate with complementary analytics solutions. Each new capability should be implemented iteratively, guided by a framework that ensures consistency across key technical considerations.

Constructing a robust D&A & AI architecture necessitates meticulous planning to ensure compatibility with existing infrastructure and services, while also anticipating future needs. Furthermore, such architectures increasingly rely on the integration and interoperability of services across cloud providers, SaaS solutions, on-premises resources, and cloud orchestration tools.

When evaluating new cloud-based services, assess their integration with the underlying cloud data ecosystem. A cohesive ecosystem of services on a single cloud platform might outweigh the perceived benefits of multi-platform adoption. A more integrated ecosystem will likely have a well-defined path to production.

Following figure provides an overview of an end-to-end data management and analytics architecture.

A Banking Example: Leveraging the Data Fabric for Personalized Recommendations

Data Sources:

  • Customer Data: Transaction history, demographics, product usage, and customer service interactions.
  • Market Data: Economic indicators, competitive landscape, and industry trends.
  • External Data: Credit bureau data, fraud databases, and social media sentiment.

Organize:

  • Logical Data Warehouse: Create a centralized repository for storing and managing customer and market data.
  • Data Lakes: Store raw data in a data lake for flexible exploration and analysis.
  • Data Fabric: Integrate data from various sources and provide a unified view across the organization.

Analyze:

  • Data Preprocessing: Clean, transform, and prepare data for analysis.
  • Feature Engineering: Create new features that can improve model performance.
  • Model Training: Train machine learning models using relevant algorithms (e.g., random forest, gradient boosting) to predict customer churn, recommend products, and detect fraud.
  • Model Deployment: Deploy trained models to a production environment for real-time inference.

Deliver:

  • Personalized Recommendations: Use AI-powered recommendation engines to suggest products and services tailored to individual customers.
  • Customer Churn Prediction: Identify customers at risk of churning and take proactive steps to retain them.
  • Fraud Detection: Detect and prevent fraudulent activity using anomaly detection and rule-based systems.
  • Risk Assessment: Assess credit risk and other risks using advanced analytics techniques.

Data Fabric Integration:

  • Data Integration: Connect data sources from various systems (e.g., core banking, CRM, marketing) to the data fabric.
  • Data Governance: Implement data governance policies to ensure data quality, security, and compliance.
  • Data Virtualization: Create virtual views of data across different systems to simplify data access and analysis.

Kafka for Real-Time Data Streaming

The minimum architecture required to achieve platform banking in technology context is shown in following figure:

Messaging Systems: MOM and EDA

There are two primary paradigms for messaging systems: Message-Oriented Middleware (MOM) and Event-Driven Architecture (EDA). Let's delve into each:

MOM systems facilitate asynchronous communication between distributed components by exchanging messages. A key feature of MOM is the use of message queues, which store messages until they are consumed.

  • Point-to-Point (P2P): In this model, messages are sent from a specific sender to a specific receiver. Once consumed, the message is typically removed from the queue.
  • Publish/Subscribe (Pub/Sub): Here, a publisher broadcasts messages to multiple subscribers. Subscribers can declare interest in specific message types, receiving only those that match their subscriptions.

Here are some popular messaging systems:

  • RabbitMQ: This versatile system supports both Point-to-Point and Publish/Subscribe messaging. RabbitMQ is well-suited for tasks requiring reliable message delivery in distributed systems and is known for its user-friendly interface.
  • ActiveMQ: ActiveMQ is a robust choice for asynchronous communication in distributed environments. It supports both P2P and Pub/Sub models and integrates seamlessly with other Apache projects, making it a popular option for enterprises with complex needs.
  • Apache Kafka: Primarily associated with Event-Driven Architecture, Kafka can also be used as a MOM. It's renowned for its ability to handle high-throughput, fault-tolerant, and durable event streaming, making it ideal for real-time data processing and analytics.

EDA centers around events as the primary communication mechanism between system components. Services interact by producing and consuming events that signify state changes or significant occurrences. These events are typically broadcast, allowing interested parties to react accordingly.

  • Event Sourcing: This pattern within EDA maintains a sequence of events to represent an application's state. Instead of storing the current state, the system logs events that led to it.
  • CQRS (Command Query Responsibility Segregation): This EDA-related pattern separates commands (write operations) and queries (read operations). Commands trigger state-changing events, while queries retrieve data from the system.

Examples of EDA Technologies

  • Apache Kafka: A highly scalable, distributed event streaming platform, Kafka excels in scenarios where events are central, such as real-time data processing, log aggregation, and event-driven microservices.
  • AWS Lambda: This serverless computing service operates on an event-driven model. Developers can execute code in response to events without managing servers. Changes in data on services like Amazon S3 or Amazon DynamoDB can trigger Lambda functions.
  • Apache Flink: A stream processing framework for big data analytics, Flink enables real-time data processing and event-driven responses. It's ideal for applications requiring low-latency processing of continuous data streams, such as fraud detection or monitoring.

Microservices Architecture for Scalability and Flexibility

In a microservices architecture, applications are broken down into smaller, independent services that can be developed, deployed, and scaled independently. This approach offers several advantages, including:

  • Scalability: Each microservice can be scaled independently, allowing for efficient resource allocation and improved performance.
  • Flexibility: Microservices can be easily replaced or updated without affecting the entire application.
  • Resilience: If one microservice fails, the others can continue to operate, ensuring high availability.
  • Innovation: Microservices enable teams to experiment with new technologies and approaches without disrupting the entire application.

Key considerations for designing microservices:

  • Domain-driven design: Break down the application into bounded contexts that align with business domains.
  • API design: Create clear and well-defined APIs for each microservice.
  • Data management: Decide how data will be managed and shared between microservices.
  • Deployment and orchestration: Choose a suitable deployment and orchestration platform.
  • Testing and monitoring: Implement effective testing and monitoring strategies.

Example of a microservices architecture in banking:

  • Customer management: A microservice responsible for managing customer information and preferences.
  • Account management: A microservice responsible for managing customer accounts and transactions.
  • Loan processing: A microservice responsible for processing loan applications and managing loan portfolios.
  • Fraud detection: A microservice responsible for detecting and preventing fraudulent activity.

By adopting a microservices architecture, banks can build more scalable, flexible, and resilient applications that can adapt to changing business needs and market conditions.

Enabling GenAI with Microservices and Kafka: A LangChain Perspective

Microservices, when coupled with Kafka, provide a powerful foundation for building real-time GenAI applications using LangChain. Here's how:

Data Ingestion and Streaming

  • Kafka as a Data Pipeline: Kafka can efficiently ingest and stream real-time data from various sources, such as customer interactions, market data, and historical records. This data is essential for training and fine-tuning GenAI models.
  • Data Enrichment: Microservices can preprocess and enrich the incoming data, making it suitable for GenAI tasks. For example, a microservice might extract relevant entities, perform sentiment analysis, or normalize text.

Model Training and Serving

  • Distributed Model Training: Microservices can distribute the workload of training large language models (LLMs) across multiple nodes, accelerating the process.
  • Model Serving: Once trained, LLMs can be deployed as microservices, allowing for flexible scaling and efficient resource utilization.
  • Real-time Inference: Kafka can stream user queries to the LLM microservice, enabling real-time generation of responses.

Integration with LangChain & LangGraph

  • Modular Architecture: LangChain's modular design aligns well with a microservices architecture. Components like chains, modules, and prompts can be implemented as individual microservices.
  • Data Access: Microservices can provide access to data stored in Kafka or other data sources, allowing LangChain to retrieve relevant information for generating responses.
  • Asynchronous Processing: Kafka can be used to queue requests for the LLM microservice, enabling asynchronous processing and improving scalability.

Example Use Case: Personalized Financial Recommendations

  • Data Ingestion: A microservice ingests customer data, transaction history, and market data into Kafka.
  • Data Enrichment: Another microservice extracts relevant entities and performs sentiment analysis on the data.
  • Model Training: A microservice fine-tune an LLM on a large dataset of financial documents and customer interactions.
  • Model Serving: The fine-tuned LLM is deployed as a microservice.
  • Personalized Recommendations: When a user queries the system, the microservice sends the query to the LLM via Kafka. The LLM generates a personalized financial recommendation based on the user's data and the current market conditions.

Combining LangChain, LangGraph, Spring Boot, and Kafka for Personalized Recommendations (Sample Code)

Understanding the Components:

  • LangChain: A framework for building applications powered by LLMs.
  • LangGraph: A knowledge graph framework for representing and reasoning over knowledge.
  • Spring Boot: A popular Java framework for building microservices.
  • Kafka: A distributed streaming platform for real-time data processing.
Scenario: Recommending a Term Deposit

We'll create a microservice that:

  1. Consumes customer data from Kafka.
  2. Uses LangGraph to analyze the customer's financial profile.
  3. Uses LangChain to generate a personalized recommendation based on the analysis.
  4. Publishes the recommendation back to Kafka so microfrontend picks it up.
  • Spring Boot Microservice Setup
@SpringBootApplication public class RecommendationServiceApplication { public static void main(String[] args) { SpringApplication.run(RecommendationServiceApplication.class, args); } }
  • Kafka Consumer Configuration
@Configuration public class KafkaConsumerConfig { @Bean public ConsumerFactory consumerFactory() { // ... Kafka consumer configuration } @Bean public ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory() { // ... Kafka listener configuration } }
  • LangChain and LangGraph Integration
@Service public class RecommendationService { private final LangChain langChain; private final LangGraph langGraph; @Autowired public RecommendationService(LangChain langChain, LangGraph langGraph) { this.langChain = langChain; this.langGraph = langGraph; } public void processCustomerData(CustomerData customerData) { // Use LangGraph to analyze customer data KnowledgeGraph knowledgeGraph = langGraph.buildGraph(customerData); // Use LangChain to generate a recommendation Prompt prompt = Prompt.build("Recommend a term deposit for a customer with the following profile: {}", knowledgeGraph); String recommendation = langChain.generateText(prompt); // Publish recommendation to Kafka // ... Kafka producer code } }
  • Kafka Listener
@Component public class KafkaListener { @Autowired private RecommendationService recommendationService; @KafkaListener(topics = "customer-data") public void consumeCustomerData(CustomerData customerData) { recommendationService.processCustomerData(customerData); } }
  • The Spring Boot application sets up the microservice.
  • The Kafka consumer configuration defines how the microservice consumes data from the "customer-data" topic.
  • The RecommendationService uses LangChain and LangGraph to process customer data and generate recommendations.
  • The Kafka listener consumes customer data from the "customer-data" topic and passes it to the RecommendationService.

The Optimal Approach to AI Implementation

AI: The Catalyst, Not the Product

Contrary to popular belief, AI isn't the end product itself. It's the catalyst that enhances existing products and services.

Before embarking on any AI project, a clear understanding of its business impact is paramount. Line-of-business stakeholders should articulate the tangible benefits they seek by asking:

  • Problem: What specific business challenge are we trying to address?
  • Consumer: Who will primarily benefit from this AI technology?
  • Process: Into which business process will this AI technique be integrated?
  • Measurement: How will we measure the impact of AI compared to traditional methods?
  • Value: How will we monitor and maintain the value provided by AI, and who is responsible?
  • Expertise: Which subject-matter experts from our business can guide the AI solution's development?

Introducing AI within any organization, regardless of size, can be achieved through these five steps:

  1. Use Case Portfolio: Develop a collection of impactful, measurable, and swiftly solvable use cases.
  2. Talent Acquisition: Assemble a team with skills relevant to the chosen use cases.
  3. Data Gathering: Collect the necessary data for the selected use cases.
  4. Technology Selection: Choose AI techniques aligned with the use cases, skills, and data.
  5. Organizational Structure: Establish a framework for expertise and accumulated AI knowledge.

A Banking Example: Implementing AI for Customer Churn Prediction

Step 1: Use Cases

  • Identify a pressing business problem: Customer churn is a significant issue for banks, leading to lost revenue and increased acquisition costs.
  • Define measurable objectives: Reduce customer churn rate by 10% within the next year.

Step 2: Skills

  • Data scientists: To analyze customer data and build predictive models.
  • Machine learning engineers: To deploy and manage AI models.
  • Business analysts: To understand customer behavior and identify key drivers of churn.

Step 3: Data

  • Customer data: Demographic information, transaction history, product usage, and customer service interactions.
  • Market data: Economic indicators, competitive landscape, and industry trends.

Step 4: Technology

  • Machine learning algorithms: Random forest, gradient boosting, or neural networks for building predictive models.
  • Cloud-based platforms: AWS, Azure, or GCP for deploying and managing AI models.

Step 5: Organization

  • Create a dedicated AI team: Assemble a team of data scientists, machine learning engineers, and business analysts.
  • Foster a data-driven culture: Encourage data-driven decision-making throughout the organization.

A Taxonomy of AI Techniques

Today, three primary categories of techniques underpin the majority of AI applications. These categories are distinct, representing disparate approaches and methodologies that are robust and mature:

  • Probabilistic Reasoning: Often categorized as machine learning, these techniques extract value from extensive enterprise data. They uncover hidden patterns and correlations within data, aiding in tasks like customer churn prediction.
  • Computational Logic: Referred to as rule-based systems, these techniques leverage an organization's explicit and implicit knowledge. They capture known information in a structured format, often as rules, ensuring consistency and coherence.
  • Optimization Techniques: Traditionally employed in operations research, these techniques maximize benefits while managing trade-offs. They identify optimal resource combinations within constraints, often generating actionable plans.

Below the mature techniques lie three emerging categories:

  • Natural Language Processing (NLP): NLP facilitates intuitive human-system communication. It involves computational linguistic techniques for recognizing, parsing, interpreting, tagging, translating, and generating natural languages.
  • Knowledge Representation: Techniques like knowledge graphs and semantic networks enhance data access and analysis. They offer intuitive representations for specific problems, aiding in tasks like relationship mapping and process optimization.
  • Agent-Based Computing: While the least mature, agent-based computing is gaining traction. Software agents are persistent, autonomous programs that act on behalf of users. Chatbots are a common example. Agent-based techniques often require orchestration principles to manage the collective behavior of distributed and autonomous systems.

The broader AI framework encompasses more than just these techniques. Perception and ambient intelligence systems capture various data types, providing context and precision for analysis. Smart process automation and smart robotics apply AI techniques for adaptive and complex coordination, including feedback processing and learning.

A Banking Example: Implementing AI for Personalized Recommendations

Probabilistic Reasoning:

  • Customer Churn Prediction: Use machine learning algorithms to identify customers at risk of churning based on their behavior, demographics, and product usage.
  • Personalized Product Recommendations: Recommend products and services tailored to individual customer preferences and needs using collaborative filtering or content-based recommendation techniques.

Computational Logic:

  • Fraud Detection: Implement rule-based systems to detect unusual patterns in customer behavior and transactions that may indicate fraudulent activity.
  • Compliance Management: Use rule-based systems to ensure compliance with regulatory requirements and internal policies.

Optimization Techniques:

  • Portfolio Optimization: Optimize investment portfolios to maximize returns while minimizing risk using optimization algorithms.
  • Resource Allocation: Allocate resources efficiently to branches, ATMs, and call centers using optimization techniques to improve operational efficiency.

Natural Language Processing:

  • Chatbots: Develop AI-powered chatbots to provide customer support and answer queries in a natural language interface.
  • Sentiment Analysis: Analyze customer feedback and social media sentiment to identify areas for improvement and enhance customer satisfaction.

Knowledge Representation:

  • Entity Relationship Diagrams: Create knowledge graphs to represent relationships between entities such as customers, products, and transactions.
  • Recommendation Systems: Use knowledge graphs to recommend products and services based on customer preferences and relationships between entities.

Agent-Based Computing:

  • Autonomous Agents: Develop autonomous agents to automate tasks such as account opening, equity research, loan processing, and fraud investigation.
  • Simulation Models: Use agent-based models to simulate customer behavior and test different strategies for improving customer experience and profitability.

Boost Agility with a Domain-Centric Data Mesh or Data Fabric Architecture

As you shift towards a domain-centric approach for data management to foster common standards and agility across your deployments, consider exploring data mesh or data fabric architectures. In certain scenarios, combining these approaches can simplify data management and access to data products.

A data mesh is domain-driven, emphasizing a "data-as-a-product" mindset and decentralized data ownership. Distributed teams manage their respective data, shifting the responsibility of data integration and cleansing away from a central data engineering team. However, a data mesh can still leverage centralized data infrastructure and common standards as part of the shared governance supported by a data fabric.

The data fabric pattern relies on metadata to automate specific data management tasks, such as cataloging data assets and publishing data products to a catalog. This automation facilitates broader search and reporting capabilities.

A Banking Example: Implementing a Data Mesh or Data Fabric Architecture

Domain-Centric Approach:

  • Define Domains: Identify key business domains within the bank, such as customer, product, risk, and finance.
  • Establish Data Ownership: Assign ownership of data to the respective domains, empowering them to manage and govern their data.

Data Mesh:

  • Data Products: Create data products that encapsulate data and associated metadata (e.g., lineage, quality, governance rules).
  • Data Marketplace: Establish a marketplace where data products can be discovered, shared, and consumed by other domains.
  • Data Integration: Implement mechanisms for integrating data from different domains using APIs or data pipelines.

Data Fabric:

  • Metadata Management: Use metadata to catalog data assets, define data quality standards, and enforce governance policies.
  • Data Virtualization: Create virtual views of data across different systems to simplify data access and analysis.
  • Data Governance: Implement a centralized framework for managing data governance, ensuring data quality, security, and compliance.

Benefits:

  • Increased Agility: Empowers domains to manage their data independently, accelerating time-to-market for new products and services.
  • Improved Data Quality: Enforces data quality standards and promotes data governance across the organization.
  • Enhanced Data Access: Provides a centralized data marketplace for easy discovery and consumption of data products.
  • Reduced Costs: Optimizes data management processes and reduces the burden on central data engineering teams.

Future-Proofing Data Management with Open Source and Strategic Cloud Partnerships

Leveraging open source and open standards can significantly future-proof your data management investments. In the digital economy, open source is the predominant software model for innovation. Many organizations are adopting open-source standards as an alternative to proprietary software, seeking to avoid vendor lock-in.

Open source offers access to a broader pool of innovative talent and accelerates software feature adoption through public repositories. It's widely used in mission-critical solutions like database management systems, DevSecOps, DataOps, MLOps, and analytics platforms. Additionally, open source empowers organizations to choose between self-support, commercial support, or managed cloud services.

Leaders must effectively deploy, integrate, and manage AI models within enterprise applications across diverse environments. The discrepancy between data model development and operations, coupled with siloed DataOps and MLOps, presents significant challenges in addressing data and concept drift. To overcome these challenges, consider leveraging DataOps for managing data pipelines, MLOps or ModelOps for building a robust machine learning and CI/CD pipeline, and DevSecOps best practices for managing the deployment and endpoint services of all analytical, ML, and AI models.

PlatformOps for AI is an operationalization framework at the platform level (data-to-delivery) that facilitates building and delivering AI-based systems. By incorporating DataOps, MLOps, ModelOps, and DevOps best practices, PlatformOps for AI helps ensure the security and governance of end-to-end AI platforms. This framework fosters alignment between data, AI, and ML model deployment pipelines, as illustrated in below.

A Banking Example: Implementing Platform Ops for AI

DataOps:

  • Data Pipeline Management: Develop and maintain data pipelines to extract, transform, and load data from various sources (e.g., core banking systems, customer data, market data).
  • Data Quality: Implement data quality checks and remediation processes to ensure data accuracy and consistency.
  • Data Governance: Establish data governance policies and procedures to protect sensitive customer data and comply with regulations.

MLOps/ModelOps:

  • Model Development: Train and deploy machine learning models for tasks such as customer churn prediction, fraud detection, and personalized recommendations.
  • Model Lifecycle Management: Manage the entire lifecycle of ML models, including version control, deployment, monitoring, and retraining.
  • Model Experimentation: Conduct experiments to evaluate different models and hyperparameters to optimize performance.

DevOps:

  • Deployment Services: Deploy and manage AI models as microservices or APIs.
  • Endpoint Management: Manage endpoints for accessing AI models and providing services to information portals.
  • User Experience Configuration: Configure user interfaces for interacting with AI-powered applications.

Platform Ops for AI:

  • Orchestration: Coordinate the flow of data, models, and services across the platform.
  • Governance: Ensure compliance with security, privacy, and governance regulations.
  • Monitoring: Monitor the performance of AI models and data pipelines to identify issues and optimize performance.

Example Use Case: Personalized Loan Recommendations

  • DataOps: Ingest and preprocess customer data, transaction history, and market data.
  • MLOps: Train a machine learning model to predict the likelihood of a customer defaulting on a loan.
  • DevOps: Deploy the model as a microservice and integrate it into the bank's loan origination system.
  • Platform Ops: Orchestrate the flow of data and models, ensure security and compliance, and monitor the performance of the loan recommendation system.

To succeed with open source, prioritize its strategic importance within your business, implement effective governance policies, and communicate its value to stakeholders. An organization-wide approach, involving leadership from various departments, is essential for successful open-source initiatives.

Another strategy for future-proofing your data management infrastructure is to view your public cloud providers as strategic partners. Given the proprietary nature of their data-related PaaS services, a vendor-neutral approach with public cloud platforms is impractical. Therefore, select a leading cloud platform—one that is highly reliable and innovative—as your strategic platform.

Organizations often standardize on one primary cloud vendor for most operational, analytics, and data-centric solutions. To avoid over-reliance on a single platform, consider using a second or third cloud provider for a limited number of unrelated solutions and workloads.

Summary

This blog post has explored the concept of real-time GenAI in the context of platform banking. We have discussed the key components of a real-time GenAI platform, including Kafka, microservices, microfrontends, and AI models. We have also explored the challenges and opportunities associated with building and deploying such platforms.

Key takeaways from this blog post:

  • Real-time GenAI can provide significant value to banks by enabling personalized, AI-driven experiences.
  • Kafka is a powerful tool for handling real-time data streams in a banking context.
  • Microservices architecture offers scalability, flexibility, and resilience.
  • Microfrontends can be used to create personalized and interactive user interfaces.
  • Building a real-time GenAI platform requires careful consideration of data quality, model selection, and integration with existing systems.

Conclusion

The future of banking is increasingly tied to the adoption of advanced technologies such as real-time GenAI. By leveraging the power of Kafka, microservices, microfrontends, and AI models, banks can create innovative and personalized experiences that meet the evolving needs of their customers.

As the technology landscape continues to evolve, it is essential for banks to stay informed about the latest trends and best practices in real-time GenAI. By investing in this technology, banks can position themselves for long-term success in the competitive banking industry.