Studium przypadku „Kredyty - Identyfikacja docelowych odbiorców pożyczki” koncentruje się na analizie ryzyka w procesie udzielania finansowania klientom. Wykorzystując techniki eksploracyjnej analizy danych (EDA), projekt ma na celu zrozumienie, w jaki sposób cechy konsumentów oraz parametry pożyczek wpływają na prawdopodobieństwo terminowej spłaty zobowiązań.
W analizowanym zbiorze danych nie posiadamy informacji o cechach demograficznych klientów. Punktem wyjścia stają się więc same kontrakty kredytowe oraz ich statusy, które odzwierciedlają przebieg procesu decyzyjnego i operacyjnego. Celem jest zrozumienie, jakie czynniki — spośród dostępnych w danych — różnicują kontrakty zakończone zatwierdzeniem, anulowaniem, odmową lub niewykorzystaniem oferty. W związku z tym niniejsze studium przypadku stawia następujące pytania badawcze:
Jakie wzorce braków danych występują w zbiorze i co mówią o logice procesów kredytowych?
Jak różnią się statusy kontraktów pod względem kluczowych parametrów finansowych (kwota kredytu, liczba rat, cena towaru)?
Czy wysokość kwoty kredytu wpływa na prawdopodobieństwo anulowania, odmowy lub niewykorzystania oferty?
Jak typ klienta różnicuje rozkład statusów kontraktu?
W niniejszym projekcie wykorzystane zostaną dane z pliku „previous_application_new.csv”, zawierającego informacje o decyzjach kredytowych (zatwierdzone, anulowane, odrzucone, niewykorzystane), oraz słownik zmiennych „opis_zmiennych.xlsx”, który ułatwi interpretację atrybutów. Analiza pozwoli wskazać wzorce zachowań klientów i czynniki ryzyka, które mogą wspierać proces podejmowania decyzji kredytowych.
W dokumencie wykorzystano zestaw bibliotek służących do wczytywania,
czyszczenia, przekształcania i wizualizacji danych, takich jak
tidyverse, dplyr, ggplot2,
naniar, VIM czy corrplot.
Dodatkowo użyto pakietów wspierających modelowanie statystyczne i ocenę
jakości modeli, m.in. . leaps, pROC,
caret oraz narzędzi do tworzenia interaktywnych tabel i
wykresów, takich jak gt, kableExtra,
plotly i networkD3.
Proces analizy rozpoczęto od wczytania zbioru danych i wstępnego rozpoznania jego struktury.
Zbiór previous_application_new.csv zawiera 25 000 obserwacji oraz 37 zmiennych, które dzielą się na:
16 zmiennych tekstowych (chr) – opisujących m.in. typ umowy, status wniosku czy dzień tygodnia złożenia aplikacji,
21 zmiennych numerycznych (dbl) – zawierających identyfikatory, kwoty finansowe (wnioskowane i przyznane) oraz wskaźniki czasu.
Takie zestawienie danych pozwala na przeprowadzenie wielowymiarowej analizy – zarówno jakościowej (wzorce zachowań), jak i ilościowej (wartości kredytowe).
| SK_ID_PREV | SK_ID_CURR | NAME_CONTRACT_TYPE | AMT_ANNUITY | AMT_APPLICATION | AMT_CREDIT | AMT_DOWN_PAYMENT | AMT_GOODS_PRICE | WEEKDAY_APPR_PROCESS_START | HOUR_APPR_PROCESS_START | FLAG_LAST_APPL_PER_CONTRACT | NFLAG_LAST_APPL_IN_DAY | RATE_DOWN_PAYMENT | RATE_INTEREST_PRIMARY | RATE_INTEREST_PRIVILEGED | NAME_CASH_LOAN_PURPOSE | NAME_CONTRACT_STATUS | DAYS_DECISION | NAME_PAYMENT_TYPE | CODE_REJECT_REASON | NAME_TYPE_SUITE | NAME_CLIENT_TYPE | NAME_GOODS_CATEGORY | NAME_PORTFOLIO | NAME_PRODUCT_TYPE | CHANNEL_TYPE | SELLERPLACE_AREA | NAME_SELLER_INDUSTRY | CNT_PAYMENT | NAME_YIELD_GROUP | PRODUCT_COMBINATION | DAYS_FIRST_DRAWING | DAYS_FIRST_DUE | DAYS_LAST_DUE_1ST_VERSION | DAYS_LAST_DUE | DAYS_TERMINATION | NFLAG_INSURED_ON_APPROVAL |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1044104 | 358675 | Cash loans | NA | 0 | 0 | NA | NA | FRIDAY | 16 | Y | 1 | NA | NA | NA | XNA | Canceled | -169 | XNA | XAP | NA | Repeater | XNA | XNA | XNA | Credit and cash offices | -1 | XNA | NA | XNA | Cash | NA | NA | NA | NA | NA | NA |
| 1228470 | 344960 | Cash loans | 16015.860 | 378000 | 378000 | NA | 378000 | SUNDAY | 12 | Y | 1 | NA | NA | NA | XNA | Refused | -474 | XNA | HC | NA | Repeater | XNA | Cash | x-sell | Contact center | -1 | XNA | 36 | low_normal | Cash X-Sell: low | NA | NA | NA | NA | NA | NA |
| 1212786 | 208259 | Consumer loans | 6190.965 | 30141 | 31635 | 0 | 30141 | THURSDAY | 20 | Y | 1 | 0.0000000 | NA | NA | XAP | Approved | -2226 | Cash through the bank | XAP | Unaccompanied | Repeater | Photo / Cinema Equipment | POS | XNA | Country-wide | 1500 | Consumer electronics | 6 | high | POS household with interest | 365243 | -2195 | -2045 | -2045 | -2041 | 0 |
| 2750575 | 293651 | Cash loans | 12598.200 | 67500 | 67500 | NA | 67500 | WEDNESDAY | 9 | Y | 1 | NA | NA | NA | XNA | Approved | -486 | Cash through the bank | XAP | NA | Repeater | XNA | Cash | x-sell | Country-wide | 60 | Furniture | 6 | middle | Cash X-Sell: middle | 365243 | -456 | -306 | -306 | -300 | 0 |
| 2188643 | 251267 | Cash loans | 16591.500 | 135000 | 135000 | 0 | 135000 | SATURDAY | 20 | Y | 1 | 0.0000000 | NA | NA | XNA | Approved | -2799 | XNA | XAP | NA | Refreshed | XNA | Cash | x-sell | Country-wide | -1 | Consumer electronics | 10 | middle | Cash Street: middle | 365243 | -2769 | -2499 | -2499 | -2490 | 0 |
| 2337373 | 394154 | Consumer loans | 39423.150 | 3015000 | 1035000 | 1980000 | 3015000 | SATURDAY | 9 | Y | 1 | 0.7152239 | NA | NA | XAP | Refused | -789 | Cash through the bank | VERIF | NA | New | XNA | Cars | XNA | Car dealer | 329 | Industry | 36 | low_normal | POS industry with interest | NA | NA | NA | NA | NA | NA |
| 1169959 | 365865 | Cash loans | NA | 0 | 0 | NA | NA | WEDNESDAY | 9 | Y | 1 | NA | NA | NA | XNA | Refused | -245 | XNA | HC | NA | Repeater | XNA | XNA | XNA | Credit and cash offices | -1 | XNA | NA | XNA | Cash | NA | NA | NA | NA | NA | NA |
| 2405817 | 158643 | Cash loans | NA | 0 | 0 | NA | NA | FRIDAY | 20 | Y | 1 | NA | NA | NA | XNA | Canceled | -283 | XNA | XAP | NA | Repeater | XNA | XNA | XNA | Contact center | -1 | XNA | NA | XNA | Cash | NA | NA | NA | NA | NA | NA |
| 1101830 | 447361 | Consumer loans | 6290.730 | 55386 | 55386 | 0 | 55386 | MONDAY | 18 | Y | 1 | 0.0000000 | NA | NA | XAP | Approved | -21 | Cash through the bank | XAP | NA | Repeater | Mobile | POS | XNA | Country-wide | 25 | Connectivity | 10 | low_normal | POS mobile without interest | 365243 | 365243 | 282 | 365243 | 365243 | 0 |
| 2176627 | 106729 | Cash loans | NA | 0 | 0 | NA | NA | MONDAY | 6 | Y | 1 | NA | NA | NA | XNA | Canceled | -381 | XNA | XAP | NA | Repeater | XNA | XNA | XNA | Credit and cash offices | -1 | XNA | NA | XNA | Cash | NA | NA | NA | NA | NA | NA |
Wstępny przegląd pierwszych dziesięciu wierszy ujawnia dużą złożoność zbioru oraz widoczną obecność brakujących wartości (NA). Wymusza to pogłębioną analizę braków danych, aby ocenić ich wpływ na rzetelność końcowych wyników.
Zmienne oznaczają kolejno:
SK_ID_PREV: Unikalny identyfikator poprzedniego
wnioskuSK_ID_CURR: Unikalny identyfikator bieżącego
wnioskuNAME_CONTRACT_TYPE: Typ umowy (np. gotówkowy,
ratalny)AMT_ANNUITY: Kwota raty kredytowejAMT_APPLICATION: Kwota, o którą klient wnioskowałAMT_CREDIT: Ostateczna przyznana kwota kredytuAMT_DOWN_PAYMENT: Wkład własny w poprzedniej
aplikacjiAMT_GOODS_PRICE: Cena towaru, o który wnioskowanoWEEKDAY_APPR_PROCESS_START: Dzień tygodnia złożenia
aplikacjiHOUR_APPR_PROCESS_START: Godzina złożenia
aplikacjiFLAG_LAST_APPL_PER_CONTRACT: Flaga: czy była to
ostatnia aplikacja dla danego kontraktuNFLAG_LAST_APPL_IN_DAY: Flaga: czy była to ostatnia
aplikacja klienta danego dniaRATE_DOWN_PAYMENT: Wskaźnik wkładu własnego
(znormalizowany)RATE_INTEREST_PRIMARY: Podstawowa stopa procentowa
(znormalizowana)RATE_INTEREST_PRIVILEGED: Uprzywilejowana stopa
procentowa (znormalizowana)NAME_CASH_LOAN_PURPOSE: Cel pożyczki gotówkowejNAME_CONTRACT_STATUS: Status kontraktu (np.
zatwierdzony, odrzucony)DAYS_DECISION: Dni do decyzji względem bieżącej
aplikacjiNAME_PAYMENT_TYPE: Wybrany sposób płatnościCODE_REJECT_REASON: Powód odrzucenia aplikacjiNAME_TYPE_SUITE: Kto towarzyszył klientowi przy
aplikacjiNAME_CLIENT_TYPE: Typ klienta (nowy, stały)NAME_GOODS_CATEGORY: Kategoria towaruNAME_PORTFOLIO: Portfel produktu (np. CASH, POS,
CAR)NAME_PRODUCT_TYPE: Typ produktu (np. cross-sell,
walk-in)CHANNEL_TYPE: Kanał pozyskania klientaSELLERPLACE_AREA: Obszar sprzedaży poprzedniej
aplikacji (miejsce)NAME_SELLER_INDUSTRY: Branża sprzedawcyCNT_PAYMENT: Liczba rat kredytu w aplikacjiNAME_YIELD_GROUP: Grupa oprocentowania (niska, średnia,
wysoka)DAYS_FIRST_DRAWING: Dni do pierwszej wypłaty względem
bieżącej aplikacjiDAYS_FIRST_DUE: Dni do pierwszej raty względem bieżącej
aplikacjiDAYS_LAST_DUE_1ST_VERSION: Dni do pierwszej wersji
ostatniej ratyDAYS_LAST_DUE: Dni do ostatniej raty względem bieżącej
aplikacjiDAYS_TERMINATION: Dni do zakończenia kontraktu względem
bieżącej aplikacjiNFLAG_INSURED_ON_APPROVAL: Flaga: czy klient wybrał
ubezpieczenie przy aplikacjiKluczowym etapem przygotowania danych było zidentyfikowanie kolumn najbardziej obciążonych brakami danych.
| Nazwa zmiennej | Liczba braków | Procent braków |
|---|---|---|
| PRODUCT_COMBINATION | 4 | 0.02% |
| AMT_ANNUITY | 5589 | 22.36% |
| CNT_PAYMENT | 5589 | 22.36% |
| AMT_GOODS_PRICE | 5754 | 23.02% |
| DAYS_FIRST_DRAWING | 9940 | 39.76% |
| DAYS_FIRST_DUE | 9940 | 39.76% |
| DAYS_LAST_DUE_1ST_VERSION | 9940 | 39.76% |
| DAYS_LAST_DUE | 9940 | 39.76% |
| DAYS_TERMINATION | 9940 | 39.76% |
| NFLAG_INSURED_ON_APPROVAL | 9940 | 39.76% |
| NAME_TYPE_SUITE | 12246 | 48.98% |
| AMT_DOWN_PAYMENT | 13261 | 53.04% |
| RATE_DOWN_PAYMENT | 13261 | 53.04% |
| RATE_INTEREST_PRIMARY | 24922 | 99.69% |
| RATE_INTEREST_PRIVILEGED | 24922 | 99.69% |
Analiza wykazała, że 15 z 37 zmiennych posiada braki o różnym natężeniu:
Braki marginalne: PRODUCT_COMBINATION
(0.02%).
Średni poziom: Zmienne finansowe
(AMT_ANNUITY, CNT_PAYMENT,
AMT_GOODS_PRICE) oscylują wokół 22-23% braków.
Wysoki poziom: Zmienne związane z harmonogramem spłat i ubezpieczeniem wykazują blisko 40% braków.
Krytyczny poziom: Wkład własny przekracza 53%, a stopy procentowe są niemal całkowicie puste (99.69% braków).
Aby zrozumieć naturę braków, wykorzystano funkcje z pakietów
naniar oraz VIM. Ze względu na dużą ilość
zmiennych zdecydowano się ograniczyć dane do wykresu jedynie do kolumn
zawierających minimum jedną wartość NA.
Wykresy ujawniły istnienie silnych powiązań między zmiennymi (tzw. bloki braków):
Blok raty: AMT_ANNUITY i CNT_PAYMENT -
brak raty (AMT_ANNUITY) idzie w parze z brakiem liczby
płatności (CNT_PAYMENT).
Blok harmonogramu: DAYS_FIRST_DRAWING,
DAYS_FIRST_DUE, DAYS_LAST_DUE_1ST_VERSION,
DAYS_LAST_DUE, DAYS_TERMINATION,
NFLAG_INSURED_ON_APPROVAL - wszystkie mają 9940 braków. To
wygląda jak wspólny blok zmiennych związanych z harmonogramem kredytu i
ubezpieczeniem — jeśli brakuje jednej, brakuje wszystkich.
Blok wkładu własnego: AMT_DOWN_PAYMENT i
RATE_DOWN_PAYMENT - 13261 braków. Naturalne, bo wskaźnik
wkładu własnego nie istnieje, jeśli brak samej kwoty wkładu.
Blok stóp procentowych: RATE_INTEREST_PRIMARY i
RATE_INTEREST_PRIVILEGED - 24922 braków. Obie zmienne
dotyczą stóp procentowych, więc brak jednej oznacza brak
drugiej.
Pojedyncze, unikalne wartości braków:
PRODUCT_COMBINATION - tylko 4 braki, marginalny
problem.
AMT_GOODS_PRICE - 5754 braków, niezależny od innych
zmiennych.
NAME_TYPE_SUITE - 12246 braków, czyli brak
informacji o osobie towarzyszącej klientowi.
| Status kontraktu | Liczba obserwacji |
|---|---|
| Anulowany | 4599 |
| Niewykorzystana oferta | 394 |
| Odmowa | 596 |
Zmienna AMT_ANNUITY reprezentuje kwotę miesięcznej
raty kredytowej, natomiast CNT_PAYMENT określa
liczbę rat przewidzianych w harmonogramie spłat dla danego
wniosku. Analiza wykazała, że braki występują wyłącznie w kontraktach o
statusie anulowanym, niewykorzystanym lub po odmowie. Wynika to z logiki
biznesowej: dla wniosku, który nie został uruchomiony, nie wylicza się
harmonogramu spłat. Brak danych jest więc informacją samą w sobie –
“kontrakt nie powstał”.
| Status kontraktu | Liczba obserwacji |
|---|---|
| Anulowany | 4741 |
| Niewykorzystana oferta | 402 |
| Odmowa | 4194 |
| Zatwierdzony | 603 |
Zmienne z tej grupy opisują kluczowe momenty w harmonogramie kredytu oraz jedną cechę dotyczącą decyzji klienta przy składaniu wniosku. Określają one, ile dni upływa od daty aplikacji do poszczególnych etapów cyklu życia kontraktu.
DAYS_FIRST_DRAWING – liczba dni do pierwszej wypłaty
środków.
DAYS_FIRST_DUE – liczba dni do pierwszej raty
kredytu.
DAYS_LAST_DUE_1ST_VERSION – liczba dni do pierwotnie
planowanej daty ostatniej raty.
DAYS_LAST_DUE – liczba dni do ostatecznej daty
ostatniej raty.
DAYS_TERMINATION – liczba dni do zakończenia
kontraktu.
NFLAG_INSURED_ON_APPROVAL – informacja, czy klient
wybrał ubezpieczenie podczas składania wniosku.
Podobnie jak w przypadku rat, braki w datach dotyczą głównie wniosków
odrzuconych lub anulowanych. Zidentyfikowano jednak 603 rekordy o
statusie zatwierdzonym, które mimo tego nie posiadają dat. Zdecydowano
się sprawdzić inne pola (AMT_CREDIT - przyznana kwota
kredytu i CNT_PAYMENT - liczba rat) dla tych 603 rekordów.
Jeśli mają pełne dane finansowe, ale brakuje tylko terminów - to raczej
jest to błąd. Jeśli brakuje też innych pól, to najpewniej kontrakt nigdy
nie został uruchomiony mimo zaakceptowanego statusu.
| Zmienna | Min | Q1 | Mediana | Średnia | Q3 | Max |
|---|---|---|---|---|---|---|
| AMT_CREDIT | 0 | 89100 | 225000 | 402941.54 | 545040 | 2517300 |
| CNT_PAYMENT | 0 | 10 | 12 | 21.89 | 36 | 72 |
Analiza zaakceptowanych wniosków, w których brakuje dat harmonogramu,
wykazała dwa różne podłoża problemu. Część rekordów posiada
CNT_PAYMENT = 0, co potwierdza rezygnację z kontraktu na
etapie decyzji. Jednak część posiada przypisaną liczbę rat (mediana 12,
max 72), co świadczy o tym, że warunki finansowe zostały ustalone, lecz
proces technicznego uruchomienia wypłaty nie został sfinalizowany w
bazie danych. W związku z tym, dla rekordów z przypisaną liczbą rat
zdecydowano się na imputację brakujących dat wartościami medianowymi dla
podobnych produktów, natomiast pozostałe potraktowano jako kontrakty
nieaktywne.
W zmiennych typu DAYS zidentyfikowano również wartości
skrajnie duże, sięgające 365243 dni (ponad 1000 lat). Tak duże liczby
nie mogą reprezentować rzeczywistych dat i są typowym placeholderem
technicznym stosowanym w systemach źródłowych.
Aby wykryć takie przypadki, przyjęto próg 50 lat (18250 dni). Jest to granica, która z jednej strony eliminuje wartości nierealistyczne, a z drugiej nie usuwa żadnych potencjalnie poprawnych obserwacji. Podsumowanie ilości rekordów z wartościami odstającymi przedtsawiono w tabeli.
| Zmienna | Liczba wartości > 50 lat |
|---|---|
| DAYS_DECISION | 0 |
| DAYS_FIRST_DRAWING | 14115 |
| DAYS_FIRST_DUE | 610 |
| DAYS_LAST_DUE_1ST_VERSION | 1410 |
| DAYS_LAST_DUE | 3207 |
| DAYS_TERMINATION | 3432 |
Największa skala problemu dotyczy DAYS_FIRST_DRAWING, a
pozostałe pola również zawierają od kilkuset do kilku tysięcy
nienaturalnie dużych wartości. W kolejnym kroku zweryfikowano statusy
kontraktów zawierających te wartości, aby określić, czy są one logicznym
skutkiem przebiegu procesu kredytowego, czy też stanowią błąd
systemowy.
| Status kontraktu | Liczba obserwacji | Zmienna |
|---|---|---|
| Zatwierdzony | 14115 | DAYS_FIRST_DRAWING |
| Zatwierdzony | 610 | DAYS_FIRST_DUE |
| Zatwierdzony | 1410 | DAYS_LAST_DUE_1ST_VERSION |
| Zatwierdzony | 3207 | DAYS_LAST_DUE |
| Zatwierdzony | 3432 | DAYS_TERMINATION |
Wszystkie rekordy dotyczą kontraktów o statusie zatwierdzonym,
niezależnie od tego, której zmiennej DAYS dotyczą. Oznacza
to, że nie są to braki wynikające z odmowy, anulowania czy
niewygenerowania oferty, lecz systemowy placeholder stosowany w miejsce
rzeczywistych dat harmonogramu.
Aby ustalić, czy te kontrakty były faktycznie przygotowane do uruchomienia, konieczne jest sprawdzenie ich parametrów finansowych.
| Zmienna | Min | Q1 | Mediana | Średnia | Q3 | Max |
|---|---|---|---|---|---|---|
| CNT_PAYMENT | 0 | 6 | 12.0 | 13.77 | 18 | 60 |
| AMT_CREDIT | 0 | 47970 | 101999.2 | 194856.19 | 219042 | 3150000 |
Podobnie jak w przypadku rzeczywistych braków, również tutaj
obserwujemy dwa odmienne scenariusze. Część rekordów posiada
CNT_PAYMENT = 0 oraz oraz AMT_CREDIT = 0, co
wskazuje, że mimo formalnego statusu „Zatwierdzony”, kontrakt
nie został faktycznie uruchomiony i nie nadano mu parametrów spłaty. W
takich przypadkach odstające wartości DAYS potraktowano
jako braki danych, a same kontrakty jako nieaktywne.
Jednak część obserwacji posiada zarówno dodatnią liczbę rat (mediana 12, maksimum 60) jak i realne kwoty kredytu (mediana ok. 102 tys., maksimum 3,15 mln), co świadczy o tym, że warunki finansowe zostały ustalone, a produkt był przygotowany do uruchomienia. Brak dat harmonogramu wynika więc z błędu systemowego, a nie z decyzji klienta. Dla tej grupy zdecydowano się na imputację brakujących dat wartościami medianowymi wyznaczonymi dla porównywalnych produktów, aby odtworzyć realistyczny przebieg harmonogramu.
AMT_DOWN_PAYMENT (kwota wkładu własnego) i
RATE_DOWN_PAYMENT (procent wkładu własnego) mają identyczny
poziom braków – 13 261 rekordów, czyli ok. 53,04% całego zbioru. Braki
wynikają z faktu, że wkład własny nie jest obowiązkowy. Zostanie on
uzupełniony wartością 0.
RATE_INTEREST_PRIMARY to oprocentowanie podstawowe,
czyli standardowa stopa procentowa przypisana do kredytu.
RATE_INTEREST_PRIVILEGED to oprocentowanie uprzywilejowane,
czyli specjalna, obniżona stopa dla wybranych klientów lub
produktów.
Ponad 99% braków oznacza, że w praktyce te pola nie są wypełniane w bazie. Możliwe, że system nie rejestrował oprocentowania w tych zmiennych, albo były one używane tylko w wyjątkowych przypadkach. To zmienne praktycznie bezużyteczne – nie ma danych, najlepiej je usunąć ze zbioru, bo nie wniosą informacji.
Zmienne PRODUCT_COMBINATION mają tylko 4 braki (0,02%),
czyli praktycznie nie występują w zbiorze. Zmienna ta opisuje kombinację
produktów kredytowych (np. kredyt gotówkowy + karta kredytowa, kredyt
ratalny + ubezpieczenie). NA stanowią śladową liczbę obserwacji – można
je traktować jako incydentalne braki, nie wpływają one na całość
danych.
AMT_GOODS_PRICE to zmienna, która oznacza wartość towaru
lub usługi, na którą klient zaciąga kredyt.Sprawdzamy, jakie statusy
kontraktu występują w rekordach z brakami ceny towaru.
| Status kontraktu | Liczba obserwacji |
|---|---|
| Anulowany | 4596 |
| Odmowa | 526 |
| Zatwierdzony | 632 |
Zdecydowana większość NA występuje w kontraktach anulowanych lub odrzuconych.To jest logiczne: skoro wniosek nie został zrealizowany, cena towaru nie musiała być rejestrowana.
Jednak mniej typowa sytuacja dotyczy 632 zatwierdzonych kontraktów.
One powininny mieć określoną cenę towaru. Sprawdzamy, czy mają inne
kluczowe informacje (jak poprzednio: AMT_CREDIT i
CNT_PAYMENT).
| Zmienna | Min | Q1 | Mediana | Średnia | Q3 | Max |
|---|---|---|---|---|---|---|
| CNT_PAYMENT | 0 | 0 | 0 | 0.0 | 0 | 0e+00 |
| AMT_CREDIT | 0 | 135000 | 180000 | 276764.2 | 450000 | 9e+05 |
Dane dla AMT_CREDIT są zróżnicowane (od 0 do 900 000,
mediana ok. 180 000), jednak dla CNT_PAYMENT wszystkie
wartości są równe 0. To oznacza, że mimo zatwierdzenia kontraktu, nie
zapisano liczby rat.To sugeruje, że kredyt został zatwierdzony, ale nie
uruchomiony (brak harmonogramu i brak powiązania z towarem). Warto
traktować je jako osobną kategorię, bo nie są to typowe zatwierdzone
kredyty.
W zmiennej NAME_TYPE_SUITE występuje 12 246 braków, co
stanowi prawie połowę wszystkich obserwacji (48,98%).
Zmienna ta opisuje, kto towarzyszył klientowi podczas składania wniosku (np. członek rodziny, znajomy, partner). Braki mogą być naturalne:
klient mógł przyjść samodzielnie, więc informacja o osobie towarzyszącej nie istnieje,
bank mógł nie zbierać tej informacji w każdym przypadku, traktując ją jako dodatkową, nieobowiązkową.
Braki zostaną zaklasyfikowane jako nowa kategoria “Unknown”, gdyż mogą nieść informację o samodzielnym składaniu wniosku przez klienta.
Podczas eksploracji danych zauważono, że w zmiennej
AMT_APPLICATION (kwota wniosku) występują wartości równe 0.
Wartość ta nie jest oznaczona jako NA, ale logicznie wskazuje na brak
faktycznej kwoty wniosku. Sprawdzamy, ile takich rekordów istnieje i
jaki mają status kontraktu.
| Status kontraktu | Liczba obserwacji |
|---|---|
| Anulowany | 4596 |
| Niewykorzystana oferta | 6 |
| Odmowa | 578 |
| Zatwierdzony | 665 |
Wartości AMT_APPLICATION = 0 występują przede wszystkim
w kontraktach Anulowanych (4596) oraz Odmówionych
(578), co jest zgodne z logiką procesu — brak kwoty aplikowanej oznacza,
że wniosek nie przeszedł do etapu pełnej parametryzacji. Niewielka
liczba przypadków dotyczy statusu Niewykorzystana oferta (6),
co również jest spójne z sytuacją, w której klient nie finalizuje
procesu.
Jednak szczególnej uwagi wymagaja 665 kontraktów o statusie zatwierdzonym.W tej grupie brak kwoty aplikowanej nie jest logicznym elementem procesu i może wskazywać na błąd systemowy lub niekompletne zapisanie danych w momencie decyzji kredytowej. Aby ustalić, czy zatwierdzone kontrakty były faktycznie przygotowane do uruchomienia, konieczne jest sprawdzenie ich parametrów finansowych
| Zmienna | Min | Q1 | Mediana | Średnia | Q3 | Max |
|---|---|---|---|---|---|---|
| CNT_PAYMENT | 0 | 0 | 0 | 0.0 | 0 | 0e+00 |
| AMT_CREDIT | 0 | 112500 | 180000 | 265939.8 | 450000 | 9e+05 |
W danych dostrzegamy anomalię: zatwierdzone kontrakty z
AMT_APPLICATION = 0, ale z dodatnią kwotą kredytu
(AMT_CREDIT > 0). Takie rekordy są niespójne – klient
nie wnioskował o żadną kwotę, a mimo to kredyt został przyznany.
Jeśli AMT_APPLICATION = 0 i AMT_CREDIT = 0,
traktujemy to jako brak danych, zamieniamy na NA. To są martwe wnioski,
nie ma sensu trzymać zera jako „wnioskowanej kwoty”.
Jeśli AMT_APPLICATION = 0 i AMT_CREDIT >
0, to imputujemy AMT_APPLICATION wartością z
AMT_CREDIT. W praktyce oznacza to, że skoro kredyt został
przyznany, to kwota wnioskowana musiała być zbliżona do przyznanej.
W pozostałych przypadkach zostawiamy wartość bez zmian.
Na podstawie przeprowadzonej analizy brakujących wartości (EDA), stwierdzono, że występowanie NA w zbiorze nie jest przypadkowe, lecz ściśle powiązane z logiką procesów kredytowych. Większość braków w kluczowych zmiennych finansowych i harmonogramowych występuje przy wnioskach o statusie anulowanym, odmówionym oraz przy niewykorzystanych ofertach. Oznacza to, że parametry takie jak rata kredytu, liczba płatności czy dokładne daty spłat fizycznie nie istnieją dla kontraktów, które nigdy nie weszły w fazę realizacji.
Zastosowana strategia czyszczenia danych opiera się na imputacji biznesowej, a nie statystycznej. Zamiast usuwać rekordy lub stosować średnie, nadajemy brakom znaczenie analityczne:
W polach kwotowych i liczbowych (np. wkład własny, rata) wartości NA zastępujemy zerami, co pozwala zachować pełną bazę do analizy ryzyka.
W zmiennych kategorycznych tworzymy nową klasę „Unknown”, traktując brak informacji jako istotną cechę klienta.
Usuwamy zmienne dotyczące stóp procentowych ze względu na niemal całkowity brak danych (99%), co uniemożliwia ich rzetelne wykorzystanie.
library(dplyr)
library(tidyr)
dane_clean <- dane %>%
# 1. Usuwamy puste kolumny
select(-RATE_INTEREST_PRIMARY, -RATE_INTEREST_PRIVILEGED) %>%
# 2. Zamieniamy fałszywe wartości DAYS* (>50 lat) na NA
mutate(across(all_of(days_vars),
~if_else(. > fake_threshold, NA_real_, .))) %>%
# 3. Imputacja dat tylko dla Approved z pełnymi danymi finansowymi
group_by(NAME_CONTRACT_STATUS) %>%
mutate(across(all_of(days_vars),
~if_else( NAME_CONTRACT_STATUS == "Approved" &
is.na(.) &
CNT_PAYMENT > 0 &
AMT_CREDIT > 0,
median(., na.rm = TRUE),
.
))) %>%
ungroup() %>%
# 4. Tworzymy flagę martwych kontraktów (Approved bez parametrów finansowych)
mutate(
FLAG_DEAD_CONTRACT = if_else(
NAME_CONTRACT_STATUS == "Approved" &
CNT_PAYMENT == 0 &
AMT_CREDIT == 0,
1, 0
)
) %>%
# 5. Pozostałe NA w DAYS* (martwe kontrakty) → NA
mutate(across(all_of(days_vars),
~if_else(FLAG_DEAD_CONTRACT == 1, NA_real_, .))) %>%
# 6. Imputacja AMT_GOODS_PRICE zgodnie z logiką
mutate( AMT_GOODS_PRICE = case_when(
NAME_CONTRACT_STATUS == "Approved" & is.na(AMT_GOODS_PRICE) & CNT_PAYMENT == 0 ~ 0,
NAME_CONTRACT_STATUS == "Approved" & is.na(AMT_GOODS_PRICE) & CNT_PAYMENT > 0 ~ median(AMT_GOODS_PRICE, na.rm = TRUE), TRUE ~ AMT_GOODS_PRICE
)
) %>%
# 7. Standardowa imputacja pozostałych pól
mutate(
AMT_ANNUITY = replace_na(AMT_ANNUITY, 0),
CNT_PAYMENT = replace_na(CNT_PAYMENT, 0),
AMT_DOWN_PAYMENT = replace_na(AMT_DOWN_PAYMENT, 0),
RATE_DOWN_PAYMENT = replace_na(RATE_DOWN_PAYMENT, 0),
AMT_GOODS_PRICE = replace_na(AMT_GOODS_PRICE, 0),
NFLAG_INSURED_ON_APPROVAL = replace_na(NFLAG_INSURED_ON_APPROVAL, 0),
NAME_TYPE_SUITE = replace_na(NAME_TYPE_SUITE, "Unknown"),
PRODUCT_COMBINATION = replace_na(PRODUCT_COMBINATION, "Unknown")
) %>%
# 8. Czyszczenie AMT_APPLICATION - imputacja z AMT_CREDIT jeśli dostępne
mutate(
AMT_APPLICATION = case_when(
AMT_APPLICATION == 0 & AMT_CREDIT == 0 ~ NA_real_, # martwy wniosek → brak danych
AMT_APPLICATION == 0 & AMT_CREDIT > 0 ~ AMT_CREDIT, # imputacja z przyznanej kwoty
TRUE ~ AMT_APPLICATION # pozostaw bez zmian
)
)Po przeprowadzeniu procesu czyszczenia danych kolejnym krokiem jest ich wizualna eksploracja. Wykresy umożliwiają szybkie uchwycenie zależności pomiędzy zmiennymi, identyfikację nietypowych obserwacji oraz porównanie rozkładów w różnych grupach klientów. Graficzne przedstawienie danych pozwala nie tylko na lepsze zrozumienie struktury zbioru, ale także na wskazanie czynników ryzyka, które mogą wpływać na decyzje kredytowe.
Wykres rozkładu statusów kontraktu pokazuje, że zdecydowana większość wniosków kończy się zatwierdzeniem, co sugeruje, że proces oceny zdolności kredytowej działa skutecznie i większość klientów spełnia wymagania instytucji finansowej. Jednocześnie widoczna jest znaczna liczba aplikacji anulowanych oraz odrzuconych, co wskazuje na obecność ryzyka w procesie decyzyjnym i sygnalizuje konieczność dalszej analizy czynników, które odróżniają te grupy od zatwierdzonych kontraktów. Niewielki udział niewykorzystanych ofert świadczy o tym, że sytuacje, w których klient nie skorzystał z przyznanego kredytu, są raczej incydentalne i nie mają dużego wpływu na ogólny obraz. Warto jednak pamiętać, że status „zatwierdzony” nie zawsze oznacza uruchomienie kredytu, ponieważ część takich wniosków nie posiada harmonogramu ani rat, co może wymagać dodatkowej segmentacji i odrębnego traktowania w dalszej analizie.
Odpowiada na pytanie - czy większe kwoty częściej kończą się odmową?
Wykres pokazujący zależność między kwotą kredytu a statusem kontraktu ujawnia, że najwyższe kwoty pojawiają się wśród wniosków anulowanych. Oznacza to, że klienci często rezygnują z dużych zobowiązań jeszcze w trakcie procesu zatwierdzania – albo zmieniają zdanie co do pożyczki, albo nie akceptują gorszych warunków cenowych wynikających z wyższego ryzyka. Wnioski zatwierdzone obejmują szeroki zakres kwot, ale ich mediana jest niższa niż w anulowanych, co wskazuje, że w praktyce zatwierdzane są raczej kredyty średniej wielkości, a bardzo wysokie kwoty częściej kończą się rezygnacją. Odmowy dotyczą wniosków o kwoty wyższe niż przeciętne zatwierdzone, co sugeruje, że firma jest bardziej restrykcyjna wobec klientów starających się o większe kredyty i częściej odrzuca takie aplikacje, gdy nie spełniają wymagań instytucji. Niewykorzystana oferta to kategoria marginalna, ale jej rozkład kwot jest zbliżony do zatwierdzonych, co potwierdza, że klient miał zdolność kredytową, lecz zrezygnował z uruchomienia pożyczki na późniejszym etapie procesu. Całość wskazuje, że im wyższa kwota kredytu, tym większe prawdopodobieństwo, że wniosek zakończy się anulowaniem lub odmową, natomiast zatwierdzane są głównie kredyty o umiarkowanej wartości.
Odpowiada na pytanie - czy nowi klienci częściej mają problemy ze spłatą?
Wykres przedstawia proporcje statusów kontraktu w zależności od typu klienta i ujawnia, że największy udział zatwierdzonych wniosków występuje wśród nowych klientów. Może to świadczyć o tym, że instytucja finansowa jest otwarta na pozyskiwanie nowych odbiorców i chętnie udziela im kredytów, być może w ramach strategii rozwoju portfela lub przy stosunkowo niskich kwotach i uproszczonych produktach.
Stały klient, mimo że posiada historię kredytową, ma niższy udział zatwierdzeń niż nowy, a jednocześnie wyraźnie wyższy udział anulowań. To może sugerować, że osoby z dłuższą relacją częściej rezygnują z pożyczki na etapie zatwierdzania — być może ze względu na nieakceptowalne warunki cenowe lub zmianę decyzji.
Reaktywowany klient, czyli osoba powracająca po przerwie, ma rozkład statusów zbliżony do nowego klienta, ale z nieco większym udziałem odmów, co może wskazywać na ostrożność instytucji wobec klientów z przerwami w historii kredytowej.
Klienci oznaczeni jako „Nieznany” mają najwyższy udział odmów i najniższy zatwierdzeń, co może wynikać z braku danych lub niekompletnego profilu, który utrudnia ocenę ryzyka.
Całość wskazuje, że typ klienta istotnie wpływa na decyzję kredytową: nowi klienci są najczęściej zatwierdzani, ale niekoniecznie oznacza to niższe ryzyko — może to być efekt strategii produktowej lub ograniczonej kwoty kredytu. Stały klient częściej rezygnuje, a nieznany jest najczęściej odrzucany.
Odpowiada na pytanie - czy dzień złożenia wniosku ma wpływ na zatwierdzenie?
Rozkład kwot wnioskowanych w ciągu tygodnia jest zasadniczo podobny – dominują niższe wartości, a wyższe kwoty pojawiają się rzadziej i nie zmieniają kształtu gęstości. Różnice dotyczą głównie statusów kontraktu: w weekendy oraz w czwartek częściej pojawiają się anulowane wnioski, co może wynikać z większej liczby prób składanych online, które nie są finalizowane. W pozostałe dni, zwłaszcza w poniedziałek i piątek, widoczny jest szerszy zakres kwot i większy udział zatwierdzonych kontraktów. Czwartek wyróżnia się tym, że jego profil przypomina weekend – mniej wysokich kwot i relatywnie więcej anulowanych wniosków.
Odpowiada na pytanie - czy długość spłaty wpływa na ryzyko?
Większość wniosków dotyczy krótkich okresów spłaty — szczególnie w przedziale 6–24 rat. W tym zakresie dominują zatwierdzone kontrakty (zielony), co może świadczyć o większej akceptowalności krótszych zobowiązań przez instytucję finansową. W miarę wzrostu liczby rat udział zatwierdzeń maleje, a rośnie liczba odmów (czerwony) oraz anulowań (szary), co może wskazywać na wyższe ryzyko kredytowe lub większą skłonność klientów do rezygnacji przy dłuższych zobowiązaniach.
Niewykorzystane oferty (żółty) pojawiają się w różnych przedziałach liczby rat, ale nie dominują w żadnym z nich — mogą być efektem niezdecydowania klientów lub zmiany warunków po złożeniu wniosku.
Ogólnie rzecz biorąc, krótsze okresy spłaty są częściej zatwierdzane, a dłuższe wiążą się z większym udziałem odmów i anulowań, co warto uwzględnić w analizie ryzyka oraz w projektowaniu oferty kredytowej.
Zatwierdzone kontrakty (zielony) najczęściej dotyczą umiarkowanych kwot i liczby rat — szczególnie od 10 do 40. Odmowy (czerwony) częściej pojawiają się przy wyższych kwotach i dłuższych okresach spłaty, co może wskazywać na większe ryzyko. Anulowane (szary) i niewykorzystane oferty (żółty) występują w różnych przedziałach, ale częściej przy niższych kwotach. Widoczne skupienie wokół typowych planów spłaty (12, 24, 36, 48, 60) sugeruje preferencje klientów i standardy ofertowe.
Pokazuje, które zmienne są silnie powiązane z innymi (np. kwoty, liczba rat, dni decyzji).
Macierz korelacji pokazuje silne związki między kwotą kredytu
(AMT_CREDIT), wnioskowaną kwotą
(AMT_APPLICATION) i ceną towaru
(AMT_GOODS_PRICE), co potwierdza spójność danych. Rata
(AMT_ANNUITY) silnie koreluje z liczbą rat
(CNT_PAYMENT) i kwotą kredytu (AMT_CREDIT).
Zmienne harmonogramowe (DAYS_FIRST_DRAWING,
DAYS_FIRST_DUE, DAYS_LAST_DUE,
DAYS_TERMINATION) tworzą spójny blok czasowy. Wskaźniki
procentowe (RATE_DOWN_PAYMENT,
RATE_INTEREST_PRIMARY,
RATE_INTEREST_PRIVILEGED) oraz flagi
(NFLAG_LAST_APPL_IN_DAY,
NFLAG_INSURED_ON_APPROVAL) mają słabe korelacje, co
sugeruje ich niezależność i dodatkową wartość w modelach.
Pokazuje przepływ między typem produktu a statusem kontraktu.
Największa liczba kontraktów pochodzi z kategorii „Nieznany typ produktu”, a tylko w tej grupie występują niewykorzystane oferty (żółty), co może wskazywać na problem z klasyfikacją lub mniejszą atrakcyjność oferty. Odmowy (czerwony) i anulowania (szary) pojawiają się we wszystkich typach produktów, ale ich udział jest szczególnie widoczny w grupie nieznanej. W pozostałych kategoriach („sprzedaż krzyżowa”, „klient z ulicy / zakup bezpośredni”) dominują zatwierdzone kontrakty, co sugeruje, że bardziej jednoznacznie zdefiniowane produkty częściej kończą się pozytywną decyzją.
Odpowiada na pytanie - czy branża wpływa na decyzję kredytową?
Branża turystyki wyróżnia się tym, że wszystkie kontrakty zostały w niej zatwierdzone — nie odnotowano żadnych odmów, anulowań ani niewykorzystanych ofert. W pozostałych branżach struktura odmów jest stosunkowo podobna, co sugeruje, że decyzje negatywne nie są silnie zależne od sektora sprzedawcy. Najwięcej anulowań występuje wśród partnerów MLM oraz w kategorii „Pozostałe”, co może wskazywać na większą niestabilność lub niejednoznaczność ofert w tych grupach.
Odpowiada na pytanie - czy kanał sprzedaży wpływa na decyzję kredytową?
Najlepsze wyniki osiągają kanały Sklep oraz
Regionalny/Lokalny, gdzie dominują zatwierdzone
kontrakty, a udział odmów jest niewielki. Z kolei
Kanał sprzedaży korporacyjnej oraz
Dealer samochodowy charakteryzują się wyraźnie wyższym
udziałem odmów, co może wskazywać na większe ryzyko lub bardziej
wymagające profile klientów. Najwięcej anulowań występuje w
kanałach Biura kredytowe i gotówkowe oraz
Centrum kontaktu, co może świadczyć o niestabilności
procesu lub częstszej rezygnacji klientów na późniejszym etapie.
Najczęstszym powodem odrzucenia jest historia kredytowa, co może wskazywać na dużą liczbę klientów z negatywną historią lub brak zdolności kredytowej. Kolejne dominujące przyczyny to przekroczony limit oraz ocena punktowa, co sugeruje, że wiele aplikacji odpada na etapie scoringu lub limitów wewnętrznych. Powody takie jak brama punktowa, brak weryfikacji czy błąd systemowy występują znacznie rzadziej, ale mogą wskazywać na problemy techniczne lub niedopełnienie formalności.
Odpowiada na pytanie - czy rodzaj umowy wpływa na decyzję kredytową?
Umowy konsumenckie mają najwyższy udział zatwierdzonych kontraktów, co wskazuje na ich dużą skuteczność i akceptowalność w procesie kredytowym. Umowy gotówkowe i ratalne charakteryzują się większym udziałem anulowań i odmów, co może wskazywać na wyższe ryzyko lub mniej stabilny profil klienta.
Odpowiada na pytanie - czy godzina złożenia wniosku ma wpływ na decyzję kredytową?
Zatwierdzone wnioski najczęściej pojawiają się między godziną 11 a 19, z wyraźnym szczytem około 12:00–13:00. To może wskazywać na optymalny czas składania aplikacji. Odmowy również koncentrują się wokół godziny 13:00, co może sugerować, że system scoringowy działa intensywnie w tym przedziale. Anulowania są bardziej rozproszone, ale również mają lokalny szczyt około 13:00, co może wskazywać na decyzje systemowe lub rezygnacje klientów. Niewykorzystane oferty są najrzadsze, ale też pojawiają się głównie w godzinach 11–14, co może oznaczać, że klienci rezygnują tuż po otrzymaniu decyzji.
Odpowiada na pytanie - czy ubezpieczenie wpływa na cenę towaru?
Wśród zatwierdzonych wniosków, aplikacje z ubezpieczeniem mają wyższą medianę ceny towaru niż te bez. Zatwierdzone bez ubezpieczenia wykazują dużo skrajnych, bardzo wysokich wartości — większy rozrzut, mniej stabilny profil.
Odpowiada na pytanie - czy typ klienta i kanał wpływają na kwotę wnioskowaną?
Stały klient wnioskuje o najwyższe kwoty u dealerów objazdowych i w kanałach sprzedaży korporacyjnej. W tych kanałach mediany są wyraźnie wyższe niż w pozostałych, choć rozrzut wartości jest również większy, co wskazuje na zróżnicowany profil klientów. Nowi klienci utrzymują niższe mediany, ale w kanałach typu „Dealer objazdowy” pojawiają się skrajnie wysokie wartości. Reaktywowany klient ma rozkład zbliżony do nowego, lecz bardziej przewidywalny. Nieznany typ klienta nie wykazuje ani wysokich median, ani skrajnych wartości — jego profil jest raczej neutralny.
W tej sekcji przeprowadzamy ilościową analizę kluczowych zmiennych w zbiorze danych, aby lepiej zrozumieć rozkłady i powiązania między zmiennymi a statusem kontraktu.
Poniższa tabela przedstawia podstawowe statystyki opisowe dla kluczowych zmiennych numerycznych wykorzystanych w analizie. Obejmują one zarówno zmienne finansowe i czasowe opisujące przebieg procesu kredytowego.
W zmiennych, w których wartość 0 oznaczała brak danych wynikający z
imputacji (m.in. AMT_ANNUITY, CNT_PAYMENT,
AMT_DOWN_PAYMENT, RATE_DOWN_PAYMENT,
AMT_GOODS_PRICE), zera zostały wyłączone z obliczeń, aby
nie zaniżały średnich i kwartylów. W pozostałych przypadkach zera
zostały zachowane jako wartości rzeczywiste.
Zmienne czasowe (DAYS*) przyjmują wartości ujemne,
ponieważ w oryginalnym zbiorze liczono je jako liczbę dni przed decyzją
kredytową — im bardziej ujemna wartość, tym dalej wstecz w czasie miało
miejsce dane zdarzenie.
| Podstawowe statystyki opisowe zmiennych numerycznych | |||||||||
| Zmienna | Średnia | Mediana | Błąd_standardowy | Min | Max | Skośność | Kurtoza | Q1 | Q3 |
|---|---|---|---|---|---|---|---|---|---|
| AMT_ANNUITY | 15,985.44 | 11,250.00 | 14,764.12 | 877.95 | 183,216.15 | 2.57 | 14.12 | 6,350.41 | 20,541.18 |
| AMT_APPLICATION | 229,925.11 | 113,850.00 | 310,604.25 | 7,155.00 | 3,150,000.00 | 3.04 | 15.49 | 54,292.50 | 238,500.00 |
| AMT_CREDIT | 195,499.34 | 81,450.00 | 316,629.54 | 0.00 | 3,524,220.00 | 3.24 | 17.05 | 23,973.75 | 212,656.50 |
| AMT_DOWN_PAYMENT | 13,214.68 | 7,614.00 | 35,638.20 | 0.27 | 1,980,000.00 | 35.35 | 1,751.87 | 4,050.00 | 13,500.90 |
| AMT_GOODS_PRICE | 228,138.69 | 112,500.00 | 313,969.65 | 7,155.00 | 3,150,000.00 | 3.06 | 15.49 | 52,642.31 | 229,500.00 |
| RATE_DOWN_PAYMENT | 0.15 | 0.11 | 0.11 | 0.00 | 0.91 | 2.31 | 9.82 | 0.10 | 0.20 |
| CNT_PAYMENT | 18.01 | 12.00 | 14.15 | 3.00 | 84.00 | 1.62 | 4.90 | 10.00 | 24.00 |
| DAYS_DECISION | −884.02 | −588.50 | 779.93 | −2,922.00 | −2.00 | −1.04 | 2.93 | −1,308.00 | −280.00 |
| DAYS_FIRST_DRAWING | −659.17 | −632.00 | 257.38 | −2,912.00 | −2.00 | −6.69 | 51.28 | −632.00 | −632.00 |
| DAYS_FIRST_DUE | −1,096.61 | −877.00 | 774.01 | −2,892.00 | −3.00 | −0.71 | 2.36 | −1,624.00 | −475.00 |
| DAYS_LAST_DUE | −960.85 | −807.00 | 680.97 | −2,842.00 | −3.00 | −0.80 | 2.76 | −1,346.75 | −443.00 |
| DAYS_TERMINATION | −941.05 | −784.00 | 675.55 | −2,839.00 | −2.00 | −0.83 | 2.81 | −1,311.00 | −430.00 |
Zmienne numeryczne można podzielić na trzy główne grupy:
AMT_ANNUITY – rata kredytuAMT_APPLICATION – kwota wnioskowanaAMT_CREDIT – kwota przyznanaAMT_DOWN_PAYMENT – wkład własnyAMT_GOODS_PRICE – wartość towaruRATE_DOWN_PAYMENT – procent wkładu własnegoMają one bardzo szeroki zakres wartości (od kilku tysięcy do ponad 3 mln). Do tego charakteryzyją się wysoką skośnością i kurtozą, co oznacza obecność ekstremalnie dużych kwot. Mediany natomiast są znacznie niższe od średnich, co potwierdza, że większość klientów bierze mniejsze kredyty, a tylko nieliczni bardzo duże.
CNT_PAYMENT – liczba ratDominują krótkie i średnie okresy spłaty. Mediana liczby rat to 12, średnia 18, ale maksymalnie występuje 84 raty, co tworzy skośność 1.62. Oznacza to, że większość klientów wybiera krótkie lub średnie okresy spłaty, a długie harmonogramy są rzadkie.
DAYS_DECISION - dni między złożeniem wniosku a decyzją
kredytowąDAYS_FIRST_DRAWING - dni do pierwszego uruchomienia
środkówDAYS_FIRST_DUE - dni do pierwszej ratyDAYS_LAST_DUE - dni do ostatniej ratyDAYS_TERMINATION - dni do zakończenia kontraktuZmienne czasowe opisują harmonogram i przebieg procesu kredytowego w
odniesieniu do daty decyzji. DAYS_DECISION ze średnią:
−884, i medianą −588 - większość decyzji zapada ok. 1,5 roku po
pierwszym kontakcie klienta. Mediana i oba kwartyle
DAYS_FIRST_DRAWING równe −632 wskazują, że pierwsze
uruchomienie środków jest planowane w bardzo podobnym momencie względem
decyzji dla niemal wszystkich klientów. DAYS_FIRST_DUE ,
DAYS_LAST_DUE i DAYS_TERMINATION mają dużą
rozpiętość, co odzwierciedla różne długości kredytów i różne
harmonogramy spłat. DAYS_FIRST_DUE jest najbardziej odległy
od decyzji, bo opisuje początek harmonogramu. DAYS_LAST_DUE
i DAYS_TERMINATION są do siebie bardzo zbliżone, bo oba
opisują koniec cyklu kredytowego.
Przeprowadzono analizę standaryzowanych wartości (Z-score)
wybranych zmiennych ilościowych związanych z konstrukcją kredytu:
wysokość raty (AMT_ANNUITY), kwotę wnioskowaną
(AMT_APPLICATION), wkład własny
(AMT_DOWN_PAYMENT) oraz liczbę rat
(CNT_PAYMENT). Standaryzacja pozwala porównywać te zmienne
na wspólnej skali, niezależnie od ich jednostek i poziomu wartości.
Z-score mierzy, o ile typowych odchyleń dana obserwacja odbiega od
średniej. Wartości:
| Status_kontraktu | Z_AMT_ANNUITY | Z_AMT_APPLICATION | Z_AMT_DOWN_PAYMENT | Z_CNT_PAYMENT |
|---|---|---|---|---|
| Anulowany | -0.786 | 1.407 | -0.168 | -0.783 |
| Niewykorzystana oferta | -0.834 | -0.514 | -0.173 | -0.849 |
| Odmowa | 0.345 | 0.497 | -0.043 | 0.542 |
| Zatwierdzony | 0.167 | -0.120 | 0.067 | 0.114 |
Klienci anulujący mają raty wyraźnie
poniżej niż przeciętne (AMT_ANNUITY =
–0.786), ale wnioskują o wyższe kwoty niż średnia
(AMT_APPLICATION = 1.407). Wkład własny jest nieco
poniżej średniej, a harmonogram spłaty również jest
dłuższy. Są to klienci, którzy wnioskują o wysokie
kwoty kredytu, ale przy niższych ratach i krótszym harmonogramie spłaty.
Widać tu próbę uzyskania dużego finansowania przy relatywnie niskim
obciążeniu miesięcznym, co może prowadzić do rezygnacji w trakcie
procesu.
Wartości dla niewykorzystanej oferty są najbardziej „poniżej średniej” ze wszystkich statusów. Wszystkie Z‑score są ujemne i zbliżone do siebie. Raty, kwoty wnioskowane, wkład własny i liczba rat są niższe niż przeciętnie. To klienci o najmniejszych parametrach kredytowych — niskie kwoty, niskie raty, krótkie harmonogramy. Oferta była lekka finansowo, ale mimo to nie została wykorzystana.
Profil dla odmowy jest umiarkowanie powyżej
średniej. Klienci wnioskują o wyższe kwoty niż
przeciętnie (AMT_APPLICATION = 0.497) przy
dłuższych okresie spłaty (CNT_PAYMENT =
0.542). Są to klienci, którzy wnioskują o większe kredyty i dłuższe
harmonogramy, co zwiększa ryzyko i może prowadzić do negatywnej
decyzji.
Najbardziej „średni” profil dotyczy wniosków zatwierdzonych. Wszystkie Z‑score są bardzo blisko zera, co oznacza, że zatwierdzone wnioski mają parametry najbardziej zbliżone do średnich w populacji. Minimalnie niższa kwota wnioskowana i nieco wyższa liczba rat i ich wysokość. Zatwierdzane są wnioski najbardziej typowe, bez skrajności — ani bardzo wysokie, ani bardzo niskie wartości.
Podsumowując to jednym zdaniem - im wniosek kredytowy był bliższy przeciętnemu tym większa była szansa na jego akceptację.
W tej części analizie poddano zależności pomiędzy wybranymi zmiennymi kategorycznymi a statusem kontraktu kredytowego. Do oceny istotności statystycznej wykorzystano test chi‑kwadrat niezależności, który pozwala sprawdzić, czy rozkład kategorii danej zmiennej różni się pomiędzy grupami statusów.
Test chi‑kwadrat porównuje liczebności obserwowane (rzeczywiste) z liczebnościami oczekiwanymi, które wystąpiłyby, gdyby zmienne były od siebie niezależne. Jeżeli różnice są duże, statystyka Chi² rośnie, a wartość p spada — co wskazuje na istotną zależność.
W analizie uwzględniono trzy zmienne kategoryczne:
CHANNEL_TYPE_GROUPED – uproszczona wersja kanału
sprzedaży, w której rzadkie kategorie (<5%) połączono w grupę
„Inne”,
NAME_CONTRACT_TYPE_PL – typ kontraktu (gotówkowy,
konsumencki, ratalny),
NAME_CLIENT_TYPE_PL – typ klienta (nowy, stały,
reaktywowany).
Status kontraktu analizowano w czterech kategoriach: Zatwierdzony, Odmowa, Anulowany, Niewykorzystana oferta.
Wszystkie testy spełniły warunki poprawności (brak zbyt małych liczebności oczekiwanych), co oznacza, że wyniki są statystycznie wiarygodne.
| Zmienna | Chi2 | p | df | Warunek_poprawny | Istotność |
|---|---|---|---|---|---|
| CHANNEL_TYPE_GROUPED | 7889.376 | 0 | 12 | TRUE | *** |
| NAME_CONTRACT_TYPE_PL | 6648.973 | 0 | 6 | TRUE | *** |
| NAME_CLIENT_TYPE_PL | 2754.264 | 0 | 6 | TRUE | *** |
| Zatwierdzony | Anulowany | Odmowa | Niewykorzystana oferta | |
|---|---|---|---|---|
| Biura kredytowe i gotówkowe | 40.47 | 39.70 | 19.78 | 0.06 |
| Inne | 45.41 | 24.02 | 30.57 | 0.00 |
| Ogólnokrajowy | 81.91 | 0.11 | 13.06 | 4.93 |
| Regionalny / Lokalny | 88.78 | 0.06 | 10.44 | 0.72 |
| Sklep | 89.39 | 0.03 | 10.01 | 0.56 |
Wszystkie trzy zmienne kategoryczne wykazały bardzo silną i istotną statystycznie zależność ze statusem kontraktu (p < 0.001). Oznacza to, że sposób pozyskania klienta, typ kontraktu oraz typ klienta są wyraźnie powiązane z prawdopodobieństwem zatwierdzenia, odmowy lub anulowania wniosku.
Kanał sprzedaży to zmienna o najsilniejszej
zależności ze statusem kontraktu (Chi² ≈ 7889). Rozkłady procentowe
pokazują wyraźne różnice między kanałami: Sklep,
Regionalny/Lokalny i Ogólnokrajowy mają
najwyższe odsetki zatwierdzeń (89–82%).
Biura kredytowe i gotówkowe oraz kategoria
Inne mają znacznie wyższy udział anulowań i odmów.
„Niewykorzystana oferta” pojawia się niemal wyłącznie w
kanałach masowych (Ogólnokrajowy, Sklep), co
sugeruje odmienny charakter tych wniosków. Wskazuje to, że kanał
sprzedaży jest jednym z kluczowych czynników różnicujących jakość i
finalny status wniosków.
Z kolei różne typy produktów mają odmienne profile ryzyka i akceptacji. Wynik Chi² ≈ 6649 potwierdza, że status kontraktu silnie zależy od rodzaju produktu (np. kredyt gotówkowy vs ratalny).
Zależność dla typu klienta również jest istotna (Chi² ≈ 2754). Nowi klienci, stali klienci i klienci reaktywowani różnią się prawdopodobieństwem zatwierdzenia i odmowy, co jest zgodne z praktyką kredytową — historia relacji z instytucją wpływa na decyzję.
Za pomocą funkcji ggbetweenstats przedstawiono rozkład
kwoty kredytu (AMT_CREDIT) w podziale na status kontraktu.
Każda grupa zawiera indywidualne punkty obserwacji oraz średnią, co
pozwala ocenić różnice między kategoriami zarówno wizualnie, jak i
statystycznie.
Istnieją istotne statystycznie różnice w wysokości przyznanych kwot kredytu między grupami kontraktowymi (Welch ANOVA: p < 2.23e−308, ω² = 0.61) — efekt jest bardzo silny.
Najniższe średnie kwoty występują w grupie Anulowany (≈ 21 754) oraz Niewykorzystana oferta (≈ 69 195) — sugeruje to, że niższe kwoty częściej kończą się rezygnacją lub brakiem realizacji.
Najwyższe średnie kwoty przypadają na Odmowę (≈ 376 000) oraz Zatwierdzenie (≈ 203 000) — wskazuje to, że większe wnioski są częściej oceniane rygorystycznie, ale też częściej zatwierdzane.
Test Games-Howell potwierdza, że każda para statusów różni się istotnie pod względem kwoty kredytu (wszystkie p < 1e−7).
Wysoka kwota kredytu nie gwarantuje zatwierdzenia, ale jest silnie związana z decyzją końcową — może być traktowana jako wskaźnik ryzyka.
Niskie kwoty częściej kończą się anulowaniem lub niewykorzystaniem, co może sugerować brak zaangażowania klienta lub niską wartość transakcyjną.
Segmentacja klientów według kwoty wnioskowanej może wspierać scoring ryzyka i optymalizację procesu decyzyjnego.
Każdy słupek reprezentuje jedną kategorię statusu, a kolory wskazują typ klienta. Dodatkowo wykres zawiera wyniki testu chi‑kwadrat oraz miarę siły zależności (Cramér’s V), co pozwala ocenić istotność statystyczną obserwowanych różnic.
Zależność między typem klienta a statusem kontraktu jest istotna statystycznie (χ² = 2770.34, p < 2.23e−308, Cramer’s V = 0.19) — czyli umiarkowana siła powiązania.
Stały klient dominuje w każdej grupie, szczególnie w anulowanych (93%) i niewykorzystanych ofertach (76%) — może wskazywać na niższe zaangażowanie lub powtarzalne wnioski bez finalizacji.
Nowi klienci częściej otrzymują zatwierdzenie (28%) niż odmowę (18%) — może to sugerować preferencyjne traktowanie nowych wniosków lub lepszy scoring startowy.
Reaktywowany klient (powrót po przerwie) ma niewielki udział we wszystkich statusach, ale nieco wyższy w zatwierdzonych (9%) — może wskazywać na umiarkowane zaufanie instytucji.
Typ klienta może być użytecznym predyktorem decyzji kredytowej — szczególnie w połączeniu z historią aplikacji.
Stały klient nie zawsze oznacza wysoką skuteczność — warto rozważyć dodatkowe kryteria segmentacji.
Nowi klienci mogą być bardziej skłonni do finalizacji umowy, co może wspierać strategie pozyskiwania.
Wykres zawiera średnie wartości dla każdej grupy oraz wyniki testu Welch’a i porównań post hoc.
Różnice w liczbie rat między grupami kontraktowymi są bardzo silnie istotne statystycznie (Welch ANOVA: p < 2.23e−308, ω² = 0.79) — efekt jest ekstremalnie silny.
Zatwierdzone kontrakty mają średnio 14 rat, a odrzucone aż 20 — może to wskazywać, że dłuższy okres spłaty zwiększa ryzyko odmowy.
Anulowane i niewykorzystane oferty mają bardzo niską liczbę rat (średnio 1.16 i 0.21) — sugeruje to, że były to wnioski niepełne, testowe lub szybko wycofane.
Test Games-Howell potwierdza istotne różnice między wszystkimi grupami (wszystkie p < 1e−8).
Liczba rat może być silnym predyktorem decyzji kredytowej — szczególnie w połączeniu z kwotą kredytu i typem klienta.
Dłuższy harmonogram spłaty może zwiększać ryzyko odmowy, co warto uwzględnić w scoringu.
Wnioski z minimalną liczbą rat często kończą się anulowaniem lub brakiem realizacji, co może wskazywać na niską jakość aplikacji.
Wykres zawiera linię regresji oraz histogramy brzegowe, co pozwala jednocześnie ocenić siłę korelacji i rozkład obu zmiennych. Statystyki testowe wskazują na związek między tymi wartościami.
Zależność między kwotą wnioskowaną a przyznaną jest ekstremalnie
silna
(r = 0.99, p < 2.23e−308) — niemal idealna korelacja
liniowa.
Banki najczęściej przyznają dokładnie taką kwotę, o jaką klient wnioskował — co może świadczyć o dobrze skalibrowanym procesie oceny zdolności kredytowej.
Odchylenia od linii regresji są rzadkie i niewielkie — wskazują na sporadyczne korekty (np. ograniczenia scoringowe, limity produktowe).
Rozkłady kwot po obu osiach są podobne — potwierdzają, że w większości przypadków decyzja kredytowa nie modyfikuje kwoty wnioskowanej.
Proces decyzyjny jest silnie zautomatyzowany i zgodny z oczekiwaniami klienta — co może zwiększać satysfakcję i skracać czas obsługi.
Wysoka zgodność kwot może świadczyć o efektywnym dopasowaniu produktów do profilu klienta — warto analizować wyjątki jako potencjalne przypadki ryzyka lub niedopasowania.
Histogram pokazuje zarówno częstość występowania poszczególnych wartości, jak i statystyki opisowe oraz wynik testu t‑Studenta, co pozwala ocenić, jak typowa jest liczba rat w tej grupie klientów.
Średnia liczba rat wynosi 14.08, co wskazuje na preferencję dla kredytów średnioterminowych — ani bardzo krótkich, ani długoterminowych.
Rozkład jest skośny, z wyraźnym szczytem w przedziale 6–20 rat — najczęściej wybierane są kredyty rozłożone na 12–18 miesięcy.
Statystyki testowe potwierdzają istotność rozkładu (t = 148.92, p < 2.23e−308, Hedges g = 1.19) — czyli liczba rat w zatwierdzonych kontraktach nie jest przypadkowa, lecz ma wyraźny wzorzec.
Długi ogon rozkładu sugeruje obecność kredytów długoterminowych, ale są one znacznie rzadsze — mogą dotyczyć wyższych kwot lub specyficznych produktów.
Zatwierdzone kontrakty najczęściej mają liczbę rat zbliżoną do 12–18, co może być optymalnym punktem równowagi między dostępnością a ryzykiem.
Kredyty krótkoterminowe (do 6 rat) są mniej popularne, co może wynikać z niskiej opłacalności lub ograniczonego popytu.
Warto uwzględnić liczbę rat jako zmienną w scoringu ryzyka
Dwa wykresy kołowe pokazują udział poszczególnych statusów w każdej grupie, a dodatkowe statystyki (test chi‑kwadrat, Cramér’s V) pozwalają ocenić siłę i istotność zależności między typem klienta a statusem kontraktu.
Nowi klienci mają zdecydowanie wyższy odsetek zatwierdzonych wniosków — aż 94% z nich kończy się pozytywną decyzją, podczas gdy u stałych klientów to tylko 54%.
Stały klient częściej doświadcza odmowy (21%) i anulowania (24%), co może wskazywać na większą liczbę powtarzających się, nieefektywnych aplikacji lub niższą jakość wniosków.
Różnice są istotne statystycznie (χ² = 2593.64, p < 2.23e−308, Cramer’s V = 0.34) — czyli typ klienta ma wyraźny wpływ na decyzję kredytową.
Nowi klienci rzadko są odrzucani (1%) lub anulują wniosek, co może świadczyć o większym zaangażowaniu lub lepszym dopasowaniu oferty.
Nowy klient to potencjalnie bardziej efektywny segment — warto go wspierać w procesie onboardingowym i utrzymaniu.
Stały klient nie gwarantuje zatwierdzenia — warto analizować historię aplikacyjną, jakość wniosków i kanał pozyskania.
Typ klienta powinien być uwzględniany w scoringu ryzyka i strategii sprzedażowej — szczególnie przy automatyzacji decyzji.
Wykres przedstawia estymowane współczynniki regresji dla modelu
liniowego, w którym zmienną zależną jest kwota przyznanego
kredytu (AMT_CREDIT). Model uwzględnia dwa predyktory:
typ klienta (NAME_CLIENT_TYPE_PL) oraz wkład własny
(AMT_DOWN_PAYMENT). Wykres pokazuje wartość współczynnika
β, przedział ufności, wartość statystyki t oraz poziom istotności dla
każdego predyktora, co pozwala ocenić ich wpływ na kwotę kredytu.
Wkład własny (AMT_DOWN_PAYMENT) ma istotny wpływ na
kwotę kredytu
(β̂ = 0.23, p = 0.03) — im wyższy wkład własny, tym wyższa
przyznana kwota. To zgodne z logiką ryzyka: klient angażujący własne
środki otrzymuje większe finansowanie.
Typ klienta nie ma istotnego wpływu na kwotę kredytu (Stały, Reaktywowany, Nowy — wszystkie p > 0.35) — różnice między typami są statystycznie nieistotne, co może oznaczać, że bank nie różnicuje kwoty kredytu ze względu na typ klienta, tylko inne czynniki (np. scoring, historia).
Stały klient otrzymuje średnio wyższą kwotę niż nowy, ale różnica nie jest istotna — warto to zbadać w modelu z dodatkowymi zmiennymi (np. kanał, cel pożyczki).
W tej części przedstawiono trzy wykresy porównujące wybrane zmienne finansowe w zależności od statusu kontraktu:
kwotę wnioskowaną (AMT_APPLICATION),
liczbę rat (CNT_PAYMENT),
kwotę raty (AMT_ANNUITY).
Do analizy zastosowano test Welch ANOVA, który pozwala ocenić, czy średnie wartości danej zmiennej różnią się istotnie pomiędzy grupami statusów kontraktu. W odróżnieniu od klasycznej ANOVY, test Welch’a nie wymaga równości wariancji i dobrze sprawdza się przy danych skośnych oraz nierównych liczebnościach — co jest typowe dla danych kredytowych.
Każdy wykres zawiera:
punkty obserwacji (rozrzut danych),
średnią wartość oznaczoną jako μ_mean,
boxplot — który obrazuje rozkład danych w każdej grupie,
wartość statystyki F_Welch,
poziom istotności p,
miarę siły zależności — efekt wielkości ω² (omega squared),
przedział ufności dla ω²,
oraz wyniki porównań parowych (test Games-Howell z korektą Holm).
Efekt wielkości ω² przyjmuje wartości od 0 do 1 i informuje, jak duża część zmienności zmiennej zależnej jest wyjaśniana przez zmienną grupującą (tu: status kontraktu).
ω² ≈ 0.01 – efekt słaby,
ω² ≈ 0.06 – efekt umiarkowany,
ω² ≥ 0.14 – efekt silny,
ω² ≥ 0.30 – efekt bardzo silny.
Różnice między grupami są ekstremalnie istotne statystycznie, a efekt wielkości 𝜔2=0.82 — czyli bardzo silny.
Najwyższa średnia kwota wnioskowana występuje w grupie Anulowany (≈ 667 000), co może wskazywać na próbę uzyskania dużego finansowania, które nie zostało zrealizowane.
Odmowy mają średnią ≈ 384 000 — również wysoką, ale niższą niż anulowania.
Zatwierdzenia mają średnią ≈ 193 000 — czyli najbardziej „typowe” wnioski.
Niewykorzystane oferty mają najniższą średnią (≈ 70 000) — to aplikacje o niskiej wartości, które nie zostały sfinalizowane.
Wszystkie porównania parowe są istotne (p_Holm-adj < 1e−7), co potwierdza, że każda grupa różni się od pozostałych.
Tu również różnice między grupami są ekstremalnie istotne
statystycznie
Test Welch’a wykazał bardzo silny efekt, a efekt wielkości 𝜔2=
0.79. Oznacza to, że status kontraktu wyjaśnia aż
79% zmienności liczby rat — to wartość ekstremalnie
wysoka.
Zatwierdzone kontrakty mają średnio 14.08 rat, co wskazuje na preferencję dla kredytów średnioterminowych — ani bardzo krótkich, ani długoterminowych.
Odmowy charakteryzują się najwyższą średnią liczbą rat (20.25) — co może sugerować, że dłuższy okres spłaty zwiększa ryzyko negatywnej decyzji.
Anulowane kontrakty mają średnio tylko 1.16 raty, a niewykorzystane oferty zaledwie 0.21 raty — to wskazuje na wnioski niepełne, testowe lub szybko wycofane.
Wszystkie porównania parowe (Games-Howell z korektą Holm) są istotne statystycznie (p < 4.34e−08), co potwierdza, że każda grupa różni się istotnie od pozostałych.
Trzeci wykres także pokazuje istotne różnice między grupami. Test Welch’a wykazał bardzo silny efekt, a efekt również wielkości 𝜔2= 0.79.
Zatwierdzone kontrakty mają średnią ratę 14 832, co wskazuje na umiarkowane miesięczne obciążenie — typowe dla kredytów średnioterminowych.
Odmowy charakteryzują się najwyższą średnią ratą (17 444) — co może sugerować, że wyższe miesięczne zobowiązania zwiększają ryzyko negatywnej decyzji.
Anulowane kontrakty mają średnio tylko 913, a niewykorzystane oferty zaledwie 212 — to wskazuje na aplikacje o bardzo niskim obciążeniu, które nie zostały sfinalizowane.
Wszystkie porównania parowe (Games-Howell z korektą Holm) są istotne statystycznie (p < 4.34e−08), co potwierdza, że każda grupa różni się istotnie od pozostałych.
Przeprowadzona analiza statystyczna pozwala bardzo precyzyjnie opisać profil klientów, charakterystykę wniosków kredytowych oraz czynniki związane z ostatecznym statusem kontraktu. Wyniki są spójne i wskazują na kilka kluczowych zależności, które mogą wspierać zarówno scoring ryzyka, jak i decyzje operacyjne.
1. Zatwierdzone wnioski są najbardziej „typowe” w całej populacji
Zarówno wartości Z‑score, jak i statystyki opisowe pokazują, że zatwierdzone kontrakty mają parametry najbliższe średnim wartościom w zbiorze:
kwoty wnioskowane i przyznane są umiarkowane,
liczba rat jest średnia,
wkład własny nie odbiega od przeciętnego.
To oznacza, że system preferuje wnioski bez skrajności — ani bardzo wysokich kwot, ani bardzo długich harmonogramów, ani nietypowych parametrów.
2. Kwota kredytu i liczba rat są silnie powiązane ze statusem kontraktu
Wyniki testów ANOVA (Welch) i porównań post hoc pokazują ekstremalnie silne różnice między statusami:
Odmowy dotyczą wniosków o wysokie kwoty i długie okresy spłaty.
Anulowania i niewykorzystane oferty mają bardzo niskie kwoty i minimalną liczbę rat, co sugeruje niską jakość lub brak zaangażowania klienta.
Zatwierdzenia koncentrują się wokół wartości średnich.
To wskazuje, że parametry finansowe są jednym z najważniejszych predyktorów decyzji.
3. Typ klienta jest istotnie związany ze statusem kontraktu
Testy chi‑kwadrat wykazały silną zależność między typem klienta a wynikiem procesu:
Nowi klienci mają najwyższy odsetek zatwierdzeń (94%) i najniższy odsetek odmów.
Stali klienci częściej anulują lub są odrzucani — co może wynikać z powtarzalnych, niskiej jakości aplikacji.
Reaktywowany klient ma umiarkowane wyniki, ale niewielki udział w populacji.
Wskazuje to, że historia relacji z instytucją nie jest jednoznacznym atutem — nowy klient może być bardziej wartościowy niż stały.
4. Kanał sprzedaży jest silnie powiązany ze statusem kontraktu
To jedna z najważniejszych obserwacji:
kanały masowe (Sklep, Ogólnokrajowy) mają najwyższe zatwierdzenia,
kanały tradycyjne (Biura kredytowe, Inne) mają wysokie anulowania i odmowy,
niewykorzystane oferty pojawiają się niemal wyłącznie w kanałach masowych.
Oznacza to, że kanał pozyskania klienta jest kluczowym czynnikiem jakościowym i powinien być uwzględniany w scoringu oraz strategii sprzedażowej.
5. Wkład własny ma istotny wpływ na kwotę kredytu, typ klienta — nie
Model regresji pokazał:
kwota kredytu: istotny predyktor — większy wkład własny → większa kwota kredytu,
typ klienta: brak istotności — bank nie różnicuje kwoty kredytu ze względu na typ klienta.
To oznacza, że czynniki finansowe dominują nad demograficznymi w procesie ustalania kwoty.
Największe szanse na zatwierdzenie mają wnioski o parametrach bliskich średnim.
Kanał sprzedaży jest najważniejszym czynnikiem jakościowym — silniejszym niż typ klienta.
Nowi klienci są bardziej efektywnym segmentem niż stali.
Długie harmonogramy i wysokie kwoty zwiększają ryzyko odmowy.
Niskie kwoty i minimalne liczby rat zwiększają ryzyko anulowania lub niewykorzystania oferty.
Celem odpowiedzi na pytania badawcze, zbudowane zostaną 3 modele.
W dalszej części analizy porównana zostanie moc predykcyjna Modeli 1 i 2, aby ocenić, czy zmienne finansowe same w sobie są wystarczające do przewidywania decyzji kredytowej, czy też dodatkowe zmienne poprawiają dokładność modelu. A jeżeli tak to w jakim stopniu.
Pod każdym modelem zostaną wyświetlone tylko te wartości parametrów, które są statystycznie istotne, reszta została odfiltrowana, w celu lepszej czytelności wyników.
\[\log\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_k X_k\]
gdzie \(p\) to prawdopodobieństwo zatwierdzenia aplikacji. \(\beta_n\) to \(n-ta\) waga przypisana do zmiennej \(X_n\). \(\beta_0\) to wyraz wolny.
Obliczając wartość takiego wyrażania otrzymujemy logit ilorazu szans, który wymaga dodatkowej interpretacji.
Przykład:
Załóżmy, że dla zmiennej \(X_1\) otrzymano wartość:
\[ \beta_1 = -0.4. \] Iloraz szans (odds ratio) obliczamy jako:
\[ \text{OR}_1 = e^{\beta_1} = e^{-0.4} \approx 0.67. \]
Interpretacja:
Wzrost zmiennej \(X_1\) o jednostkę powoduje spadek szans zajścia zdarzenia o około \(33\%\), ponieważ
\[ 0.67 - 1 = -0.33. \]
Gdyby \(\beta_1\) było dodatnie, oznaczałoby to wzrost szans zajścia zdarzenia.
\[\log\left(\frac{P(Y=j)}{P(Y=0)}\right) = \beta_0^{(j)} + \sum_{i=1}^{k} \beta_i^{(j)} X_i\]
znaczenie zmiennych identyczne jak w modelu logitowym, z dodatkowym indeksem \(j\) oznaczającym kategorię docelową.
Ze względu na charakter modelu, część zmiennych pokazuje dane dummy variables - może się okazać że statystycznie istotny jest np. tylko kredyt na samochód, a nie cała kategoria jako taka.
Przykład interpretacji wartości logitu:
Przykład interpretacji współczynnika w modelu regresji logistycznej wielokategorowej: Dla kategorii \(j\) względem kategorii referencyjnej (np. “Zatwierdzony”) otrzymano: \[ \beta_i^{(j)} = 0.6. \] Iloraz szans obliczamy jako: \[ \text{OR}_i^{(j)} = e^{0.6} \approx 1.82. \] Interpretacja: Wzrost zmiennej \(X_i\) o jednostkę zwiększa szanse, że obserwacja trafi do kategorii \(j\), a nie do kategorii referencyjnej, o około \(82\%\).
Analogicznie - ujemny współczynnik zmniejszałby szansę.
Model ten oceni na bazie wszystkich dostępnych zmiennych czy aplikacja zostanie zatwierdzona czy odrzucona. Zostanie użyty do późniejszego porównania z modelem 2, który będzie używał tylko zmiennych finansowych. Zostanie także zinterpretowany najsilniejszy predyktor modelu.
| Model 1: Approved vs Reszta (Wszystkie zmienne) | |
| Metryki modelu logistycznego | |
| Metryka | Wartość |
|---|---|
| Liczba zmiennych | 16.0000 |
| Liczba obserwacji | 19965.0000 |
| Dokładność | 0.8350 |
| Czułość | 0.9670 |
| Specyficzność | 0.3578 |
| AUC | 0.7908 |
| AIC | 16000.9900 |
| R2 (McFadden) | 0.2348 |
| Model 1: Parametry modelu - Zmienne statystycznie istotne | ||||||
| Współczynniki regresji logistycznej (*** p<0.001, ** p<0.01, * p<0.05) | ||||||
| term | estimate | std.error | statistic | p.value | OddsRatio | Significance |
|---|---|---|---|---|---|---|
| NAME_PORTFOLIOPOS | 2.5579 | 0.0984 | 25.9990 | 0.0000 | 12.9089 | *** |
| NAME_PORTFOLIOCars | 2.1469 | 0.8166 | 2.6291 | 0.0086 | 8.5583 | ** |
| NAME_PRODUCT_TYPEx-sell | 1.3824 | 0.0574 | 24.0916 | 0.0000 | 3.9844 | *** |
| NAME_PORTFOLIOCash | 0.9117 | 0.0984 | 9.2671 | 0.0000 | 2.4885 | *** |
| CHANNEL_TYPEChannel of corporate sales | 0.5105 | 0.2448 | 2.0856 | 0.0370 | 1.6661 | * |
| CHANNEL_TYPERegional / Local | 0.4467 | 0.1328 | 3.3648 | 0.0008 | 1.5632 | *** |
| CHANNEL_TYPEStone | 0.3738 | 0.1229 | 3.0419 | 0.0024 | 1.4532 | ** |
| CHANNEL_TYPECountry-wide | 0.3459 | 0.1064 | 3.2507 | 0.0012 | 1.4133 | ** |
| CHANNEL_TYPECredit and cash offices | 0.3136 | 0.0858 | 3.6553 | 0.0003 | 1.3684 | *** |
| (Intercept) | −0.2254 | 0.0943 | −2.3906 | 0.0168 | 0.7982 | * |
| CNT_PAYMENT | −0.0339 | 0.0025 | −13.7645 | 0.0000 | 0.9667 | *** |
| AMT_ANNUITY | 0.0000 | 0.0000 | 2.8600 | 0.0042 | 1.0000 | ** |
| AMT_APPLICATION | 0.0000 | 0.0000 | −5.3063 | 0.0000 | 1.0000 | *** |
Model osiąga wysoką czułość (0.967), co oznacza, że bardzo skutecznie identyfikuje przypadki Zatwierdzone, natomiast niska specyficzność (0.3578) wskazuje, że słabo rozpoznaje wnioski odrzucane. AUC na poziomie 0.7908 sugeruje dobrą, choć nie idealną zdolność separacji klas, a dokładność równa 0.835 pokazuje stabilną ogólną skuteczność modelu.
Najsilniejszym predyktorem jest zmienna
NAME_PORTFOLIOPOS. Jest to zmienna binarna opisująca
konkretną wartość przyjmowaną przez zmienną NAME_PORTFOLIO.
W tym wypadku oznacza ona kredyty przyznawane w punktach sprzedaży
AGD/RTV oraz tym podobne niskokwotowe pożyczki. Iloraz szans w tym
wypadku wynosi około 12.9 — oznacza to, że wnioski z portfela POS
mają ponad dwunastokrotnie wyższe szanse akceptacji niż kategoria
bazowa, przy kontroli pozostałych zmiennych. Interpretować należy to
raczej jednak jako korelację niż konkretną przyczynę - takie wnioski z
natury mają większą szansę na akceptację przed kredytodawcę, chociażby
ze względu na mniejsze kwoty czy umowy banku ze sklepem.
Podobnie jak model 1, model 2 będzie przewidywał czy aplikacja zostanie zatwierdzona czy odrzucona. Jednak cenem oceny istotności danych niefinansowych (np. cel pożyczki), zostaną użyte wyłącznie zmienne finansowe.
| Model 2: Approved vs Reszta (TYLKO zmienne finansowe) | |
| Metryki modelu logistycznego | |
| Metryka | Wartość |
|---|---|
| Liczba zmiennych | 6.0000 |
| Liczba obserwacji | 19965.0000 |
| Dokładność | 0.7966 |
| Czułość | 0.9824 |
| Specyficzność | 0.1248 |
| AUC | 0.7240 |
| AIC | 18827.5000 |
| R2 (McFadden) | 0.0986 |
| Model 2: Parametry modelu - Zmienne statystycznie istotne | ||||||
| Współczynniki regresji logistycznej (*** p<0.001, ** p<0.01, * p<0.05) | ||||||
| term | estimate | std.error | statistic | p.value | OddsRatio | Significance |
|---|---|---|---|---|---|---|
| RATE_DOWN_PAYMENT | 5.8599 | 0.4177 | 14.0294 | 0.0000 | 350.7052 | *** |
| (Intercept) | 0.8043 | 0.0448 | 17.9696 | 0.0000 | 2.2350 | *** |
| CNT_PAYMENT | 0.0065 | 0.0016 | 4.1614 | 0.0000 | 1.0065 | *** |
| DAYS_DECISION | −0.0001 | 0.0000 | −5.1797 | 0.0000 | 0.9999 | *** |
| AMT_ANNUITY | 0.0001 | 0.0000 | 22.8612 | 0.0000 | 1.0001 | *** |
| AMT_DOWN_PAYMENT | 0.0000 | 0.0000 | −3.7300 | 0.0002 | 1.0000 | *** |
| AMT_CREDIT | 0.0000 | 0.0000 | −26.3842 | 0.0000 | 1.0000 | *** |
Model 2 osiąga wysoką czułość (0.9824), co oznacza, że niemal wszystkie przypadki Zatwierdzone są poprawnie wykrywane, jednak bardzo niska specyficzność (0.1248) wskazuje, że model prawie w ogóle nie rozpoznaje odrzuceń. AUC na poziomie 0.7240 jest zauważalnie niższe niż w Modelu 1, a dokładność 0.7966 potwierdza, że model oparty wyłącznie na zmiennych finansowych ma ograniczoną zdolność separacji klas.
Najsilniejszym predyktorem jest RATE_DOWN_PAYMENT z
ilorazem szans około 350, co oznacza, że wyższy udział wkładu
własnego dramatycznie zwiększa szanse akceptacji wniosku.
Sugeruje to, że w wypadku porzucenia zmiennych pozafinansowych, wkład
własny staje się kluczowym czynnikiem decyzyjnym. Jest to zgodne z
intuicją biznesową - wysoki wkład własny oznacza większe środki
kredytobiorcy, a do tego na starcie zmniejsza kwotę kredytu do
spłaty.
Model ten pokazuje jakie są szanse przypisania do każdej z kategorii decyzji kredytowej, w porównaniu do kategorii referencyjnej “Zatwierdzony”. Zmienne oceniające model takie jak wartość AIC zostały podane tylko dla informacji czytelnika - nie będzie go porównywać z poprzednimi modelami ze względu na inną naturę problemu. Zostanie dokonana także interpretacja najbardziej znaczącego współczynnika dla każdej kategorii.
| Model 3: Interpretacja Metryki | ||
| Parametry modelu wielokategorycznego | ||
| Metryka | Wartość | Opis |
|---|---|---|
| Liczba obserwacji | 19965.00 | Po usunięciu brakujących danych |
| Liczba kategorii | 4.00 | Poziomy zmiennej zależnej |
| Liczba zmiennych w modelu | 23.00 | Predyktory w modelu |
| Deviance | 17414.33 | Miara dopasowania (niższa = lepsze) |
| AIC | 17534.33 | Kryterium informacyjne do porównania z innymi modelami |
| Model 3: Kategorie w modelu | |
| Zmienne zależne w regresji wielokategorycznej | |
| Kategoria | Rola |
|---|---|
| Zatwierdzony (referencyjna) | Kategoria referencyjna |
| Odmowa | Kategoria porównywana |
| Niewykorzystana oferta | Kategoria porównywana |
| Anulowany | Kategoria porównywana |
| Model 3: Parametry modelu - Zmienne statystycznie istotne | ||||
| Współczynniki dla każdej kategorii vs 'Zatwierdzony' (*** p<0.001, ** p<0.01, * p<0.05) | ||||
| Kategoria | Zmienna | Wspolczynnik | P_Wartosc | Significance |
|---|---|---|---|---|
| Anulowany | NAME_CONTRACT_TYPERevolving loans | −46.0854 | 0.0000 | *** |
| Anulowany | NAME_PRODUCT_TYPEXNA | 9.3820 | 0.0000 | *** |
| Anulowany | CHANNEL_TYPEChannel of corporate sales | −8.1502 | 0.0000 | *** |
| Anulowany | CHANNEL_TYPECredit and cash offices | −6.0900 | 0.0000 | *** |
| Anulowany | CNT_PAYMENT | −4.3279 | 0.0000 | *** |
| Anulowany | RATE_DOWN_PAYMENT | 3.9574 | 0.0000 | *** |
| Anulowany | CHANNEL_TYPEContact center | 3.8137 | 0.0000 | *** |
| Anulowany | CHANNEL_TYPECountry-wide | 3.8076 | 0.0000 | *** |
| Anulowany | CHANNEL_TYPERegional / Local | −3.1202 | 0.0000 | *** |
| Anulowany | NAME_PRODUCT_TYPEx-sell | −2.6776 | 0.0000 | *** |
| Anulowany | DAYS_DECISION | −2.0206 | 0.0000 | *** |
| Anulowany | (Intercept) | −1.6559 | 0.0000 | *** |
| Anulowany | AMT_ANNUITY | −1.4418 | 0.0000 | *** |
| Anulowany | AMT_CREDIT | 0.7871 | 0.0000 | *** |
| Anulowany | NAME_PORTFOLIOCash | −0.6655 | 0.0000 | *** |
| Anulowany | NAME_PORTFOLIOPOS | −0.4993 | 0.0000 | *** |
| Anulowany | NAME_PORTFOLIOXNA | −0.3129 | 0.0000 | *** |
| Anulowany | AMT_APPLICATION | 0.0187 | 0.0000 | *** |
| Anulowany | AMT_DOWN_PAYMENT | 0.0025 | 0.0000 | *** |
| Anulowany | NAME_CONTRACT_TYPEConsumer loans | 0.0000 | 0.0078 | ** |
| Niewykorzystana oferta | CHANNEL_TYPECredit and cash offices | 11.1199 | 0.0000 | *** |
| Niewykorzystana oferta | CHANNEL_TYPECar dealer | 9.4875 | 0.0000 | *** |
| Niewykorzystana oferta | CHANNEL_TYPECountry-wide | −8.1502 | 0.0000 | *** |
| Niewykorzystana oferta | DAYS_DECISION | −6.7494 | 0.0000 | *** |
| Niewykorzystana oferta | AMT_ANNUITY | 4.6925 | 0.0000 | *** |
| Niewykorzystana oferta | AMT_APPLICATION | 4.4837 | 0.0000 | *** |
| Niewykorzystana oferta | CHANNEL_TYPEContact center | 3.0053 | 0.0000 | *** |
| Niewykorzystana oferta | CNT_PAYMENT | 2.1846 | 0.0000 | *** |
| Niewykorzystana oferta | CHANNEL_TYPEChannel of corporate sales | 1.4492 | 0.0000 | *** |
| Niewykorzystana oferta | NAME_PRODUCT_TYPEXNA | −1.3798 | 0.0000 | *** |
| Niewykorzystana oferta | NAME_PRODUCT_TYPEx-sell | −1.3096 | 0.0000 | *** |
| Niewykorzystana oferta | RATE_DOWN_PAYMENT | −0.9550 | 0.0000 | *** |
| Niewykorzystana oferta | CHANNEL_TYPERegional / Local | 0.5875 | 0.0000 | *** |
| Niewykorzystana oferta | NAME_PORTFOLIOXNA | −0.4678 | 0.0000 | *** |
| Niewykorzystana oferta | NAME_PORTFOLIOCash | −0.3246 | 0.0000 | *** |
| Niewykorzystana oferta | NAME_PORTFOLIOPOS | −0.2258 | 0.0000 | *** |
| Niewykorzystana oferta | AMT_CREDIT | 0.1360 | 0.0000 | *** |
| Niewykorzystana oferta | CHANNEL_TYPEStone | 0.0347 | 0.0000 | *** |
| Niewykorzystana oferta | NAME_CONTRACT_TYPERevolving loans | 0.0000 | 0.0224 | * |
| Odmowa | CNT_PAYMENT | −17.3875 | 0.0000 | *** |
| Odmowa | DAYS_DECISION | 9.2573 | 0.0000 | *** |
| Odmowa | AMT_ANNUITY | −8.6878 | 0.0000 | *** |
| Odmowa | NAME_PRODUCT_TYPEx-sell | −4.4827 | 0.0000 | *** |
| Odmowa | CHANNEL_TYPECar dealer | −4.2099 | 0.0000 | *** |
| Odmowa | CHANNEL_TYPEChannel of corporate sales | 3.9263 | 0.0000 | *** |
| Odmowa | CHANNEL_TYPEContact center | 3.6921 | 0.0000 | *** |
| Odmowa | AMT_DOWN_PAYMENT | −3.5493 | 0.0000 | *** |
| Odmowa | NAME_PORTFOLIOCash | −2.6776 | 0.0000 | *** |
| Odmowa | NAME_PRODUCT_TYPEXNA | 2.2217 | 0.0000 | *** |
| Odmowa | AMT_CREDIT | 2.1846 | 0.0000 | *** |
| Odmowa | CHANNEL_TYPECountry-wide | −1.3577 | 0.0000 | *** |
| Odmowa | CHANNEL_TYPECredit and cash offices | −1.0683 | 0.0000 | *** |
| Odmowa | RATE_DOWN_PAYMENT | 0.6506 | 0.0000 | *** |
| Odmowa | NAME_PORTFOLIOXNA | −0.3897 | 0.0000 | *** |
| Odmowa | NAME_PORTFOLIOPOS | −0.3540 | 0.0000 | *** |
| Odmowa | CHANNEL_TYPEStone | −0.1079 | 0.0000 | *** |
| Odmowa | NAME_CONTRACT_TYPEConsumer loans | −0.0810 | 0.0000 | *** |
| Odmowa | NAME_CONTRACT_TYPERevolving loans | 0.0007 | 0.0000 | *** |
| Odmowa | NAME_PORTFOLIOCars | 0.0000 | 0.0001 | *** |
| Odmowa | CHANNEL_TYPERegional / Local | 0.0000 | 0.0360 | * |
Model 3 pokazuje, że każda z alternatywnych decyzji („Odmowa”, „Anulowany”, „Niewykorzystana oferta”) ma własny, odmienny profil predykcyjny względem kategorii referencyjnej „Zatwierdzony”.
Dla kategorii Odmowa najsilniejszym predyktorem jest
CNT_PAYMENT (współczynnik −17.39). Dłuższy okres
kredytowania będzie korelował z wysoką kwotą kredytu, a także z gorszą
sytuacją finansową klienta.
Dla kategorii Anulowany najbardziej wyróżnia się
NAME_CONTRACT_TYPERevolving loans (współczynnik −46.09).
Revolving loans to kredyty odnawialne, które klienci mogą spłacać i
ponownie wykorzystywać w ramach przyznanego limitu. Dane te wyłapują
więc najpewniej ludzi, którzy zrezygnowali z takiego produktu po pewnym
czasie, a nie “anulowane” kredyty w sensie formalnym.
Dla kategorii Niewykorzystana oferta najsilniejszym
predyktorem jest zmienna binarna
CHANNEL_TYPECredit and cash offices (współczynnik 11.12).
Wskazuje to na specyfikę kanału, w którym klienci częściej rezygnują po
otrzymaniu poprzedniego kredytu w siedzibie banku. Grupa która była w
stanie otrzymać i spłacić poprzedni kredyt, jest najbardziej skłonna do
zrezygnowania z nowej oferty, pomimo akceptacji. Można uznać że mają oni
największe środki i najmniejszą potrzebę zaciągania kolejnych
zobowiązań, wobec czego oferta kredytowa jest dla nich mniej
atrakcyjna.
| ## Porównanie Model 1 i Model 2 | ||
| Wpływ zmiennych kategorialnych na jakość predykcji | ||
| Metryka | Model1_Wszystkie | Model2_Finansowe |
|---|---|---|
| Liczba obserwacji | 19965 | 19965 |
| Liczba zmiennych | 16 | 6 |
| Dokładność | 83.5% | 79.66% |
| Czułość | 96.7% | 98.24% |
| Specyficzność | 35.78% | 12.48% |
| AUC | 0.7908 | 0.724 |
| R2 (McFadden) | 0.2348 | 0.0986 |
| AIC | 16000.99 | 18827.5 |
| ## Wnioski z porównania Model 1 vs Model 2 | |
| Analiza wpływu zmiennych kategorialnych | |
| Aspekt | Obserwacja |
|---|---|
| AIC | Model 1 lepszy (AIC=16000.99 < 18827.5) |
| Czułość | Model 2 lepszy (98.24% > 96.7%) |
| Specyficzność | Model 1 lepszy (35.78% > 12.48%) |
Dane te pokazują że zmienne niefinansowe mają realny wpływ na dopasownie modelu. Niższa wartość AIC mówi nam że model 1 lepiej opisuje zależność między cechami klienta a decyzją kredytową niż model 2, nie uwzględniający danych w stylu celu pożyczki.
Model 2 ma jednak wyższą czułość (sensitivity), co oznacza że lepiej wykrywa faktyczne zatwierdzenia kredytów, jednak kosztem większej ilości fałszywych alarmów. Model jest więc zbyt optymistyczny.
Specyficzność (specificity) jest wyższa w modelu 1, co oznacza że lepiej identyfikuje odmowy kredytów.
Różnica w R2 McFaddena między modelami jest bardzo wyraźna: Model 1 osiąga 0.2348, podczas gdy Model 2 jedynie 0.0986. W logitach wartości powyżej 0.2 uznaje się za dobre dopasowanie, natomiast wartości poniżej 0.1 wskazują na słabą moc wyjaśniającą. Oznacza to, że zmienne niefinansowe znacząco zwiększają zdolność modelu do wyjaśniania decyzji kredytowych, a Model 2 — pozbawiony tych informacji — traci dużą część struktury zależności obecnej w danych.
Analiza modeli wydaje się potwierdzać tezę, że dane niefinansowe mają istotny wpływ na decyzje kredytowe i ich uwzględnienie jest niezbędne do budowy skutecznych modeli predykcyjnych.
Przeprowadzona eksploracyjna analiza danych pozwoliła na szczegółowe zrozumienie struktury zbioru danych dotyczących decyzji kredytowych oraz identyfikację kluczowych wzorców związanych z procesem udzielania kredytów. Analiza objęła zarówno ocenę jakości danych, jak i porównanie parametrów finansowych oraz cech klientów w zależności od statusu kontraktu.
Braki danych nie były przypadkowe — tworzyły wyraźne bloki logiczne, które odzwierciedlały przebieg procesu kredytowego:
AMT_ANNUITY,
CNT_PAYMENT) występował wyłącznie w kontraktach
anulowanych, odrzuconych lub niewykorzystanych. Brak rat oznacza brak
uruchomionego kredytu.DAYS_FIRST_DRAWING,
DAYS_FIRST_DUE, DAYS_LAST_DUE,
DAYS_TERMINATION) dotyczył głównie kontraktów
nieuruchomionych. Wyjątek: 603 zatwierdzone wnioski bez
dat, z których część miała pełne dane finansowe — wskazuje to
na błąd systemowy.AMT_DOWN_PAYMENT, RATE_DOWN_PAYMENT) wynikał
z faktu, że wkład własny nie jest obowiązkowy.RATE_INTEREST_PRIMARY,
RATE_INTEREST_PRIVILEGED) były niemal całkowicie puste
(99,7%), co czyni je bezużytecznymi analitycznie.Wnioski te pozwoliły na zastosowanie imputacji opartej na logice biznesowej, a nie statystycznej.
Analiza rozkładu statusów pokazała, że:
Jednocześnie status „Approved” nie zawsze oznacza uruchomienie kredytu — część zatwierdzonych wniosków nie posiadała harmonogramu ani rat, co wymagało dodatkowej segmentacji.
Wyniki wskazują na wyraźny związek między wysokością kwoty a decyzją kredytową:
Wniosek: im wyższa kwota, tym większe ryzyko odmowy lub rezygnacji.
Analiza wykazała istotne różnice między typami klientów:
Wniosek: typ klienta istotnie różnicuje decyzje kredytowe.
W analizie wyodrębniono trzy kluczowe grupy:
CNT_PAYMENT = 0 i AMT_CREDIT = 0 mimo
statusu „Approved”.Segmentacja ta pozwala lepiej zrozumieć jakość danych i ryzyka operacyjne.
Analiza segmentów pokazała, że:
Wniosek: ryzyko operacyjne i kredytowe jest silnie związane z kombinacją kwoty, typu klienta i statusu kontraktu.
Na podstawie wyliczonych modeli regresji logistycznej stwierdzono, że zmienne niefinansowe mają istotny wpływ na decyzje kredytowe. Modele nieuwzgledniające tych zmiennych wykazywały gorsze dopasowanie i niższą zdolność predykcyjną. Jedyną przewagą modeli opartych wyłącznie na zmiennych finansowych była nieco wyższa czułość, jednak kosztem znacznego wzrostu fałszywych alarmów.
Analiza EDA pozwoliła na pełne zrozumienie struktury danych, identyfikację kluczowych wzorców oraz ocenę jakości informacji wykorzystywanych w procesie kredytowym. Najważniejsze ustalenia to:
Przeprowadzone badania umożliwiły szczegółową ocenę jakości danych oraz identyfikację kluczowych zależności między parametrami finansowymi, typami klientów i statusami kontraktów, tworząc całościowy obraz funkcjonowania procesu kredytowego.