Project 1: Analysis of Lending Club's data

Posted on Nov 3, 2015

Contributed by Jean-Francois Darre. Jean took NYC Data Science Academy 12 week full time Data Science Bootcamp program between Sept 23 to Dec 18, 2015. The post was based on his first class project(due at 2nd week of the program).

 

Check out the full report here! You will find all the details of the code behind the analysis and the visualisations.

Lending club:

For this project, we wish to present and explore the data provided by Lending Club. Lending Club (LC) is a peer-to-peer online lending platform. It is the world’s largest marketplace connecting borrowers and investors, where consumers and small business owners lower the cost of their credit and enjoy a better experience than traditional bank lending, and investors earn attractive risk-adjusted returns.

How it works:

  1. Customers interested in a loan complete a simple application at LendingClub.com
  2. LC leverage online data and technology to quickly assess risk, determine a credit rating and assign appropriate interest rates.
  3. Qualified applicants receive offers in just minutes and can evaluate loan options with no impact to their credit score
  4. Investors ranging from individuals to institutions select loans in which to invest and can earn monthly returns

The entire process is online, using technology to lower the cost of credit and pass the savings back in the form of lower rates for borrowers and solid returns for investors. Here is the link to more details about LC.

Goal of the project:

We will present and explore the data provided by LC. This data was made available to us after the creation of an investor account. The data consists in 4 files updated every quarter on the same day as the quarterly results of the company are released. They contain information on almost all the loans issued by LC. The only loans missing from these files are the few loans where LC was not authorized to release publicly the details of the transactions.

The information available for each loan consists of all the details of the loans at the time of their issuance as well as more information relative to the latest status of loan such as how much principal has been paid so far, how much interest, if the loan was fully paid or defaulted, or if the borrower is late on payments etc.

First look at the data, exploratory research:

LOAN ISSUED GROUPED BY FICO SCORES<br>(Hover for breakdown) (18) LOAN ISSUED GROUPED BY GRADES<br>(Hover for breakdown) (17) QUATERLY LOAN ISSUANCE (36) TOTAL LOAN AMOUNT ISSUED THOUGH LC<BR>(HOVER FOR BREAKDOWN) (19)

Second look at the data: Exploration of the relationship between FICO and LC scores:

FICO scores have been implemented to assess the credit worthiness of potential borrowers. A model that Lending Club could have used could have been to simply rely on the foundation of FICO’s scores. The majority of the mortgage industry relies on FICO scores to issue mortgages of 100s of thousands.

Hence our interest in looking into LC’s grade system and more specifically if they have an obvious linear relationship with FICO scores. At first, it seems obvious that the LC grades and FICO scores are very correlated:

Screen Shot 2015-11-02 at 11.32.35 PM

Screen Shot 2015-11-02 at 11.34.05 PM

But the second graph already seems to imply otherwise. Indeed 20 of the 35 possible LC sub grades have average FICO scores within 10pts!

Running the full distribution of FICO ratings per LC grade confirm our previous point. Grades E, F, G and arguably D and even C have very close distributions and medians:

Screen Shot 2015-11-02 at 11.34.33 PM Screen Shot 2015-11-02 at 11.34.50 PM

It is very interesting to see how these densities have evolved over the years. We can see how Lending Club’s earlier model used to rely on FICO score heavily and over the course of the years, LC refined their credit models using the data that they started accumulating. It is particularly obvious when looking at the grade A. Its density changed from being condensed over a range FICO scores of 730 to 820 to a density that covers the entire FICO range with a mean that is lower than the minimum score they used to require to get an A rating:

Screen Shot 2015-11-02 at 11.35.06 PM

Third look at the data: Exploration and discovery of the predictive strength of each feature:

In this section we will take each features given at the time of the origination of the debt and attempt to extract their relation to default rates. For this part of the analysis we will use the data set LCmatured that, we recall, contains only the loans that have matured or if defaulted, would have matured.

Home ownership:

Home ownership: Does home ownership have any relationship with LC grades, FICO scores and Charge Off rates?

