Skip to content

Payoffs and exits

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

A payoff is a loan repaid in full before it matures: the borrower refinances, sells the collateral, or pays the balance off early. Vintage treats a payoff as a full prepayment, and folds it together with partial prepayments into one measure of principal returned ahead of schedule. An exit is the other way a loan can leave the book without defaulting: it is sold, participated out, or transferred to another servicer. An exit is not a payoff, and Vintage keeps the two strictly apart.

How payoffs become prepayment speeds is on Prepayment speeds, and how a loan’s single ending is chosen when its data carries several signals is on How a loan’s ending is decided.

  • Upload Review. The payoff card says how many loans are ready for payoff and what the data says about payoffs: a count when a column proves them per loan (“12 of 60 loans recorded a payoff”), the source when they come from somewhere else (“Payoffs come from your Loan Status values, not a per-loan amount or date.”), or “Nothing in this data reports payoffs yet.” See Reviewing before you finalize.
  • Portfolio screen. The summary band carries the same statement for the whole book, and each loan’s Status column reads Paid off or Exited (other) when that is the ending Vintage resolved. See The Portfolio screen.
  • Modeling screen. Payoffs are part of the prepayment section’s speed curve (single monthly mortality, SMM, and its annualized conditional prepayment rate, CPR), and they shape how fast the balance runs off in the projected tail of the loss curve and in Pricing. See Reading the prepayment section.

Map whichever of these your core exports:

FieldFile group (kind of file)What it gives Vintage
Payoff Flag, Prepayment FlagSnapshotA payoff, when the value is one you marked as the event (Method A)
Loan Status, Closure ReasonSnapshotA payoff, when the value is one you classified Paid off (Method B)
Payoff AmountSnapshot, TransactionA payoff, with the amount repaid
Payoff DateSnapshotThe exact date of the payoff
Transaction Type with Transaction AmountTransactionA payoff for each ledger row whose code you classified Payoff

The two payoff methods, in plain words:

  • Method A: direct event. A Payoff Flag or Prepayment Flag says the loan paid off.
  • Method B: closure classification. A Loan Status or Closure Reason value says the loan paid off.

A and B are the same measurement. Both resolve to the same payoff signal, and in both the meaning comes from your own classification of the values, so Vintage never suggests moving from one to the other. An unclassified value is never guessed; that is why Column Mapping asks you to classify every value of a status or flag column before you continue. See Classifying values.

Payoff Amount is a genuine refinement on either method. Without it, a payoff returns the loan’s whole remaining balance. With it, the payoff returns the reported amount, capped at the balance left after that month’s scheduled principal.

Like every modeled output, payoff needs the base fields on each loan (Loan ID, Snapshot Month, Current Balance, and a Term (Months) or Maturity Date). The payoff signal itself is event-shaped: a loan that never paid off has no payoff value, and that is a fact, not missing data. So a loan counts as ready for payoff when its own base fields are present and a payoff signal exists anywhere in your data. See Modeling methods.

How a payoff enters the prepayment measure

Section titled “How a payoff enters the prepayment measure”

A payoff books once, in the month its ending is placed, against the balance the loan carried at the start of that month. The part of it that counts as unscheduled principal, principal returned ahead of schedule, is:

U=min⁡(Payoff Amount, Bstart−S)U = \min\big(\text{Payoff Amount},\ B_{\text{start}} - S\big)
  • B_start is the loan’s balance at the start of the payoff month.
  • S is the scheduled principal you reported for that month.
  • Without a Payoff Amount, U is the whole of B_start − S. U is never below zero.

In words: everything the borrower repaid beyond that month’s scheduled payment of principal is prepayment. For example, a loan owing $50,000 at the start of the month, with $800 of scheduled principal due, pays off with a reported Payoff Amount of $50,000. Its unscheduled principal is the smaller of 50,000 and 49,200, so $49,200; without a Payoff Amount the figure is the same $49,200.

