Skip to content

Prepayment speeds

View as MarkdownOpen in Claude(opens in a new tab)Open in ChatGPT(opens in a new tab)

A borrower who pays principal faster than the loan’s schedule requires is prepaying. Some pay the whole loan off early; others send an extra payment now and then and keep the loan open. Vintage measures both as one quantity, unscheduled principal returned, and expresses it as a speed: the share of the balance that could have prepaid in a month that actually did.

The full statement of how that speed is measured is below: where the figures come from, what it is divided by, which loans and months count, and how it is carried forward past the edge of your data. To read the speed on screen, see Reading the prepayment section.

Vintage models two behaviors, credit loss and prepayment. Prepayment combines the two ways principal leaves a loan early:

  • a full payoff, where the borrower retires the whole loan before its term, and
  • a partial prepayment (also called a curtailment), where the borrower pays down extra principal and the loan stays open.

Both are principal returned ahead of schedule, so both feed the same speed. A loan that was sold, participated out or transferred has exited; that is not prepayment behavior and contributes nothing to the speed (see Payoffs and exits). A charged-off amount is a loss, not a prepayment, and never counts toward the speed.

The schedule basis: what the speed is divided by

Section titled “The schedule basis: what the speed is divided by”

A prepayment speed measures how much of the balance that was free to prepay in a month actually did. That needs to know how much principal the loan was scheduled to pay, because scheduled principal is not prepayment. The reported figure that tells Vintage this is the loan’s schedule basis. A loan has one when its data carries any of:

  • Scheduled Principal Due or Scheduled Principal Paid, on a snapshot;
  • the same figure reported on a typed transaction ledger; or
  • a Scheduled Payment Amount together with an Actual Payment Amount for the same month. The difference between two reported payment totals is reported principal, because the interest is in both figures and cancels.

An Interest Rate or a Scheduled Payment Amount on its own is not a schedule basis. Splitting a payment into principal and interest would take rate math, and Vintage does not reconstruct a schedule to get a denominator.

A loan with no schedule basis is excluded from the speed measure entirely, even when it reports a direct prepayment amount, because a reported prepayment with nothing to divide it by is not a speed. Before you finalize an upload, the Review counts these loans as not ready for prepayment and names what would bring them in. Only loans without a schedule basis are excluded from speeds, and they still count in the credit-loss curves, which need no schedule.

If your scheduled-principal column reports a running total rather than each month’s figure, say so when you map it. Read as monthly, a life-to-date figure would subtract everything scheduled since origination and shrink the balance the speed is measured against. See Declaring formats.

Vintage reports the two standard speeds: the single monthly mortality (SMM), the share of the available balance prepaid in one month, and the conditional prepayment rate (CPR), the same speed expressed as an annual rate. Both are measured per loan age, where age is the number of months since origination.

For each age a, Vintage adds up every measured loan-month at that age:

SMMa=∑U∑(B−S)\text{SMM}_a = \frac{\sum U}{\sum \left( B - S \right)}

where, for each loan-month at age a:

  • U is the unscheduled principal returned in that month,
  • B is the balance at the start of that month, and
  • S is the scheduled principal for that month.

The denominator is the balance at the start of the month less that month’s scheduled principal: the balance that was actually available to prepay. Because the sums are in dollars, larger balances carry more weight. The speed is balance-weighted, not a count of loans.

The annual speed compounds the monthly one. It is never twelve times the SMM:

CPR=1−(1−SMM)12SMM=1−(1−CPR)1/12\text{CPR} = 1 - \left( 1 - \text{SMM} \right)^{12} \qquad \text{SMM} = 1 - \left( 1 - \text{CPR} \right)^{1/12}

An SMM of 1% is a CPR of about 11.36%, not 12%.

A worked example. A $100,000 loan starts the month owing $100,000. Its scheduled principal for the month is $1,500, and the borrower sends $2,000 of extra principal. The balance available to prepay is $98,500, so this loan-month’s SMM is 2,000 ÷ 98,500, about 2.03%, a CPR of about 21.8%. At a given age, Vintage adds every loan’s figures together before dividing, rather than averaging each loan’s own speed.

