Skip to content

Loan pricing

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

Pricing finds one number: the note rate at which this loan’s projected return meets your target. Vintage takes the cohort you have sliced on the Modeling screen, uses how those loans have actually behaved (how fast they defaulted, how much was lost, how fast they prepaid), and projects a new loan of the size and term you enter, month by month, to the end of its term. The rate at which that projection earns your target return is the required rate.

Every figure in Pricing is a reading of that one projection: the rate build-up, the funding cost, the expected life, the projected loss, the profitability figures and the month-by-month table. The method is set out below; for the inputs and controls, see Pricing a loan.

The projection follows one representative loan from its first month to its term. Each month starts from the balance the loan carries, and three things take principal out of it, in this order:

  1. Default. The share of the balance that charges off, at the cohort’s measured monthly default rate for that age.
  2. Scheduled principal. The principal the schedule retires from what survived the default.
  3. Prepayment. The share of what is left that prepays, at the cohort’s prepayment speed for that age.

For month t, with the loan at age t − 1:

Dt=Bt dt−1St=(Bt−Dt) i(1+i)n−1Pt=(Bt−Dt−St) SMMt−1Bt+1=Bt−Dt−St−Pt\begin{aligned} D_t &= B_t \, d_{t-1} \\ S_t &= (B_t - D_t) \, \frac{i}{(1+i)^{n} - 1} \\ P_t &= (B_t - D_t - S_t) \, \text{SMM}_{t-1} \\ B_{t+1} &= B_t - D_t - S_t - P_t \end{aligned}

where:

  • B_t is the balance at the start of month t; the first month starts at the loan amount,
  • d is the cohort’s monthly default rate at that age: principal charged off at that age, divided by the beginning balance of the loans alive at that age whose losses Vintage can measure (a loan marked charged off by a flag or status alone, with no amount, is in neither the top nor the bottom),
  • SMM (single monthly mortality) is the cohort’s projected monthly prepayment speed at that age (see Prepayment speeds),
  • i is the note rate divided by 12, and
  • n is the number of payments left, counting this one, so the last month retires whatever remains.

Two more figures come from each month:

  • Interest is earned only on the balance still performing: (B_t − D_t) × i. A defaulted balance earns nothing.
  • Loss is the balance multiplied by the cohort’s monthly net loss rate at that age (net charge-offs, after recoveries, divided by the same beginning balance d divides by), never more than the principal that defaulted that month. There is no assumed loss severity: the loss dollars come straight from the cohort’s own net experience, while the balance runs off at the gross default rate. A book that reports only gross charge-offs has net equal to gross.

The cohort’s measured rates run to the edge of your data. Past that edge each rate eases from its last observed level toward the cohort’s own long-run level, the same projected paths that draw the dashed parts of the charts, and past the cohort’s own term each holds its last value. So a loan priced over 60 months keeps prepaying, defaulting and losing past month 34 even if month 34 is where your history ends. Prepayment uses the one projected speed path described on Prepayment speeds.

Every projection in Vintage amortizes the loan as a level-payment loan, and the screen says so beside the figures. Each month retires the share of this month’s balance that a level-payment loan with this many payments left would retire. So when defaults and prepayments cut the balance, the scheduled payment follows it down. That is how a pool behaves: after part of it prepays, the survivors keep amortizing at their own unchanged pace.

Using one convention everywhere means the cohort’s curves and the priced loan describe the same loan. The alternative, a payment fixed once at origination, would retire the priced loan faster than the cohort it was measured on, booking less lifetime loss and a shorter life than the cohort’s own experience supports. That is the dangerous direction for a rate you quote. When there is no default and no prepayment, the two conventions give identical schedules.

Every component of the required rate is expressed per dollar of balance, per year. The denominator for all of them is the loan’s balance-years:

Y=112∑tBtY = \frac{1}{12} \sum_{t} B_t

the sum of the beginning balance of every projected month, divided by 12. It is the total balance-time the loan carries, in dollar-years. It is not an average balance; dividing by an average balance would be off by roughly the loan’s life in years.

Every component is its own projected dollars divided by Y. That is what lets you tie the build-up to the month-by-month table by hand: a component’s rate multiplied by Y is exactly that component’s column total in the table.

