Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added article for loan-banking #58

Merged
merged 5 commits into from
Mar 7, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions blog/2022-03-03-loan-banking-using-conductor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
slug: loan-banking-using-conductor
title: Modern Loan Banking (Lending) Using Conductor
authors: orkes
tags: [Netflix Conductor, Orkes, Conductor, orchestration, 2022]
---

# Modern Loan Banking (Lending) Using Conductor

## Introduction

We got introduced to Conductor in the [Introduction](../docs/introduction) article.

Let's now try to understand how we can use Conductor to solve a Lending problem that exists in Banking and Fintech sector.

## Use Case / Problem

In this era of Fintech, bank customers are slowly moving from traditional banking to digital banking. Hence, in order to keep up with the customer demands various banks are trying to automate their banking processes and one among them is loan banking (lending) process to its customers.

Lending workflows can be very common and potential problem that can be solved by the conductor.

![](./assets/lending_meme_Medium.png)

#### Yes we are serious !!!!
#### JP Morgan Chase and American Express are already using conductor for their Banking needs !!!!

## Solution Using Conductor

Every Bank have their own set of rules in the area of Lending. This lending process is from Bank to the Customer, it depends on various factors that are evaluated and computed on details provided by the customer. On the basis of these details, banks measure the risk and offer loans to its customers on different parameters (for example - interest rate, tenure, EMIs, etc). This varies from Bank to Bank.

The complexities that banks go through behind the scenes to do the complex calculations, and on the top of that they have to maintain high level of security from potential threat, this all can be taken care by conductor.

#### Let's consider a simple workflow to understand how we can use features of Conductor in this Use Case :

This is an example of lending workflow in banks, there can be few complex tasks involved in this workflow.
For now, we have created a workflow with only the most obvious and neccessary tasks.

![](./assets/lending_flow.png)

The first task is `customer_details` , basic details (name, address, loan type,...) of the customer is fetched.

On the basis of loan type applied by the customer, `loan_type` a [switch-task](../docs/reference-docs/switch-task) makes decision of proceeding workflow.

#### If customer applies for education loan, the workflow looks like.

![](./assets/loanType_education.png)

The workflow proceeds with the tasks `education_details` and `education_details_verification`. (Workflow would have went the other two ways if `loanType : business` or `loanType : property` were provided to the `loan_type` switch task).

Education details of the customer are fetched in the task `education_details` and the details are verified in `education_details_verification` task.

Next up is calculating risk and this happens in the task `credit_score_risk` .

![](./assets/lending_credit_score_Medium.png)

There are various credit bureaus which release credit score for the customers on the basis of their credit history.
If the credit score of the customer is below average score, banks don't give loans to the customers.

The task `credit_score_risk` fetches data from one of the credit bureau and generates the result on the basis of credit score and other parameters.
Result can be - ` decision : possible` if it possible to give loan and ` decision : reject` if it not possible to give loan.
On the basis of result generated by `credit_score_risk` the [switch_task](../docs/reference-docs/switch-task.md) `credit_result` proceeds the workflow.

In the above diagram, the result generated is `decision : possible` hence, the workflow goes to the task `principal_interest_calculation` (if the result was `decision : reject` the flow would have went to the task `terminate_due_to_bank_rejection` which is a terminate task).

In the task `principal_interest_calculation` the amount, duration, interest and other banking computations are done and in the next step `loan_offered_to_the_customer` details of the loan are sent to the customer and then the customer has to either accept it or reject it.

![](./assets/loan_transfer_Medium.png)

Whatever the Customer decision, on the basis of it the `customer_decision` a [(switch-task)](../docs/reference-docs/switch-task) takes decision of proceeding the workflow. If Customer rejects, the workflow proceeds to the `terminate_due_to_customer_rejection)` a [(terminate-task)](../docs/reference-docs/terminate-task) and the workflow ends. If Customer accepts the loan offered by bank the workflow goes in the direction as shown in the above figure. And in the task `loan_transfer_to_customer_account` money is transferred to the customer's account and workflow ends.


## Workflow after successful execution

![](./assets/lending_flow_successful.png)

![](./assets/lending_meme_finish.jpg)

## Thank You For Reading !!


Binary file added blog/assets/lending_credit_score_Medium.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/assets/lending_flow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/assets/lending_flow_successful.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/assets/lending_loan_transfer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/assets/lending_meme_Medium.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/assets/lending_meme_finish.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/assets/loan-banking-workflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/assets/loanType_education.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/assets/loan_transfer_Medium.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.