Lending with Rong360: A User and Product Analysis

The skills I demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.

Introduction

Rong360 is a fintech website designed to fill a gap in the lending market by matching lenders with borrowers seeking small loans. It seeks to streamline the application process and provide more loan options to borrowers, while collecting borrower information and increasing the customer base to lenders. We found two main insights: loan products could be divided into three segments (which we call gold, silver, and bronze); and user platform activity data on Rong360 may reduce applicant risk and lead to higher approval rates.

The code can be found here.

Data Description

The data came in 4 tables: loan product data, user application data, user web data, and order data. The loan product data contains information on all of the loans available on Rong360.com (48, 433), including the city, loan term, and which personal information is needed in order to apply. The user application data contains information on all applications submitted by users, including users’ personal information, as well as loan information, like the type of loan and amount sought (1,506,097 x 89). User web data records users’ page views on Rong360 (238958 x 12), including the front page, FAQ, and other pages. The order data is the basic record of loan applications and approval result (143152, 6). In all these tables, some of the information was encoded. Consequently, the meanings of categories were obfuscated, making the data somewhat difficult to interpret. There were also inconsistencies across various banks with respect to which information they request and how it’s recorded.

Data Cleaning

Product Data

Only two features of the product data contained missing values: the binary early repayment and penalty features. Nearly a third (45976) of the orders were missing early repayment information. All those orders were also missing penalty information. A few (378) were only missing penalty information. To impute these values, I looked at the contingency of missingness on the acceptance rate of the loan, shown in the table below. The rate of approval for the loans with missing values was significantly lower than for loans containing those values -- whether 0 or 1. Therefore to impute those values I simply decided to create a new category.

User Data

When we have more user data (PV’s etc) the general loan approval rate increases. This should motivate lenders to encourage their applicants to utilize the Rong360 platform. 

Quality Data

The Quality dataset contained all the users’ loan application data. We combined this data set with the result to find which applications were ultimately approved for a loan and then strove to find factors that approved applications had in common. 

There were as many as 89 fields of information in the application data. Most banks required far less information in their loan applications, which resulted in missing values in many of these fields. We concentrated on the most commonly desired applicant information. It includes information about the loan being sought (i.e. loan amount, loan term) and about the applicant (i.e. whether the user has a car, length of user’s employment). Although some of this user data is encoded, we were able to find approval patterns through simple visualizations. 

User Data and Loan Approval Rates

In the above screenshot of the front page of Rong360’s website, we can see that users are asked to fill in their professional identity as part of the first step of searching for loans. In the visualization below, it is clear that one career type has a much higher approval rate than the rest. 

The bar plots below visualize loan approval rates for the most commonly provided application information. We can see in the left plot that users who have social security are approved more often than those without. Another facet of the data was called “spam score,” a metric generated by Rong360 to estimate how likely a user is to be a bot. A lower spam score indicates a greater probability the application is a genuine submission. As would be expected, a lower spam score corresponds with a higher loan approval rate.

Our visualizations were especially important because the data was encoded. There are deeper patterns, however, that are more difficult to reveal. We were most interested in which aspects of a loan application had the biggest impact on its approval. We attempted to use chi squared tests to determine if there were significant differences in approval rates between different categories of users, which would confirm the relationships implied in our visualizations and possibly reveal others. Our data set was so large, however, that even small differences were returning a statistically significant p-value. 

Feature Importance

Ultimately, we used a random forest to get a sense of feature importance, in other words, which parts of a user’s application were most influential in determining their application approval or rejection. We ran a grid search across several parameters.  Our best estimator had a training error of 0.14149 and a test error of 0.17155, which indicates to us it was overfitting the data far less than the preliminary decision trees and random forests we trained. Below are the various application components ranked by importance. 

We used a similar process to understand the impact of user behavior on the Rong360 website. Notice that a user’s page views were important in influencing the result of their loan approval. In other words, users’ activity on Rong360 can contribute to their overall risk profile and affect their likelihood of being approved for a loan. The ranked feature importance of user behavior collected by Rong360 is visualized below.

The Loan Landscape

K-Means Clustering

Which loan products are most popular? Why are they applied to so often? In order to answer these questions, we chose to cluster the loan products to see if there are any particular similarities between certain products. Clustering algorithms are especially prone to dimensionality issues, so we narrowed them down using a random forest regression on the number of applications. Below is a plot of the feature importances obtained from a simple grid search. For the clustering, we used the top 15 most important features, along with the application counts. This was done with a simple k-means algorithm on the scaled features - the elbow plot is shown below. While not the sharpest elbow, there appears to be a small one at k=3 groups. Therefore, we chose 3 clusters for our analysis.

