Single Monthly Mortality (SMM) & Conditional Prepayment Rate (CPR)

Conditional Prepayment Rate (CPR)

CPR is the annualized percentage of the existing mortgage pool that is expected to be prepaid in a year. This assumes a constant rate for prepayment, i.e., after every coupon, a constant percentage of the mortgages will be prepaid. This is also called the Constant Mortgage Mortality (CMM).

For example, if CPR is 8%, then the investor can expect 8% of the mortgages within the security pool to be prepaid within the year.

CPR is estimated based on various factors such as the characteristics of the underlying pool, historical prepayment rates and future predictions.

Single Monthly Mortality Rate (SMM)

CPR is an annual rate. However, since the mortgage payments happen monthly, we need to calculate the monthly prepayment rate. SMM is a measure of the monthly mortgage prepayment rate of the security’s mortgage pool.

Let’s take an example to understand how SMM can be calculated.

Assume that the outstanding loan is $100,000, the scheduled principal and interest payments are $500 and $10,000. If the actual payments in the first month are $12,000, the SMM will be calculated as follows:

SMM = (12,000 – 10,000 - 500)/(100,000 - 500) = 1.51%

This means that 1.51% of the month’s scheduled principal balance has been prepaid.

Relationship between SMM and CPR

The following formula shows the relationship between SMM and CPR.

SMM = 1 – (1 – CPR)1/12


Assuming a CPR of 6%, the SMM will be calculated as follows:

SMM = 1 – (1 – 0.06) 1/12 = 0.514%


CPR = 1 – (1 – SMM) 12

If SMM is 1.5%, CPR will be calculated as follows:

CPR = 1 – (1 – 1.5%)^12 = 16.6%

Calculating Prepayment

The SMM can be used to calculate a dollar amount for the monthly principal prepayment.

Prepayment ith month ($) = SMM * (Principal Bal. i – Principal Pmt. i)

Learn the skills required to excel in data science and data analytics covering R, Python, machine learning, and AI.

Free Guides - Getting Started with R and Python

Enter your name and email address below and we will email you the guides for R programming and Python.

Saylient AI Logo

Take the Next Step in Your Data Career

Join our membership for lifetime unlimited access to all our data analytics and data science learning content and resources.