The headline speed on the Prepayment section is one annualization of the pooled monthly speed of the cohort (the loans your segment selects): the unscheduled principal at every observed age added together, divided by the available balance at every observed age added together, then converted to CPR once. It is not an average of the per-age CPRs.

When fewer than 10 loans were measured at the last age the chart draws as observed, the headline carries the qualifier Thin history, directional only. It quotes no loan count.

Where the unscheduled principal comes from

Section titled “Where the unscheduled principal comes from”

There are exactly three sanctioned sources of partial-prepayment dollars, in this order of preference:

SourceFieldsMethod
A reported prepayment amountPartial Prepayment Amount or Unscheduled Principal AmountMethod A (direct partial)
Actual principal against scheduled principalActual Principal Paid, less Scheduled Principal Due or PaidMethod B (actual vs. scheduled)
Actual payment total against scheduled payment totalActual Payment Amount less Scheduled Payment Amount, same monthMethod B (actual vs. scheduled)

Each method needs a schedule basis as well; a reported amount is still measured against the reported schedule. Under Method B, a month paid below schedule counts as zero unscheduled principal, never as a negative, and a month’s figure is never more than the balance left after that month’s scheduled principal. The full requirements are in Modeling methods.

Methods A and B are equally accurate. Both read your reported figures against your reported schedule. They differ in scope: Method A counts what your servicing system labelled a prepayment, while Method B counts every dollar of principal paid above schedule, so it also catches curtailments nobody labelled. Vintage does not recommend moving from one to the other.

Full payoffs add to the same measure. A payoff is detected from a Payoff Flag or Prepayment Flag value you marked as the event, a Loan Status or Closure Reason value you marked paid off, or a reported Payoff Amount. Without a Payoff Amount, a payoff returns the loan’s whole remaining balance. With one, it returns the reported amount, capped at the balance left after that month’s scheduled principal.

When a snapshot and a transaction file report the same quantity for the same loan, the snapshot figure is used and the two are never added together. A loan with an explicit reported payoff is never also given an inferred one.

Vintage never reconstructs an amortization schedule to infer prepayment: not from balances, not from an interest rate, and not from a payment amount. A loan whose balance fell by more than its scheduled principal, but which reports no prepayment amount, no actual principal, and no payment totals, does not have the difference booked as a prepayment. Every speed Vintage shows is measured from figures you reported.

Loans with a schedule basis but no partial-prepayment figure

Section titled “Loans with a schedule basis but no partial-prepayment figure”

Full-payoff detection is active for every loan. So a loan with a schedule basis but none of the three partial-prepayment sources still belongs in the speed measure: if it never paid off, that is a measured zero, not missing data.

What such a loan cannot show is its partial prepayment. That is structurally invisible, so the speed for these loans reflects full payoffs only. What unlocks partial measurement is a reported Partial Prepayment Amount or Unscheduled Principal Amount, or Actual Principal Paid, alongside the scheduled principal the speed always needs.

A speed is measured from one month to the next, so a month counts only when its starting balance was observed. That holds when:

  • the loan has a snapshot in the calendar month before, or
  • the month is the loan’s origination month, for a loan whose Origination Date and Original Loan Amount were both provided: the original amount states the starting balance. An estimated origination does not qualify, because its first balance was never observed as a start.

Every other month is an excluded month for prepayment, and both the top and the bottom of the SMM skip it. In practice that means:

  • months inside a gap in your reporting,
  • the first month after a gap, and
  • the first observed month of a loan that was already seasoned when your data begins.

Amount columns are read as monthly figures. A prepayment reported in a month books in that month only and is never spread across a gap. A prepayment amount that lands on an excluded month cannot be measured as a speed; Vintage sets it aside and counts it rather than dropping it silently or spreading it. The reasoning behind these rules is on Missing and unreported data.

