Sunday, December 02, 2012
Build a Scorecard in Oracle Using Logistic Regression Model
One of the popular methods in assessing credit risk is a scorecard. To build a scorecard manually, analysts first identify a number of relevant variables, e.g. having bankruptcies in the past, number of open accounts, etc. Each variable is divided into meaningful segments based on its value. Then a point is assigned to each segment. The credit score is the sum of the points for all the variables. For example, a scorecard may look like the following: Variable | Segment | Point Having Bankruptcy | NO | 95 Having Bankruptcy | YES | 15 Number of Open Accounts | from 1 to 3 | 30 Number of Open Accounts | from 4 to 8 | 50 Number of Open Accounts | 9 or more | 40 ................................................... Assume a person's credit history shows past bankruptcy, 4 open accounts and other information. His credit score will be calculated as 15+50..... To determine the points manually is subjective. A much better way is to build a logistic regression model and use the model coefficients as the "points". A scorecard created this way is accurate and yet still provides the transparency of a scorecard. One of the top cell phone service provider actually used our model-derived scorecard to screen the new customers. In example 2 of the post Build Predictive Models Using PL/SQL, we show how to build a logistic regression model in Oracle. The extract the model coefficients, we simply use the following query: select attribute_name, attribute_value, coefficient from table(select dbms_data_mining.get_model_details_glm('GLM_MODEL') from dual); (Replacing 'GLM_MODEL' with real model name) We may want to perform some transformation of the coefficients so that the score will be within the desired range.