Skip to main content

Basic Credit Risk Modeling for Basel/IFRS 9 using R/Python/SAS

In this course, students learn how to develop credit risk models in the context of the Basel and IFRS 9 guidelines

About This Course

In this course, students learn how to develop credit risk models in the context of the Basel and IFRS 9 guidelines. The course extensively reviews the 3 key credit risk parameters: Probability of Default (PD), Loss Given Default (LGD), and Exposure at Default (EAD). Modeling methods, performance measurement and benchmarks are discussed into great detail. The course provides a sound mix of both theoretical and technical insights, as well as practical implementation details. These are illustrated by several real-life case studies and examples. The course also features code examples in R, Python and SAS. Throughout the course, the instructors also extenisvely report upon their research and industry experience.

The course features more than 6 hours of video lectures, more than 100 multiple choice questions, various LinkedIn polls with industry perspectives and references to background literature. A certificate signed by the instructors is provided upon successful completion.

See this sample lecture video on YouTube to get a free teaser of the course contents.

We can also come and teach this course on-site in classroom format. If interested, please mail us at:


The enrollment fee for this course is EUR 250 (VAT excl.) per participant. Payments are securely handled by PayPal. If you are a company in the European Union, then we can apply VAT reverse charge. For this, please mail your VAT number to Part of our course revenue is used towards funding organizations involvement in protecting and cleaning our oceans. See our about page to learn more about our mission statement.

After enrollment, participants will get 1 year unlimited access to all course material (videos, R/Python/SAS scripts, quizzes and certificate).


Before subscribing to this course, you should have business expertise in credit risk and a basic understanding of descriptive statistics (e.g., mean, median, standard deviation, etc.) and inference (e.g., confidence intervals, hypothesis testing). Previous R, Python and SAS experience is helpful but not necessary.

Course Outline

  • Introduction
    • Instructor team
    • Our Credit Risk Publications
    • Software
    • R/Python tutorials
    • Data sets
    • Disclaimer
  • Credit scoring
    • Introduction
    • Retail credit scoring
    • Application scoring
    • Behavioral scoring
    • Corporate credit scoring
    • Prediction approach
    • Expert-based approach
    • Agency Rating approach
    • Shadow Ratings approach
    • Quiz
    • Discussion
  • Basel Accords/IFRS 9/CECL
    • Regulatory versus Economic Capital
    • Basel I and II Capital Accords
    • Basel III
    • Basel IV
    • Basel approaches to model credit risk
    • Standardized approach
    • IRB approach
    • Default rating specifics
    • Basel IRB model architecture
    • Risk weight functions for retail
    • Merton model
    • Risk weight functions
    • IFRS 9
    • Credit risk model lifecycle
    • Quiz
    • Discussion
  • Data Preprocessing
    • Motivation
    • Types of data
    • Types of variables
    • Denormalizing data
    • Sampling
    • Visual data exploration
    • Descriptive statistics
    • Missing values
    • Outliers
    • Categorization
    • WOE and IV
    • Variable Transformation
    • Quiz
  • Classification Techniques
    • Linear Regression
    • Logistic Regression
    • Nomograms
    • Decision trees
    • Cumulative logistic regression
    • Multiclass decision trees
    • Quiz
  • Measuring the performance of credit scoring classification models
    • Split sample method
    • Cross-validation
    • Single sample method
    • Confusion matrix (classification accuracy, classification error, sensitivity, specificity)
    • ROC curve and area under ROC curve
    • CAP curve and Accuracy Ratio
    • Lift curve
    • Kolmogorov-Smirnov distance
    • Mahalanobis distance
    • Performance benchmarks
    • Multiclass confusion matrix
    • Notch difference graph
    • Multiclass AUC
    • Quiz
  • Survival analysis
    • Censoring
    • Time varying covariates
    • Survival distributions
    • Kaplan Meier analysis
    • Accelerated Failure Time models
    • Proportional hazards model
    • Discrete survival analysis
    • Competing risks
    • Mixture cure modeling
    • Survival analysis in credit risk modeling
    • Evaluating survival analysis
    • Quiz
  • Defining default ratings and calibrating PD
    • Defining default ratings
    • Rating migration analysis
    • Rating philosophy
    • Rating mobility
    • PD calibration
    • Quiz
  • Modeling Loss Given Default (LGD)
    • Definition of default
    • Definition of LGD
    • Ways of measuring LGD
    • LGD according to Basel
    • Constructing an LGD data set
    • Complete business Cycle
    • Default definition and cures
    • LGD measurement
    • Length of workout period
    • Incomplete workouts
    • Discount rate
    • LGD < 0 or LGD>100%
    • Indirect costs
    • LGD drivers
    • Data preprocessing
    • Challenges in LGD modeling
    • LGD modeling approaches
    • Segmentation
    • Regression trees
    • Linear regression LGD modeling
    • Beta regression LGD modeling
    • Logistic regression LGD modeling
    • Cumulative logistic regression LGD modeling
    • Two stage LGD models
    • Advanced LGD models
    • Performance measures
    • LGD ratings
    • LGD calibration
    • Exposures in default
  • Modeling Exposure At Default (EAD)
    • Defining Exposure At Default (EAD)
    • EAD according to Basel
    • Drawings post default
    • EAD Development Sample
    • CCF < 0 or CCF>100%
    • EAD modeling
    • EAD Case Study
    • Correlation between PD/LGD/EAD