Two conditions from the speed measure apply to every payoff. The loan must report a schedule basis (scheduled principal, or a scheduled payment alongside an actual payment), because speeds are measured against the scheduled balance and Vintage never reconstructs one. And the month’s starting balance must have been observed, so a payoff landing in a month right after a reporting gap is counted but not measured. A payoff on a loan without a schedule basis is still a real ending: it shows in the Status column, it stops the loan’s exposure, and it is detected and counted, but it cannot produce a speed. See Prepayment speeds.

Payoff detection runs on every loan. A loan with a schedule basis that never paid off is a measured zero in the prepayment speeds, not missing data.

A payoff in the final month of a loan’s term is read the same way: it counts as unscheduled principal only to the extent it exceeds the scheduled principal you reported for that month. A balloon payment that your core reports as that month’s scheduled principal is therefore not prepayment, and one it does not report there reads as prepayment.

Many cores drop a loan from the file once it closes, without ever reporting a payoff. Left alone, those loans would vanish from the measure with no event, and the speeds of the cohort (the loans your segment selects) would read too low. So when a modeled loan stops appearing in your snapshots, Vintage treats it as having paid off in full if all of these hold:

  • it stopped appearing before the portfolio’s latest snapshot month, so its absence is real rather than the edge of your data;
  • it still owed a balance at its last appearance (more than one dollar, so a loan reported at a few cents does not read as prepaying);
  • it had not reached maturity, with a three-month buffer: its last appearance must be more than three months before the end of its term (its last observed age below the term less three). A loan last seen within the final three months of its term is treated as having matured on schedule, not prepaid, so a book that drops loans a month or two early at maturity does not read as prepaying;
  • the data leaves it genuinely open: no charge-off, payoff, or exit was resolved for it, and it did not arrive already ended.

An inferred payoff books in the month after the loan’s last appearance, at its last reported balance, and enters the speed measure that month on the same terms as a reported payoff, including the schedule-basis requirement.

For example, a 60-month loan last appears at age 40 with $8,000 outstanding, and your portfolio’s latest snapshot is two years later. Vintage books an inferred payoff of $8,000 at age 41. A loan of the same term that last appears at age 57, 58, or 59 is treated as having matured.

An inferred payoff is an inference, not a reported fact, and Vintage keeps it distinct. It never applies to a loan with an explicit reported payoff, so no payoff is counted twice. It does not change the loan’s resolved ending: the Status column still reads Open with “No exit reported”, because Vintage cannot prove how the loan closed. And Vintage counts the loans it was applied to separately from reported payoffs.

Exits: sold, participated out, transferred

Section titled “Exits: sold, participated out, transferred”

A loan you mark Exited (other) left the book for a reason that is neither a payoff nor a default. You mark it by classifying a Loan Status or Closure Reason value as Exited (other) at Column Mapping or on the Fields screen.

Vintage measures an exited loan up to the month it left and no further, with three consequences:

  • It is not counted as a payoff. A sale or transfer says nothing about how fast borrowers repay.
  • It contributes nothing to prepayment speeds. An exit is not prepayment behavior.
  • It stops counting toward loss experience at the age it left. A loan the bank no longer holds cannot be observed to default afterward, so it stops backing later ages of the loss curve.

The exit month itself still counts in that month’s loss rate on outstanding balance: the loan was exposed at the start of that month and did not default in it. That is why an exit is treated as partial visibility, a loan Vintage watched for part of its life, rather than as an exclusion.

An exit can never trigger the inferred-payoff rule above, and like any ending it books once: if a loan’s status keeps reading the exit value afterward, those later months are post-terminal.

For example, a loan originated in February 2020 is sold in a participation in June 2023, at age 40, and your core marks it SOLD, which you classified Exited (other). The loan backs the loss curve’s ages 0 through 40, counts in the June 2023 loss denominator, adds nothing to prepayment speeds in June, and backs no later age.

The rules on How a loan’s ending is decided settle every conflict. In short: the earliest ending wins; in the same month a charge-off outranks a payoff and a payoff outranks an exit; a payoff reported on both a snapshot and a transaction file for the same month is taken from the snapshot and never added twice; and a loan reported paid off that keeps reporting a balance books its payoff once, with the later months excluded and the contradiction counted.