To get an idea of the three product groups obtained, we look at boxplots of the continuous features. We see that the Bronze and Silver groups have similar distributions for many of these features, while Gold tends to differ. Gold loans are bigger loans, as seen by the loan amount and loan quotas, and so have a longer loan duration and longer decision cycle. The Silver and Bronze groups differ in application counts, number of lenders, and decision cycle, with Bronze being more popular and with a shorter decision cycle and fewer lenders.

Bar Plots

Looking at bar plots of the categorical variables helps illustrate further the difference between the Silver and Bronze groups. In the top left plot is the proportions of the loan results: 1 means it was accepted, and 0 means not accepted. We can see that the Gold group has the lowest acceptance rate, which makes sense since those loans are larger. The Bronze group also has a low acceptance rate, while the Silver group has a high acceptance rate. The other bar plots describe different features of the loan: 1 means the loan application requires ID, house registration, business license, etc., while 0 means those features are not required. Here is where the difference between Silver and Bronze are really seen. Bronze loans do not have any of these requirements. In contrast,  Silver loans require an ID, bank statement, proof of income, or utility bills. This explains why the Bronze loans have high application counts and a lower acceptance rate: they are easier to apply to and have fewer requirements. Gold loans also have requirements, and in some cases more so than the Silver loans, as they may include marriage certificates, house registrations, and proof of income.

Principal Component Analysis​​​

To further get an idea of these groups, we did a principal components analysis. The results are shown below with the left plot showing the data points along the two main principal components. The colors indicate the group assignment from the k-means clustering. Along the first  principal component (the x-axis), we see two distinct clusters of points. The right smaller cluster is primarily assigned to the Bronze group. We can see how this principal component distinguishes between loans with a lot of requirements on the left and loans with fewer requirements on the right. Along the second principal component (y-axis) we see the division between the Silver and Gold groups in the large left cluster of points. This indicates that this component divides the points by the size of the loan, as that is the primary difference between those two groups. The right plot includes a third principle component, which shows a bit more of the shape of the clusters. However, we can see that the clustering is mostly described by the two largest principal components. This makes sense for 3 clusters; however, the first two components explain 17.4% and 8.8% of the variance in the data, so there is still 73.8% of the variance unexplained by these two components.

 

Conclusions

Our analysis has indicated promising avenues of further research, most notably a time series analysis of loan applications on the website. The date of loan application is an important factor in approval rates. See the visualization below for how approval proportions change over time. The dates are encoded, so we cannot contextualize the observed drop in approval rate in any cultural or financial events. Even without context, however, there are still important questions to investigate from the perspective of timing of loan applications. 

Our analysis allows us to make recommendations for the users of Rong360. For individuals and businesses using the platform to seek loans, it is important to keep in mind that their use of the website may affect their loan approval rate. Those who struggle to secure a loan through traditional routes may find themselves having more success approaching the process through Rong360, which crafts a more holistic risk profile for its users. Applicants may also use our analysis to find the appropriate tier of loan they are likely to secure. For banks who offer their loan products on the Rong360 platform, we advise them to understand to which tier of loan their products belong. For banks with many Silver - level loans, we recommend they reduce the information required for their loan applications, as we see there is much interest in Silver loans, yet ultimately not many applications are filed. Connecting customers with as many appropriate loan products as possible is beneficial for both parties on Rong360.

Further avenues of research

  • Digging deeper into the effect of location on loan approval
  • Feature engineering a loan approval rate per bank, seeing how # of bank branches correlates with loan approval rate
  • Digging deeper into a time series analysis
  • Gaining more insight into the makeup of the clusters, use product types to further cluster users.

About Authors

Jennifer Ruddock

A physical chemist by training, my Ph.D. involved analyzing 100+ Tb datasets using Python. I fell in love with the world of data and chose to pursue data science by getting certified with the NYC Data Science Academy,...
View all posts by Jennifer Ruddock >

Lilliana Nishihira

A NY native exploring intersections of data, arts, business, and humanitarianism. I have my Bachelor's in Mathematics from Clark University. With a background in Digital Media, I am particularly interested in the way data describes behavior. I often...
View all posts by Lilliana Nishihira >

Leave a Comment

No comments found.

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI