Matrix Manager
Product: Pricing tool for banks to create complex pricing matrices for loans based on credit score, location, payment term, etc.
Platform: Web
Design Task: Digitally transform pricing matrices from Excel spreadsheets into a web-based experience
Results: Complete web-based experience to create and manage pricing matrices, extracting complexity by building segments individually and combining them programmatically
Learning point: Understanding how a design scales is a key factor in how to design complex workflows
The Problem
The primary business of a bank is lending money to customers with interest. Banks must make sure their interest rates are competitive with the market and coincide with their business strategy. In order to price these loan products so precisely, there are many levels and layers of pricing to manage and update so that the bank is optimizing both their volume and profitability. This pricing process is something banks have been doing for decades. Unfortunately it is a manual process that is mostly done in excel. We need to create an experience for pricing analysts to create robust pricing matrices.
The Process
To build a solution, we first need to understand what makes up a pricing matrix. In talking with pricing analysts, we distilled the pieces of a pricing matrix down to these 3 things: products, dimensions, rate values.
Products: These are the loan products that are contained in the pricing matrix. By having similar products in a matrix, we allow the bank’s business units to own their matrix, not PART of a matrix.
Dimensions: These are the ways that the pricing analyst will build layering within the pricing matrix, based on where the customer falls in these pricing dimensions, we can determine their loan rate. Examples include loan amount, credit score, state of residence, etc.
Rate Values: These are the actual interest rates that are assigned to a unique combination of dimensions for any given user.
Examples:
Customer 1: Mortage Product, Loan Amount = $200,000, Credit Score = 720 — Rate: 3.2%
Customer 2: Car Loan, Loan Amount = $21,000, Credit Score = 670 — Rate: 3.6%
These are very simple examples (often pricing policies have over 10 dimensions) but demonstrate how a customers attributes are broken down to find the rate that is correct for their need.
These policies can get very big - let’s do some quick math. If you have a matrix with 10 loan amount ranges, 5 credit score ranges, 2 customer statuses, 4 product groupings, and 5 regions — that is 10 x 5 x 2 x 4 x 5 = 2000 unique combinations!!!
THAT is what we want to make a great user experience for - creating a large pricing matrix that is 2000 rows or more!
The Solution
To simplify the creation of these massive tables, we extrapolated the pieces and built the product so that the user can build each dimension separately, with built in logic, and the product runs the combinatorial logic in order to create the table. This allows the user to focus on each individual dimension instead of the pricing table as a whole.
There are two types of dimensions:
Continuous: Variables that can be measured on a number line (like credit score and loan amount) and will be grouped in ranges. For example, credit score bands of 600-660, 660-680, 680-700, and so on.
Discrete: Variables that will only ever be certain, pre-determined values from a known set. For example, regions in the US based on state groupings. There are 50 states and this is a finite set. The 50 state names are the only possible values
We created the Matrix Builder to allow the users to build the structure of these matrices from the ground up. The matrix builder is a workspace for users to create their ranges and groups from the dimensions. The dimensions are listed on the left in a vertical navigation to give the user visibility into their available dimensions and let them jump in easily. Some screens from the builder are detailed below.
Continuous Range Builder
The continuous range builder allows the user to create number line ranges quickly. There is built in logic to safe guard against gaps in the number line. We do not want any loan to slip through the cracks and not be covered by our pricing matrix.
Discrete Group Builder
The discrete group builder allows the user to create groups of discrete values. The mulitpicklist houses the discrete values and the user can select their values for a group and subsequently name that group for later reference. There is also the ability to group remaining values individually so that users do not have to exhaust the value list manually.
Pricing Home Page
The pricing home page allows the user to see a holistic view of what matrices they have created. This shows how many matrices they have, what products are housed in them, their active dates, as well as status. Users can interact with pricing matrices here as far as editing the matrix structure or values.