LOAN ISSUED GROUPED BY HOME OWNERSHIP<br>(Hover for breakdown) (71)

Purpose:

Purpose: We want to see if there is any relation between LC Grades, FICO scores, Charge Off rates and purpose. There is a strong correlation between charge off rates and if the purpose is either educational or small business. These loans tend to be a lot riskier. The fico score does not reflect this while the LC score seems to partially capture that risk:

LOAN ISSUED GROUPED BY PURPOSE<br>(Hover for breakdown) (41)

Revolvoving balance and employement length:

Revolving Balance, along with Employment length are actually the features with the least obvious link to default rates:

##     revol_bal_bucket charged net_EL avg_fico avg_grade
##               (fctr)   (dbl)  (dbl)    (dbl)     (chr)
## 1            0-1,333   12.93   8.19      734        B4
## 2      1,333-3,170.2   11.93   7.50      723        B4
## 3      3,170.2-5,080   12.59   7.66      717        B4
## 4      5,080-6,974.4   12.94   7.77      712        B5
## 5      6,974.4-9,100   13.62   7.93      711        B5
## 6     9,100-11,592.2   12.27   7.48      710        B5
## 7  11,592.2-14,693.2   13.04   7.59      710        B5
## 8    14,693.2-19,306   12.38   7.53      712        B5
## 9    19,306-28,052.4   12.06   7.25      712        C1
## 10     28,052.4-+inf   13.09   8.26      717        C1
##    emp_length charged net_EL avg_fico avg_grade
##         (chr)   (dbl)  (dbl)    (dbl)     (chr)
## 1         n/a   19.11  11.86      723        B3
## 2    < 1 year   12.73   8.05      715        B5
## 3      1 year   12.50   7.84      713        B5
## 4     2 years   12.25   7.65      713        B5
## 5     3 years   12.14   7.27      714        B5
## 6     4 years   12.35   7.43      713        B5
## 7     5 years   11.91   7.03      716        B5
## 8     6 years   12.56   7.88      715        B5
## 9     7 years   13.54   8.20      714        B5
## 10    8 years   12.64   7.85      717        B5
## 11    9 years   11.68   6.86      718        B5
## 12  10+ years   12.74   7.49      719        B5

Number of delinquencies over the past 2 years prior the application for a loan:

Number of delinquencies during the past 2 years: This feature is somewhat linked to charge off rates but a vast majority of the borrowers actually have 0 delinquencies, which is not helpful distinguishing between them:

##   delinq_bucket charged net_EL avg_fico avg_grade
##           (chr)   (dbl)  (dbl)    (dbl)     (chr)
## 1             0   12.45   7.56      718        B4
## 2             1   14.41   8.90      696        C3
## 3            2+   15.85   9.64      686        C4

Number of opened and total number of accounts:

Total number of accounts and Open accounts are not the most impactful features. Fully paying borrower tend to have slightly more accounts but too many accounts may be bad too. This is interesting because FICO considers that the more accounts. This is also confirmed in the numbers below:

##              (fctr)   (dbl)  (dbl)    (dbl)     (chr)
## 1               0-9   15.85   9.99      710        C2
## 2              9-12   13.32   8.11      711        B5
## 3             12-15   13.50   8.17      713        B5
## 4             15-17   12.85   7.42      714        B5
## 5             17-20   11.55   6.89      715        B4
## 6             20-23   11.05   6.67      718        B4
## 7             23-26   11.92   7.32      718        B4
## 8             26-30   12.56   7.48      719        B4
## 9             30-37   11.12   6.75      720        B4
## 10          37-+inf   12.41   7.80      721        B5
##    open_acc_bucket charged net_EL avg_fico avg_grade
##             (fctr)   (dbl)  (dbl)    (dbl)     (chr)
## 1              0-4   15.09   9.61      718        C2
## 2              4-6   12.10   7.43      718        B4
## 3              6-7   12.20   7.47      717        B4
## 4              7-8   12.91   7.71      716        B4
## 5              8-9   12.36   7.35      715        B4
## 6             9-10   12.78   7.67      715        B4
## 7            10-11   11.41   6.74      715        B5
## 8            11-13   12.52   7.63      714        B5
## 9            13-15   13.06   7.95      715        B5
## 10         15-+inf   12.53   7.54      713        C1

