Advancing Performance in Complex Transaction Flows
A Journey of Innovation
By: Varun Monga, Director of Software Engineering, Chase
We are constantly working to enhance customer experiences and provide updates that can make it easier for customers to get more done quickly, efficiently and in a way that delivers valuable insights on their accounts and financial health.
Recently, Chase introduced a new customer experience packed with features designed to simplify transaction identification and search capabilities for customers. These features allow users to seamlessly switch between accounts, search multiple accounts for transactions, enrich transactions with merchant logos and client names, utilize natural language search, and view transactions from multiple accounts.
Our goal is to make these activities more intuitive for customers, but to make it simple we had to navigate a few hurdles. The sheer volume of transactions our systems handle is staggering — approximately 75 billion transactions over the past two years across our card and deposit products. Coupled with the complexity of operations, such as searching for transactions across all accounts within the last two years, this poses significant technical challenges. For example, fetching transactions for a specific merchant across millions of accounts and enriching them with merchant information must be executed with lightning speed — often within less than 100 milliseconds. Meeting such stringent performance requirements ensures seamless user experiences and operational efficiency.
As we delved deeper into the technical intricacies, we also encountered complexities in processing these operations. Initially, during the proof-of-concept phase each operation was averaging close to 1.08 seconds based on the time it took to access our mainframe systems, where transaction processing occurs, and retrieve transactions in batches due to payload size restrictions. Subsequently, these transactions needed to be aggregated, enriched and filtered based on specific criteria, demanding considerable resources and time.
We implemented a series of strategic optimizations and innovative approaches to get us to our desired speed:
- Streamlined Transaction Retrieval: We focused on obtaining a real-time stream of transactions from the mainframe as events occur. These transactions are then stored in a local database optimized for handling large volumes of data. By properly modeling and tuning the database, transactions can be accessed quickly and efficiently with a single call.
- Pre-fetch Transactions: Behind the scenes, a process pre-fetches all transactions from the read store when a customer logs in to the Chase Mobile® app or views their account information. These transactions are then stored in a local cache, allowing subsequent queries in search operations to hit the cache for significantly faster response times. This optimization greatly enhances efficiency and reduces operation times.
- Static Enrichment Caching: We ensured quick access to static enrichment information, such as merchant logos, by caching this data.
- Proximity Intelligence for Reduced Network Latency: In today’s microservice ecosystem, multiple services are involved in the end-to-end journey of the flows. By adding proximity intelligence — which strategically optimizes the physical and logical placement of services and network components to minimize the distance and time it takes for data to travel — we successfully reduced network latency to further enhance performance and user satisfaction. This approach ensures faster data exchange, leading to improved system performance and responsiveness.
- Enhancing Infrastructure for Scalability and Resilience: As transaction volumes grow, our infrastructure automatically scales compute capacity and memory resources to accommodate increasing demand while maintaining high performance and resiliency. Our data models are crafted with a dynamic partitioning strategy, enabling sustained performance even as transaction volume expands.
- Continuous Monitoring and Optimization: We employed a robust monitoring system to continuously track system performance and identify areas for optimization. This proactive approach allows us to stay ahead of potential performance issues and implement necessary adjustments in real time.
- User Feedback Integration: Chase actively solicits feedback from users to identify pain points and areas for improvement in the transaction flow experience. This feedback is incorporated into ongoing optimization efforts to ensure customer needs are met effectively.
These strategic optimizations have helped customers search transactions easier and more efficiently, with backend response times now averaging below 100 milliseconds. However, it’s important to note that individual experiences may vary due to factors such as network latency and proximity as well as their devices’ capabilities.
Behind the Scenes: Our Teams Driving Innovation
As we reflect on the strides we have made and the challenges overcome, we are reminded of the importance of persistence, creativity and collaboration in driving meaningful changes. Our success can be attributed to a robust model that integrates four key teams: Product, Technology, Design, and Data & Analytics.
For example, our Product teams worked tirelessly on improvements to our transaction processing system by defining user requirements and ensuring the features met customer needs. Technology experts optimized our infrastructure, implementing real-time transaction streaming and local caching to handle massive data volumes efficiently. Design professionals crafted an intuitive user interface that allows seamless navigation and search across multiple accounts. Meanwhile, Data & Analytics specialists provided insights through continuous monitoring and user feedback integration, allowing us to refine and enhance the system dynamically.
This collaborative effort among these four disciplines ensures our solutions are innovative, user-friendly and high performing. The model exemplifies our commitment to a comprehensive and collaborative approach, ultimately driving meaningful changes that enhance our customers’ experiences.
Stay tuned for more updates, insights, and success stories as we continue to push the boundaries of what’s possible in digital banking.
Like what you’re reading? Check out all our opportunities in tech here.
JPMorgan Chase is an Equal Opportunity Employer, including Disability/Veterans
For Informational/Educational Purposes Only: The opinions expressed in this article may differ from other employees and departments of JPMorgan Chase & Co. Opinions and strategies described may not be appropriate for everyone and are not intended as specific advice/recommendation for any individual. You should carefully consider your needs and objectives before making any decisions and consult the appropriate professional(s). Outlooks and past performance are not guarantees of future results.
Any mentions of third-party trademarks, brand names, products and services are for referential purposes only and any mention thereof is not meant to imply any sponsorship, endorsement, or affiliation.