The build-up also shows each component in dollars per year on the loan amount, the usual way a rate is quoted. On a $250,000 loan, 25 basis points (a basis point is a hundredth of a percentage point) reads as $625 per year. Because the loan’s balance-years equal the loan amount times its adjusted term (below), those yearly dollars multiplied by the adjusted term in years are again the component’s column total. If that $250,000 loan has an adjusted term of 2.4 years, its balance-years are $600,000, and the 25 basis point component’s column total is $1,500: $625 × 2.4.

The required rate is built up from these components, in the order the screen lists them, top to bottom:

ComponentEffectDollars it divides by Y
Funding cost (blended FTP)Raises the rateFunding charged on the balance carried, at the blended strip rate
Equity funding credit (ROE path only)Lowers the rateCapital share × funding cost
Interest forgone on defaulted balancesRaises the rateNote rate ÷ 12 × total defaulted principal
Expected credit lossRaises the rateTotal projected loss
Origination costRaises the rateThe origination cost
Servicing costRaises the rateServicing charged on the balance carried
Custom costsRaise the rateEach item’s own projected dollars
Fee income creditLowers the rateUpfront fees plus recurring fees on the balance carried
Custom creditsLower the rateEach item’s own projected dollars
Required returnRaises the rateYour target return on assets (on the ROE path, the capital charge)

The equity credit sits directly under the funding cost so you can net the two by eye. Two lines can be absent from the screen: interest forgone, when it rounds below one basis point (the download still carries it), and the fee income credit, when there are no fees.

Funding is priced off your funding (FTP) curve: the funds-transfer pricing curve, your institution’s cost of funds at each term. An amortizing loan does not fund like one bullet at its maturity. Each month’s principal comes back on its own date, so Vintage funds every dollar to the month it leaves, at your curve’s rate for that term, and charges the blend as one flat rate on the balance the loan carries:

F=1Y∑tRt⋅t12⋅c(t)F = \frac{1}{Y} \sum_{t} R_t \cdot \frac{t}{12} \cdot c(t)

where R_t is all principal leaving in month t (scheduled, prepaid and defaulted), t ÷ 12 is how long it was funded in years, and c(t) is your funding curve’s rate at a t-month term. Between the terms you quote, the curve is read on a straight line between the two nearest points. Past your longest term, the longest quoted rate is held flat, and the screen says so. Below your shortest term, the shortest quoted rate is held flat.

The total funding cost is the same as funding each tranche separately; only the month-to-month timing differs. The screen also shows the bullet tenor the blend is equivalent to, so you can compare it with a single reading of your curve. It is the dollar-year-weighted average month in which principal comes back:

Bullet tenor (months)=∑tt2Rt∑tt Rt\text{Bullet tenor (months)} = \frac{\sum_t t^2 R_t}{\sum_t t \, R_t}

In words: each month’s returning principal is weighted by how long it was funded, and the tenor is the average of those months under that weight. It can be re-derived from the month-by-month table’s three principal columns alone.

Vintage has no default funding curve. Until you provide one, Pricing shows a prompt instead of numbers, because a made-up funding cost would make every figure below it wrong.

Interest is earned only on the performing balance, while funding and every other cost is charged on the whole balance the loan carries. The gap between the two is a real cost of lending:

Forgone=r12⋅∑tDtY\text{Forgone} = \frac{r}{12} \cdot \frac{\sum_t D_t}{Y}

where r is the note rate and D_t is the principal that defaulted in month t. It is small and always a cost. The screen shows it when it rounds to at least one basis point; the downloaded file always carries it.

The expected credit loss is this loan’s own projected loss, not a reading taken off the cohort’s loss curve: the sum of the projection’s monthly loss, divided by Y. It runs to the term you entered, so a term longer than the cohort’s own books real loss in the extra months, at the cohort’s long-run rates, and the screen discloses the mismatch.

When credit loss cannot be measured at all, this line is left out, never priced at zero. See below.

  • Origination cost and servicing cost are separate lines. Servicing is charged on the balance the loan carries, so it falls as the loan pays down.
  • Fees lower the required rate. Upfront fees arrive in the first month; recurring fees accrue on the balance carried.
  • Custom line items you add under costs raise the rate; those under fees lower it. Each is entered as a one-time dollar amount, an annual dollar amount, an annual percent, or a one-time percent. An annual dollar amount is the first-year cost on the full balance and charges as a rate on the balance carried, like servicing, so it bills less each year as the loan pays down; an annual percent charges the balance carried the same way. A one-time amount, in dollars or as a percent of the loan amount, lands in the first month in full.

Required return, and the equity credit on the ROE path

Section titled “Required return, and the equity credit on the ROE path”

Your required return sits at the bottom of the build-up, because it is a profit target rather than a cost. You enter it either as a target return on assets (ROA), or as a target return on equity (ROE) with a capital allocation percentage, in which case:

ROAtarget=k×ROEtarget\text{ROA}_{\text{target}} = k \times \text{ROE}_{\text{target}}

where k is the share of the loan funded by allocated capital. With 9% capital and a 15% target ROE, the target ROA is 1.35%. This is the risk-adjusted return on capital (RAROC) path.

On that path, the funding cost is shown on the full balance, and an equity funding credit of k × F is subtracted: the capital-funded share of the loan is credited back at the same blended funding rate. In effect, debt funding is charged on (1 − k) of the balance, which is standard matched-funds practice. The month-by-month table’s funding column charges that net figure, so the table and the build-up agree exactly.

Why the components sum exactly to the required rate

Section titled “Why the components sum exactly to the required rate”

Return on assets is the projection’s total net income divided by the same balance-years:

ROA=∑tNet incometY\text{ROA} = \frac{\sum_t \text{Net income}_t}{Y}

Because interest is earned only on the performing balance, the interest the loan earns per balance-year is the note rate less the interest forgone on defaults. So the projected ROA is the note rate, less every cost component, plus every credit. Setting it equal to your target gives the build-up:

r=F+Forgone+ECL+Origination+Servicing−Fees±Custom−kF+ROAtargetr = F + \text{Forgone} + \text{ECL} + \text{Origination} + \text{Servicing} - \text{Fees} \pm \text{Custom} - kF + \text{ROA}_{\text{target}}

The balance path itself depends on the note rate, because the rate sets how fast scheduled principal retires. So Vintage solves for the rate at which the projection’s ROA equals your target, rather than adding up components computed at some other rate. The components shown are the ones from the projection at the solved rate, and they sum to it exactly.

Vintage always solves for the required rate. If you also enter a proposed rate, the rate you plan to offer, the Results view compares the two in basis points, signed from the loan’s point of view: a proposal below the required rate is underpriced.

You then choose which rate to model the loan at. Everything below that choice is one projection at that one rate, and each block carries a badge naming it. When the proposed rate governs, the same components are read the other way, as a return build-up: starting from the proposed rate, each cost is deducted and each credit added back, landing on the projected ROA (and ROE on the RAROC path) and its distance from your target in points of return.

That distance and the comparison’s basis-point gap state the same shortfall, measured on two projections at two rates. On a loss-prone book they can differ by a basis point.

An implausible point on a funding curve can make the target unreachable at any rate. When the required rate governs and no rate meets the target, Vintage says so (“no single rate meets this target with this funding curve”), points at the curve, the target and the term, and shows no number. It offers to model the loan at your proposed rate instead, or tells you where to enter one. A rate Vintage cannot stand behind is worse than no rate.

The adjusted term is the loan’s expected life, including projected prepayments and defaults: the weighted-average life over every dollar of principal that leaves the loan.

Adjusted term (years)=∑tt⋅Rt12∑tRt\text{Adjusted term (years)} = \frac{\sum_t t \cdot R_t}{12 \sum_t R_t}

where R_t is the principal leaving in month t, whether scheduled, prepaid or charged off. A defaulted balance stops needing funding, as a prepaid one does, so this life is shorter than a prepayment-only life, and materially shorter on a long, loss-prone book. Because every dollar of the loan leaves by its term, the loan amount times this life is exactly the loan’s balance-years.

The projected lifetime loss is the projection’s total loss as a share of the loan amount. It is the loss for one new loan of the size and term you entered, at the governing rate. It is labeled apart from the Credit Loss section’s headline, which is the cohort’s measured history as a share of what it lent. On a book observed all the way to its term the two land on essentially the same number.

Each month’s net income is interest plus fees and custom credits, less funding, servicing, origination cost, loss and custom costs. From that series Vintage reports:

FigureHow it is computed
Lifetime profitThe sum of net income over the projection
Break-even monthThe month cumulative profit turns positive and stays positive, the last crossing. A loan that ends under water reports “does not break even”
Return on assets (ROA)Total net income ÷ Y
Net interest margin (NIM)(Total interest − total funding) ÷ Y
Return on equity (ROE), RAROC pathTotal net income ÷ (k × Y)
Net present valueEach month’s net income discounted at the blended funding rate

ROA, NIM and ROE are annualized over the loan’s balance-years, and the screen states that denominator. Net present value is discounted at the same blended funding rate the projection charges, so it reads as the loan’s value added over its funding. On the ROE path the discount rate is still the full blended rate, not the debt-funded share of it; only the funding column is scaled.

The credit-loss component and the table’s Loss column are one calculation, and the screen shows you how to close the loop:

ECL rate×Y=∑tLosst\text{ECL rate} \times Y = \sum_t \text{Loss}_t

A note above the table prints both figures. The multiplicand is the sum of the Begin balance column divided by 12, not the loan’s average balance. The table shows cents, because its columns are parts of one another; with each column rounded on its own, a column’s parts may differ from its printed total by up to a cent.

The disclosures that travel with the numbers

Section titled “The disclosures that travel with the numbers”

Every assumption behind a projected figure is stated beside that figure, once, and each sentence also travels into CSV and XLSX downloads as a trailing Basis row. The disclosures are:

  • Level-payment amortization. The projection amortizes the loan as a level-payment note. An interest-only or balloon loan would carry a higher balance for longer, and its interest, funding cost and credit loss would all be larger. Stated above the month-by-month table.
  • A term the cohort never reached. When your entered term differs from the cohort’s average term, the screen names both. Longer: past the cohort’s horizon it has no measured experience, so its rates carry forward at their long-run levels. Shorter: every age used is measured, but on loans repaying over a longer schedule, which carry more balance at each age than this loan will. Either way it suggests slicing to loans of a similar term. This one renders beside the term input.
  • Blended (strip) funding, and the bullet tenor it is equivalent to.
  • A life that includes defaults, so the adjusted term is shorter than a prepayment-only life.
  • Interest forgone on defaulted balances, and how to re-derive it.
  • The equity funding credit, on the ROE path.
  • A funding curve shorter than the loan: the curve’s longest term, the loan’s term, and that the months past the curve are funded at the longest quoted rate, held flat.
  • Zero prepayment, with which of the two reasons applies (below).
  • Left truncation. When every loan in the cohort entered your data at least N months into its life, the projection’s first N months book no loss, default or prepayment. Those zeros are disclosed and kept, never filled in, and a 0.00% projected loss on such a cohort is not presented as a measured zero. See Missing and unreported data.

If no charge-off amount is supplied anywhere in your accepted uploads, through either a mapped charge-off amount column or a transaction ledger whose type codes you classified as charge-offs, credit loss cannot be measured. A charge-off flag or status alone carries no amount, so it does not count.

In that state the credit-loss line is left out of the build-up and its sum, never shown as 0.00%, which would read as a measured loss-free book and under-price the loan. Pricing still computes a required rate, the comparison and the profitability figures, and a notice above the rate says what was left out and what it costs: a real loan would need to earn more than the rate shown. The projection runs with no defaults at all, and the table drops its defaulted-principal and loss columns rather than printing zeros. The exported build-up carries the omission as its own row.

The opposite case is a cohort that does carry a charge-off feed and genuinely lost nothing. That is a measured zero: the credit-loss line is present at 0.00%, and the screen says so in words, “no charge-off dollars measured in this cohort”. The affirmation is withheld when some loans in the cohort are marked charged off by a flag or status with no amount anywhere, because there the zero is partly unknowable and Vintage claims neither a loss nor a clean book.

A cohort with no measurable prepayment speed is still priced in full, at zero prepayment. That is conservative: balance that never prepays stays exposed to loss and keeps earning interest, so both the projected loss and the projected interest read on the high side. The disclosure names which reason applies, because they call for different fixes: no loan in the cohort reports a schedule basis, or the cohort has no month a speed can be measured over yet. See Prepayment speeds.