# Prepayment speeds

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](/modeling/prepayment/).

## One measure of unscheduled principal

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](/concepts/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

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](/concepts/credit-loss-measurement/), 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](/uploading/declaring-formats/).

## SMM and CPR

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:

$$
\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:

$$
\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

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

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

| Source | Fields | Method |
|---|---|---|
| A reported prepayment amount | Partial Prepayment Amount or Unscheduled Principal Amount | Method A (direct partial) |
| Actual principal against scheduled principal | Actual Principal Paid, less Scheduled Principal Due or Paid | Method B (actual vs. scheduled) |
| Actual payment total against scheduled payment total | Actual Payment Amount less Scheduled Payment Amount, same month | Method 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](/reference/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.

### What Vintage never does

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

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.

## Which months are measured

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](/concepts/missing-data/).

**Gap months still count for credit loss:** A loan with a reporting gap stays in the credit-loss curves across the gap, at its last reported
balance. Only the prepayment measure refuses those months, because a rate needs a starting
balance that was actually observed.

## Inferred payoffs

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](/concepts/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.

## When there is no speed

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.

## Measured loans versus loans on the book

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](/concepts/credit-loss-measurement/) works differently on purpose: there,
every loan alive at an age is in the denominator.

## Carrying the speeds forward to term

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:

$$
\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](/concepts/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](/concepts/what-vintage-does-not-do/).

## Related

- [Reading the prepayment section](/modeling/prepayment/)
- [Payoffs and exits](/concepts/payoffs-and-exits/)
- [Missing and unreported data](/concepts/missing-data/)
- [Modeling methods](/reference/modeling-methods/)
- [Loan pricing](/concepts/loan-pricing/)
- [Vintage analysis](/concepts/vintage-analysis/)