DTI (Debt To Income ratio):

The DTI ratio: the lower the better, a DTI of 5 means your debts payment excluding mortgage, are only 5% of your gross income. DTI vs LC Grade, although having the expected trend, does not seem to show an strong dependency. DTI vs FICO score show a strong relationship for scores ranging from 700-850 but no correlation for scores < 700. But overall DTI has some impact on charge off probabilities.

##      dti_bucket charged net_EL avg_fico avg_grade
##          (fctr)   (dbl)  (dbl)    (dbl)     (chr)
## 1        0-4.32   11.07   6.90      736        B4
## 2     4.32-7.24   10.47   6.12      723        B4
## 3     7.24-9.56   11.52   6.83      720        B4
## 4   9.56-11.684   11.73   7.35      716        B5
## 5  11.684-13.69   12.52   7.79      714        B5
## 6   13.69-15.68   12.64   7.66      712        B5
## 7    15.68-17.8   13.72   8.27      710        B5
## 8     17.8-20.1   13.68   8.18      709        B5
## 9    20.1-22.67   14.70   8.94      707        C1
## 10   22.67-+inf   14.79   9.14      711        B5

 Screen Shot 2015-11-02 at 11.45.49 PM

Screen Shot 2015-11-02 at 11.45.30 PM

Public records:

Public Records: This feature is definitely correlated to charged off rates, but its value is very low. It is zero in most cases. Basically if a borrower has 0 public records is a strong indicator that he has greater chances to pay off his debts and conversely, if the number of public records is greater than 0, the borrower has a substantially greater chance of default.

##   rec_bucket charged net_EL avg_fico avg_grade
##        (chr)   (dbl)  (dbl)    (dbl)     (chr)
## 1          0   12.34   7.52      717        B5
## 2         1+   19.85  11.71      695        C3

Age of Credit history:

The age of credit history has a significant impact on default rates: Fully paying borrowers tend to have slightly older credit history, which is to be expected. But the main take on Credit history is on borrower that have relatively short credit history: We can see that the bottom 10% have credit histories of less than 6 years and have a significantly higher default rates. One should also be careful when looking into the age of the credit history since it correlates with the age of the borrower and hence with his income and other features. This will need to be investigated further later.

##    credit_ym_bucket charged net_EL avg_fico avg_grade
##              (fctr)   (dbl)  (dbl)    (dbl)     (chr)
## 1             0-5.9   16.42  10.41      700        C3
## 2           5.9-7.8   12.39   7.71      707        B5
## 3           7.8-9.7   12.79   7.59      710        B5
## 4            9.7-11   13.11   8.15      713        B5
## 5           11-12.2   12.85   7.77      715        B5
## 6         12.2-13.8   12.57   7.59      717        B5
## 7         13.8-15.7   12.71   7.52      719        B5
## 8         15.7-18.2   11.54   6.75      723        B4
## 9         18.2-22.7   11.34   7.14      725        B4
## 10        22.7-+inf   10.99   6.46      730        B3

Revolving utilization:

As expected, higher revolving utilization mean higher risk of default. The top 10% has default rates that are almost twice as low as the bottom 10%.

##    revol_bucket charged net_EL avg_fico avg_grade
##          (fctr)   (dbl)  (dbl)    (dbl)     (chr)
## 1         0-9.8    9.44   5.97      757        B2
## 2      9.8-22.3    8.32   5.07      743        B1
## 3     22.3-33.2   10.32   6.07      730        B3
## 4     33.2-43.2   11.42   6.70      719        B4
## 5     43.2-52.5   11.93   7.36      713        B5
## 6     52.5-61.3   13.80   8.46      708        B5
## 7     61.3-69.5   13.95   8.24      704        B5
## 8     69.5-78.4   13.75   8.30      697        C2
## 9     78.4-87.9   15.75   9.57      694        C2
## 10    87.9-+inf   18.22  11.45      693        C5

