Dados de empréstimo do Clube de Empréstimos
Introdução
Explorando a Distribuição das Finalidades de Empréstimo no Lending Club Loan Data
O Lending Club é uma plataforma de empréstimo peer-to-peer que conecta mutuários que precisam de financiamento com investidores dispostos a emprestar dinheiro. Com uma vasta quantidade de dados disponíveis sobre os empréstimos facilitados pela plataforma, surge uma oportunidade única para analisar os padrões de empréstimo e entender as tendências de financiamento dos mutuários.
Neste projeto, irei focar em explorar a distribuição das finalidades de empréstimo no conjunto de dados do Lending Club Loan Data. Compreender as diferentes razões pelas quais os mutuários solicitam empréstimos pode fornecer insights valiosos sobre as necessidades financeiras dos clientes e as preferências de empréstimo.
Nosso objetivo é realizar uma análise abrangente das finalidades de empréstimo, identificando as categorias mais comuns e menos comuns, visualizando a distribuição por meio de gráficos informativos e explorando possíveis variações demográficas e temporais. Ao fazer isso, esperamos ganhar uma compreensão mais profunda dos padrões de empréstimo dos clientes do Lending Club e das tendências subjacentes que podem influenciar as estratégias de financiamento futuras.
Esta análise não apenas nos permitirá entender melhor as preferências dos mutuários, mas também pode fornecer insights úteis para investidores, instituições financeiras e outros stakeholders interessados no mercado de empréstimos peer-to-peer e nas dinâmicas que o impulsionam.
Tratamento de dados
Obtenção dos dados
Os dados para realização desse projeto foram obtidos através deste link: Base de dados
Carregamento de pacotes
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
Preparação dos dados
Para tratar os dados do conjunto fornecido do Lending Club, precisaremos selecionar as variáveis relevantes para nossa análise da distribuição das finalidades de empréstimo. Aqui estão as variáveis que serão úteis para o nosso objetivo:
addrState: Estado fornecido pelo mutuário no pedido de empréstimo.
anualInc: A renda anual autodeclarada fornecida pelo mutuário durante o registro.
addr_state : O estado fornecido pelo mutuário no pedido de empréstimo
emp_length: Duração do emprego em anos. Os valores possíveis estão entre 0 e 10, onde 0 significa menos de um ano e 10 significa dez ou mais anos.
emp_title: O cargo fornecido pelo Mutuário ao solicitar o empréstimo.
grade: LC atribuído grau de empréstimo
home_ownership: status de propriedade de casa fornecido pelo mutuário durante o registro. Nossos valores são: ALUGUEL, PRÓPRIO, HIPOTECA, OUTROS.
intRate: Taxa de juros do empréstimo
loan_amnt: O valor listado do empréstimo solicitado pelo mutuário. Se em algum momento o departamento de crédito reduzir o valor do empréstimo, isso será refletido nesse valor.
purpose: Uma categoria fornecida pelo mutuário para a solicitação de empréstimo.
term: O número de pagamentos do empréstimo. Os valores estão em meses e podem ser 36 ou 60.
verification_status: Indica se a renda conjunta dos co-mutuários foi verificada pelo LC, não verificada, ou se a fonte de renda foi verificada.
Correção de dados
Para fazer essa análise é ideal filtrar esses dados e trabalhar apenas com os dados necessários para melhor compreensão do conteúdo que pretendo analisar, por isso tratei os dados desse banco e identifiquei as variáveis que serão úteis para o nosso objetivo.
## Rows: 2260668 Columns: 145
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (36): term, grade, sub_grade, emp_title, emp_length, home_ownership, ve...
## dbl (106): loan_amnt, funded_amnt, funded_amnt_inv, int_rate, installment, a...
## lgl (3): id, member_id, url
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## [1] "id"
## [2] "member_id"
## [3] "loan_amnt"
## [4] "funded_amnt"
## [5] "funded_amnt_inv"
## [6] "term"
## [7] "int_rate"
## [8] "installment"
## [9] "grade"
## [10] "sub_grade"
## [11] "emp_title"
## [12] "emp_length"
## [13] "home_ownership"
## [14] "annual_inc"
## [15] "verification_status"
## [16] "issue_d"
## [17] "loan_status"
## [18] "pymnt_plan"
## [19] "url"
## [20] "desc"
## [21] "purpose"
## [22] "title"
## [23] "zip_code"
## [24] "addr_state"
## [25] "dti"
## [26] "delinq_2yrs"
## [27] "earliest_cr_line"
## [28] "inq_last_6mths"
## [29] "mths_since_last_delinq"
## [30] "mths_since_last_record"
## [31] "open_acc"
## [32] "pub_rec"
## [33] "revol_bal"
## [34] "revol_util"
## [35] "total_acc"
## [36] "initial_list_status"
## [37] "out_prncp"
## [38] "out_prncp_inv"
## [39] "total_pymnt"
## [40] "total_pymnt_inv"
## [41] "total_rec_prncp"
## [42] "total_rec_int"
## [43] "total_rec_late_fee"
## [44] "recoveries"
## [45] "collection_recovery_fee"
## [46] "last_pymnt_d"
## [47] "last_pymnt_amnt"
## [48] "next_pymnt_d"
## [49] "last_credit_pull_d"
## [50] "collections_12_mths_ex_med"
## [51] "mths_since_last_major_derog"
## [52] "policy_code"
## [53] "application_type"
## [54] "annual_inc_joint"
## [55] "dti_joint"
## [56] "verification_status_joint"
## [57] "acc_now_delinq"
## [58] "tot_coll_amt"
## [59] "tot_cur_bal"
## [60] "open_acc_6m"
## [61] "open_act_il"
## [62] "open_il_12m"
## [63] "open_il_24m"
## [64] "mths_since_rcnt_il"
## [65] "total_bal_il"
## [66] "il_util"
## [67] "open_rv_12m"
## [68] "open_rv_24m"
## [69] "max_bal_bc"
## [70] "all_util"
## [71] "total_rev_hi_lim"
## [72] "inq_fi"
## [73] "total_cu_tl"
## [74] "inq_last_12m"
## [75] "acc_open_past_24mths"
## [76] "avg_cur_bal"
## [77] "bc_open_to_buy"
## [78] "bc_util"
## [79] "chargeoff_within_12_mths"
## [80] "delinq_amnt"
## [81] "mo_sin_old_il_acct"
## [82] "mo_sin_old_rev_tl_op"
## [83] "mo_sin_rcnt_rev_tl_op"
## [84] "mo_sin_rcnt_tl"
## [85] "mort_acc"
## [86] "mths_since_recent_bc"
## [87] "mths_since_recent_bc_dlq"
## [88] "mths_since_recent_inq"
## [89] "mths_since_recent_revol_delinq"
## [90] "num_accts_ever_120_pd"
## [91] "num_actv_bc_tl"
## [92] "num_actv_rev_tl"
## [93] "num_bc_sats"
## [94] "num_bc_tl"
## [95] "num_il_tl"
## [96] "num_op_rev_tl"
## [97] "num_rev_accts"
## [98] "num_rev_tl_bal_gt_0"
## [99] "num_sats"
## [100] "num_tl_120dpd_2m"
## [101] "num_tl_30dpd"
## [102] "num_tl_90g_dpd_24m"
## [103] "num_tl_op_past_12m"
## [104] "pct_tl_nvr_dlq"
## [105] "percent_bc_gt_75"
## [106] "pub_rec_bankruptcies"
## [107] "tax_liens"
## [108] "tot_hi_cred_lim"
## [109] "total_bal_ex_mort"
## [110] "total_bc_limit"
## [111] "total_il_high_credit_limit"
## [112] "revol_bal_joint"
## [113] "sec_app_earliest_cr_line"
## [114] "sec_app_inq_last_6mths"
## [115] "sec_app_mort_acc"
## [116] "sec_app_open_acc"
## [117] "sec_app_revol_util"
## [118] "sec_app_open_act_il"
## [119] "sec_app_num_rev_accts"
## [120] "sec_app_chargeoff_within_12_mths"
## [121] "sec_app_collections_12_mths_ex_med"
## [122] "sec_app_mths_since_last_major_derog"
## [123] "hardship_flag"
## [124] "hardship_type"
## [125] "hardship_reason"
## [126] "hardship_status"
## [127] "deferral_term"
## [128] "hardship_amount"
## [129] "hardship_start_date"
## [130] "hardship_end_date"
## [131] "payment_plan_start_date"
## [132] "hardship_length"
## [133] "hardship_dpd"
## [134] "hardship_loan_status"
## [135] "orig_projected_additional_accrued_interest"
## [136] "hardship_payoff_balance_amount"
## [137] "hardship_last_payment_amount"
## [138] "disbursement_method"
## [139] "debt_settlement_flag"
## [140] "debt_settlement_flag_date"
## [141] "settlement_status"
## [142] "settlement_date"
## [143] "settlement_amount"
## [144] "settlement_percentage"
## [145] "settlement_term"
Contagem de Empréstimos por Finalidade
Inicialmente optei por trazer dados relevantes baseado nesse banco, e decidi analistar qual a finalidade que os clientes desse banco fazem empréstimo, é algo relevante para mim observar o comportamento das pessoas em relação a utilização desses empréstimos. Segue abaixo como realizei esse processo:
# Contar o número de empréstimos para cada finalidade
contagem_purpose<- df_selected %>%
count(purpose) %>%
arrange(desc(n))
# Visualizar as contagens
contagem_purpose## # A tibble: 14 × 2
## purpose n
## <chr> <int>
## 1 debt_consolidation 1277877
## 2 credit_card 516971
## 3 home_improvement 150457
## 4 other 139440
## 5 major_purchase 50445
## 6 medical 27488
## 7 small_business 24689
## 8 car 24013
## 9 vacation 15525
## 10 moving 15403
## 11 house 14136
## 12 wedding 2355
## 13 renewable_energy 1445
## 14 educational 424
Após obervar essa contagem representei em gráfico os resultados que obtive:
# Criar o gráfico de barras
ggplot(contagem_purpose, aes(x = reorder(purpose, -n), y = n)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Contagem de Empréstimos por Finalidade",
x = "Finalidade",
y = "Número de Empréstimos") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))Taxa de Inadimplência por Finalidade
Para esta análise, precisaremos calcular a taxa de inadimplência para cada finalidade. A taxa de inadimplência pode ser calculada dividindo o número de empréstimos inadimplentes pelo número total de empréstimos para cada finalidade.
# Filtrar empréstimos inadimplentes
df_default <- df %>%
filter(loan_status %in% c("Charged Off", "Default"))
# Calcular o número de empréstimos inadimplentes por finalidade
default_counts <- df_default %>%
group_by(purpose) %>%
summarise(default_loans = n())
# Calcular o número total de empréstimos por finalidade
total_counts <- df %>%
group_by(purpose) %>%
summarise(total_loans = n())
# Juntar os dois conjuntos de dados
default_rate_data <- merge(default_counts, total_counts, by = "purpose")
# Calcular a taxa de inadimplência
default_rate_data$default_rate <- default_rate_data$default_loans / default_rate_data$total_loans
# Ordenar os resultados pela taxa de inadimplência
default_rate_data <- default_rate_data %>%
arrange(desc(default_rate))
# Exibir os resultados
print(default_rate_data)## purpose default_loans total_loans default_rate
## 1 small_business 4465 24689 0.18084977
## 2 renewable_energy 216 1445 0.14948097
## 3 moving 2151 15403 0.13964812
## 4 educational 56 424 0.13207547
## 5 debt_consolidation 161058 1277877 0.12603560
## 6 medical 3292 27488 0.11976135
## 7 wedding 279 2355 0.11847134
## 8 other 15867 139440 0.11379088
## 9 vacation 1680 15525 0.10821256
## 10 house 1513 14136 0.10703169
## 11 major_purchase 5304 50445 0.10514422
## 12 home_improvement 15087 150457 0.10027450
## 13 credit_card 48650 516971 0.09410586
## 14 car 2068 24013 0.08612002
Agora temos a taxa de inadimplência para cada finalidade de empréstimo, ordenada da maior para a menor taxa. Isso nos dá uma ideia clara de quais finalidades têm maior probabilidade de resultar em inadimplência.Agora para melhor visualização dos resultados representarei em
# Criar o gráfico de barras
ggplot(default_rate_data, aes(x = reorder(purpose, -default_rate), y = default_rate)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Taxa de Inadimplência por Finalidade de Empréstimo",
x = "Finalidade de Empréstimo",
y = "Taxa de Inadimplência") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))Montante Médio do Empréstimo
Para analisar o montante médio do empréstimo por finalidade, podemos calcular a média do valor do empréstimo para cada categoria de finalidade. Em seguida, irei representar visualmente os resultados em um gráfico de barras ou em outro tipo de gráfico de sua preferência.
# Calcular o montante médio do empréstimo por finalidade
average_loan_amount_by_purpose <- df %>%
group_by(purpose) %>%
summarize(average_loan_amount = mean(loan_amnt))
# Visualizar os resultados
print(average_loan_amount_by_purpose)## # A tibble: 14 × 2
## purpose average_loan_amount
## <chr> <dbl>
## 1 car 9394.
## 2 credit_card 15320.
## 3 debt_consolidation 15967.
## 4 educational 6615.
## 5 home_improvement 14666.
## 6 house 15704.
## 7 major_purchase 12682.
## 8 medical 9474.
## 9 moving 8391.
## 10 other 10481.
## 11 renewable_energy 10757.
## 12 small_business 16443.
## 13 vacation 6358.
## 14 wedding 10476.
Esses valores representam o montante médio do empréstimo em dólares para cada finalidade listada. Podemos criar um gráfico de barras para visualizar o montante médio do empréstimo por finalidade.
# Criando um dataframe de exemplo para demonstração
average_loan_by_purpose <- data.frame(
purpose = c("car", "credit_card", "debt_consolidation", "educational", "home_improvement", "house", "major_purchase", "medical", "moving", "other", "renewable_energy", "small_business", "vacation", "wedding"),
average_loan_amount = c(9394, 15320, 15967, 6615, 14666, 15704, 12682, 9474, 8391, 10481, 10757, 16443, 6358, 10476)
)
# Criando o gráfico de barras
ggplot(average_loan_by_purpose, aes(x = reorder(purpose, -average_loan_amount), y = average_loan_amount)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Montante Médio do Empréstimo por Finalidade",
x = "Finalidade do Empréstimo",
y = "Montante Médio do Empréstimo") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))Conclusão
Taxa de Inadimplência por Finalidade:
A análise revela uma variação significativa nas taxas de inadimplência entre diferentes finalidades de empréstimo. Isso sugere que o propósito para o qual o empréstimo é solicitado desempenha um papel crucial na probabilidade de inadimplência.
Finalidades como “small_business”, “renewable_energy” e “moving” destacam-se com as maiores taxas de inadimplência, todas acima de 14%. Isso indica que empréstimos concedidos para essas finalidades podem apresentar um risco maior para os credores. Em contraste, finalidades como “car”, “credit_card” e “debt_consolidation” mostram taxas de inadimplência relativamente mais baixas, sugerindo uma maior confiabilidade no pagamento por parte dos mutuários.
Montante Médio do Empréstimo por Finalidade:
A análise do montante médio do empréstimo por finalidade revela diferenças significativas nos valores dos empréstimos concedidos para diferentes propósitos. Por exemplo, empréstimos para “debt_consolidation” têm um valor médio considerável de cerca de $15.967, refletindo a natureza muitas vezes substancial desses tipos de empréstimos destinados à consolidação de dívidas existentes.
Enquanto isso, empréstimos para “educational” têm um valor médio consideravelmente menor, em torno de $6.615, indicando que os empréstimos para educação podem ser de menor montante em comparação com outras finalidades.
Essa variação nos valores médios dos empréstimos destaca a importância de entender as necessidades financeiras específicas dos mutuários e adaptar os produtos de empréstimo de acordo com essas necessidades.
Essas conclusões fornecem uma compreensão mais aprofundada do comportamento dos empréstimos em diferentes categorias de finalidades. Tais insights são cruciais para instituições financeiras e empresas que concedem crédito, permitindo-lhes ajustar suas políticas e estratégias de empréstimo para mitigar riscos e atender melhor às necessidades dos clientes.