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.

This is about 25% of a banks pricing matrix for a handful of products. Some banks can have 300+ loan products to manage. These excel sheets become outrageous.

This is about 25% of a banks pricing matrix for a handful of products. Some banks can have 300+ loan products to manage. These excel sheets become outrageous.

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!

Initial whiteboarding to understand the process of creating a matrix

Initial whiteboarding to understand the process of creating a matrix

Laying out what the matrix analyst persona needs to be able to do with a matrix - create and edit

Laying out what the matrix analyst persona needs to be able to do with a matrix - create and edit

This graphic displays some brainstorming around how new verions of an existing matrix will be made. These matrices will need to be updated frequently so we need to allow for edits, track the edits, and view past versions for auditability reasons. The top left of this image shows the data structure of how our pricing policies are set up. This is crucial to understanding how versioning and cloning could work. This was a day 2 idea and not included in the initial buildout but was built in the subsequent release as an upgrade.

This graphic displays some brainstorming around how new verions of an existing matrix will be made. These matrices will need to be updated frequently so we need to allow for edits, track the edits, and view past versions for auditability reasons. The top left of this image shows the data structure of how our pricing policies are set up. This is crucial to understanding how versioning and cloning could work. This was a day 2 idea and not included in the initial buildout but was built in the subsequent release as an upgrade.

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.

12 PRICING2020 (1).png

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.

6 PRICING2020.png

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.

pricing_home copy.png