Annual income:

This is a very strong feature. People in the top 20% quantile have half as much charged off loans compared to the bottom 20%. It is worth noticing though, that even the top 20% still get a 9.5% chance off defaulting on their loan which is still very high. So annual income is not a silver bullet either.

##    annual_inc_bucket charged net_EL avg_fico avg_grade
##               (fctr)   (dbl)  (dbl)    (dbl)     (chr)
## 1         0-28,995.6   17.40  11.14      712        B5
## 2    28,995.6-36,000   16.70  10.00      712        B5
## 3      36,000-43,000   14.31   8.68      713        B5
## 4      43,000-50,000   13.00   7.88      713        B5
## 5      50,000-57,000   12.47   7.42      714        B5
## 6      57,000-65,000   12.37   7.47      716        B5
## 7      65,000-75,000   11.32   6.88      717        B5
## 8      75,000-89,100   10.33   6.25      719        B5
## 9     89,100-114,000    8.95   5.47      720        B5
## 10      114,000-+inf    9.44   5.64      723        C1

Inquiries in the last 6months:

This feature is supposed to represent how desperate the borrower is for credit. We can see that the correlation between this feature and charged off rates is very strong. This is the feature that has the highest impact on default rates. The EL of people with 0 Inquiries is more than 4 times smaller than the EL of the 7+ bucket!

##   inq_bucket charged net_EL avg_fico avg_grade
##        (chr)   (dbl)  (dbl)    (dbl)     (chr)
## 1          0   10.22   5.91      719        B4
## 2        1-2   13.29   8.17      714        C1
## 3        3-4   19.05  12.28      711        C1
## 4        5-6   26.57  18.13      710        C5
## 5         7+   35.40  24.68      702        D5

Geography:

Finally, here is a heat map of the USA. We see that Nevada is not doing so great…

DEFAULT RATES PER STATES<br>(Hover for breakdown) (17)

Conclusion

Lending Club’s data is a great source of information on personal credit. Additionally this data set is bound to grow exponentially over the next years. We tried to build a report to both present Lending Club and build the foundations to more in depth analyses.

To continue this analysis we need to be careful with the following:
  1. There is a geographical selection bias: as we saw in the previous maps most accounts are very concentrated geographically.
  2. By nature of the platform, we are selecting only applicants who are somewhat tech-savvy.
  3. We need to be careful with the implications of certain features when trying to extract correlation. As stated earlier, features like number of accounts or age of credit history are correlated to the age of the borrower. Could their relationship to default rates be linked to their age and indirectly to their income?
  4. We have to be careful with adverse selection, a mistake that the financial industry as know for a long time. Let’s keep in mind that the safe way to do financial services is to keep the segmentation down to a minimum and let the mathematics of risk pooling look after us.
The next steps of this analysis could be some of the following:
  1. Building a credit model and see if we can predict reliably defaults.
  2. Building a model to arb LC’s own model.
  3. Trying to replicate LC’s models using machine learning techniques using the Lending Club’s grades as our outputs.

Check out the full report here! You will find all the details of the code behind the analysis and the visualisations.

About Author

Jean-Francois Darre

Jean-Francois holds a MSc in Statistics from Stanford University and MSc in Applied Math with a minor in Physics from École des Mines de Nancy in France.
View all posts by Jean-Francois Darre >

Related Articles

Leave a Comment

tip bong da January 1, 2018
Thanks on your marvelous posting! I certainly enjoyed reading it, you're a great author. I will be sure to bookmark your blog and definitely will come back someday. I want to encourage you to continue your great writing, have a nice afternoon!
Lending Club investment simulator | Tech News April 29, 2016
[…] can find the blog post here and the full R publication […]
asPt6gdb8q February 1, 2016

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