When a loan the data leaves open stops appearing before the portfolio’s latest snapshot, still owing a balance and more than three months before the end of its term, Vintage treats it as paid off in full in the month after its last observation, at its last reported balance (the full rule, including the maturity buffer, is on Payoffs and exits). For a loan with a schedule basis, that loan-month enters the speed as a complete prepayment: no scheduled principal was observed for the unobserved month, so the whole last balance is both the unscheduled principal returned and the balance available to prepay. Vintage counts how many loans this applied to.

A prepayment figure that cannot be measured reads as a dash, never as 0.00%. A confident zero would misread absent data as a book that never prepays. There are two reasons a cohort can have no speed, and every place that says prepayment could not be measured names which one applies:

  1. No loan in the cohort reports a schedule basis. The fix is to supply scheduled principal, or scheduled and actual payment totals.
  2. The cohort does not yet have two consecutive months of data. A speed needs a month whose start was observed, so a cohort seen in only one month, as after an ordinary first upload, has nothing to measure over yet. A snapshot for the next consecutive month resolves it. The next quarterly snapshot of a quarterly book does not, because the months are not consecutive.

Both reasons describe the cohort on screen, not your uploads as a whole. A segment can lack a schedule basis even when most of your book reports one.

The bars behind the speed chart count the loans that could be measured for prepayment at that age, which on many books is fewer than the loans alive there: loans with no schedule basis, and loans in an excluded month, are on the book but not in the measure. The point where the speed curve stops being drawn as observed is set by the same measured count. On a book where most loans carry no schedule basis, the solid line ends earlier and the bars stand lower, and both are honest.

The credit-loss curve works differently on purpose: there, every loan alive at an age is in the denominator.

The per-age speeds are measured where your data reaches. Pricing and the projected part of the loss curve need a speed at every age to the end of the cohort’s term, so Vintage builds one projected speed path from the measured speeds. Every part of the product that needs a prepayment speed past the edge of your data reads this one path, so they cannot disagree about how fast the book prepays.

The path is built in four steps:

  1. Short gaps are bridged. Where an age in the middle of the curve has no measured loans, and the gap is three months or less with at least 20 measured loans at the ages on both sides, Vintage draws a straight line across it. Bridged ages are drawn dashed. Longer or thinly backed gaps are left as gaps.
  2. The speeds are smoothed. Each age’s speed becomes an average of that age and the two before it, weighted by how many loans were measured at each. A thinly measured age defers to its better measured neighbours.
  3. The observed edge is found. The last age with at least 20 measured loans behind it is the edge of the observed curve. Ages past it are projected, even where a handful of loans were measured there: a point resting on fewer than 20 loans is replaced by the projection rather than drawn as observed. If no age reaches 20, the last measured age is the edge.
  4. The tail glides to the long-run speed. Past the edge, the speed moves from the last observed speed toward the cohort’s long-run speed (the average of the smoothed speeds over the last third of the measured ages, weighted by measured loans), closing a tenth of the remaining distance each month:
SMMk=SMM‾+(SMME−SMM‾)×0.9 k−E\text{SMM}_k = \overline{\text{SMM}} + \left( \text{SMM}_E - \overline{\text{SMM}} \right) \times 0.9^{\,k - E}

where E is the observed edge, SMM_E is the smoothed speed there, k is a later age, and the barred SMM is the long-run speed. In words: the projected speed starts where the measured speed left off and settles toward the cohort’s own long-run level. Nothing about it comes from outside your data. For example, with a smoothed speed of 2.0% SMM at the edge and a long-run speed of 1.0%, the projected speed is 1.9% one month past the edge and about 1.35% ten months past it.

The path runs to the cohort’s balance-weighted term, the representative lifetime the curves project to (see Vintage analysis).

The speed chart, and its download, draw this path: the solid line is the smoothed measured speed, and the dashed parts are bridged or projected ages. So a point on the chart can differ from the raw per-age SMM computed by the formula above. The headline speed is computed from the raw measured figures, before any bridging or smoothing.

The speed is your cohort’s historical speed. It does not vary with where interest rates go; see What Vintage does not do.