These days the most important part of any online consumer lending platform is the borrower experience (borrower funnel in online marketing parlance). Money is everywhere; every institutional investor is begging some online platform to take their money. Most of the online platforms will never be able to meet investor demand.
The next series of posts are going to cover the building blocks to a borrower funnel experience (mostly just the backend system - I'm not much of a front end engineer). I'm going to skip over a couple of key elements in the effort to keep this simple - authentication / authorization will be left off, identity and other verification mechanisms will be avoided and I won't go over all the different types of data sources that could be used in the credit engine.
Without further ado -
This is our architecture diagram I will be following. The next series of posts will dive into each system, talk about some of the tradeoffs, and we'll write some code:
RESTful Orchestration Layer - Handles input from various channels (Mobile, Tablet, SPA's), basic data cleansing and coordinates between back office systems
User Service - Creates / Manages Users. Users include things like Name, Address, Email, Contact Information, Employment data and Salary information.
Credit / Offer Service - You'll notice this takes input from numerous other services, credit data, prior loan history from the loan service, referral service for partnership / marketing pricing, and the user service for employment and salary information
Account Service - Information pertaining to user bank accounts
Listing Service - the core of the online lending marketplace is putting up listings that investors can invest in. Note, if you were an institution building this platform to self-fund, you still might want a "Listing Service" that associates all the disparate pieces of data that go into a Loan.
Finally we have four services that really service the higher level services. I won't spend too much time explaining these in the future:
Referral Service - Used for referral information for partner pricing, special discounts, etc.
Credit Data Provider - A wrapper service around an external data provider such as Experian or TransUnion.
Loan Service - System of record for past loans for each user. This is important for two reasons, 1. When the process is finished, we want to create a loan for the user, and 2. When running users through our risk model, we want to take advantage of their loan history on the platform
Adverse Action Service - Welcome to regulation! FCRA - Fair Credit Reporting Act, requires specific form letters to consumers who are denied credit based on their credit data.
Next time - laying out the flow of our funnel to set us up for our RESTful Orchestration layer.