We develop a data-driven credit risk model in Python to predict the probabilities of default (PD) and assign credit scores to all borrowers. We will determine credit scores using a highly interpretable, easy to understand and implement scorecard that will help us in calculating the credit scores for future borrowers. We will also be creating models for predicting Loss Given Deafualt (LGD) and Exposure At Default (EAD) which will be used in conjunction with our PD model to calculate the Expected Loss (EL) for all the loans given so far. We will also see how to monitor the model we have built in presence of new data. We make use of Population Stability Index(PSI) to compare the old and new datasets and see if there is a need to alter the model we have built previously.