Course Staff

Prof. dr. Bart Baesens

Prof. dr. Bart Baesens

Bart was born in Bruges (West Flanders, Belgium) on February 27th, 1975. He speaks West-Flemish (which he is very proud of!), Dutch, French, a bit of German, some English and can order a beer in Chinese. He is married to Katrien Denys and has 3 kids (Ann-Sophie, Victor and Hannelore), and 2 cats (Felix and Simba). Besides enjoying time with his family, he is also a diehard Club Brugge soccer fan. Bart is a foodie and amateur cook. He loves drinking a good glass of wine (his favorites are white Viognier or red Cabernet Sauvignon) either in his wine cellar or when overlooking the authentic red English phone booth in his garden. His favourite pub is “In den Rozenkrans” in Kessel-Lo (close to Leuven) where you will often find him having a Gueuze Girardin 1882 or Tripel Karmeliet with a spaghetti of the house. Bart loves traveling and his favorite cities are: San Francisco, Sydney and Barcelona. He is fascinated by World War I and reads many books on the topic. He is not a big fan of being called professor Baesens (or even worse, professor Baessens), shopping (especially for clothes or shoes), pastis (or other anise-flavored drinks), vacuum cleaning (he can’t bare the sound), students chewing gum during their oral exam of Credit Risk Modeling (or had garlic for breakfast), long meetings (> 30 minutes), phone calls (asynchronous e-mail communication is a lot more efficient!), admin (e.g., forms and surveys) or French fries (Belgian fries are a lot better!). He is often praised for his sense of humor, although he is usually more modest about this. Bart is also a professor of Big Data and Analytics at KU Leuven (Belgium) and a lecturer at the University of Southampton (United Kingdom). He has done extensive research on Big Data & Analytics, Credit Risk Modeling, Fraud Detection and Marketing Analytics. He has written more than 250 scientific papers, some of which have been published in well-known international journals (e.g., MIS Quarterly, Machine Learning, Management Science, MIT Sloan Management Review and IEEE Transactions on Knowledge and Data Engineering) and presented at top international conferences (e.g., ICIS, KDD, CAISE). He has received various best paper and best speaker awards. Bart is the author of 8 books: Credit Risk Management: Basic Concepts (Oxford University Press, 2009), Analytics in a Big Data World (Wiley, 2014), Beginning Java Programming (Wiley, 2015), Fraud Analytics using Descriptive, Predictive and Social Network Techniques (Wiley, 2015), Credit Risk Analytics (Wiley, 2016), Profit Driven Business Analytics (Wiley, 2017), Web Scraping for Data Science with Python (Apress, 2018), and Principles of Database Management (Cambridge University Press, 2018). He sold more than 25.000 copies of these books worldwide, some of which have been translated in Chinese, Russian and Korean. His research is summarized at For an overview of the courses he is teaching, see He also regularly tutors, advises and provides consulting support to international firms regarding their big data, analytics and credit risk management strategy.

Prof. dr. Tim Verdonck

Prof. dr. Tim Verdonck

Tim was born in Merksem (Antwerp, Belgium) on February 19, 1983. He lives together with his girlfriend Nuria Baeten, his daughter Oona, his dog Ragna and two cats Nello and Patrasche (the names of the cats come from the novel A Dog of Flanders, which takes place in Hoboken and Antwerp, see He lives in Wilrijk (Antwerp, Belgium) and enjoys relaxing in his garden with his family. He loves travelling and his favorite cities are Barcelona and Vancouver. On holidays, he likes to dive (his favorite place is Sipadan in Malaysia), snowboard and wakeboard. His other favorite sports are tennis and football.

Tim Verdonck is also a professor of Statistics and Data Science at the Department of Mathematics of University of Antwerp (Belgium). He is affiliated to KU Leuven and has been an invited professor at the University of Bologna, teaching advanced non-life insurance in the Master of Quantitative Finance. He is chairholder of the BNP Paribas Fortis Chair on Fraud Analytics, the Allianz Chair on Prescriptive Business Analytics in Insurance and the BASF Chair on Robust Predictive Analytics. Tim has a degree in Mathematics and a PhD in Science: Mathematics, obtained at the University of Antwerp. During his PhD he successfully took the Master in Insurance and the Master in Financial and Actuarial Engineering, both at KU Leuven. His research interests are in the development and application of robust statistical methods for financial, actuarial and economic data sets. He is associate editor of Statistics: A Journal of Theoretical and Applied Statistics (Taylor & Francis) and Computational Statistics & Data Analysis (Elsevier). Tim is co-organizer of the Data Science Meetups in Leuven and managing partner at Boltzmann (, a team of experts in machine learning that transform data into actionable insights.