Skip to content

Missing and unreported data

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

Real loan books have holes. A month is missing from the export, a loan was already ten years old when your data begins, a column is blank on half the rows. Vintage does not fill those holes with made-up figures. It keeps what you reported, sets aside what it cannot use, counts what it set aside, and tells you what would bring it back.

One rule decides every case on this page:

A month may be dropped from a measure only if that month’s events can be dropped with it.

Two failures sit on either side of that rule. Dropping a month whose loss Vintage still counts would move a real event to a made-up age. Keeping a month whose starting balance Vintage had to invent would put a fabricated dollar in a denominator. Every rule below follows from avoiding both.

A blank cell, or a placeholder such as N/A, NULL or a lone dash, means “no value”. It is never read as zero, and it never counts as an event.

  • A later blank never clears a value you reported earlier. If one month’s file leaves a loan’s Interest Rate blank, the rate from earlier stays.
  • A value Vintage cannot read as a number, such as Pending in an amount column, is treated as blank for that field. The rest of the column is still used.
  • A number too long to store faithfully (15 or more digits before the decimal point in a numeric field) is treated as no value, counted, and shown to you. It is never rounded into a different number.
  • A blank status or flag cell is not classified and carries no signal. What a blank means for your book is something you tell Vintage, not something it assumes.

The full parsing rules, with worked examples, are on File requirements and parsing rules.

Suppose a loan is reported in January and February, missing from March and April, and reported again in May. The loan was on your book the whole time, and anything that happened to it in March or April still shows up in what you reported in May. So Vintage keeps the loan in across the gap.

  • The balance is carried flat. March and April carry February’s reported balance unchanged. Vintage assumes no payment, no amortization and no prepayment across the gap. It reconstructs nothing.
  • Credit loss keeps the loan. The loan stays in the loss curve’s denominators through March and April at that flat balance. A charge-off that happened in the gap is visible in May’s report and books there.
  • Prepayment refuses those months. A speed needs a starting balance that was actually observed: a snapshot in the calendar month before, or the loan’s origination month when both its Origination Date and Original Loan Amount were provided. March and April have none, and neither does May, whose starting balance would be April’s. All three are excluded months for prepayment: neither the prepaid dollars nor the balance enter the speed. A prepayment amount reported on one of those months is set aside and counted, never dropped in silence.

If a loan’s ending lands in a month you did not report, it is not lost either. It books on the next month you did report, and failing that on the loan’s last reported month. See How a loan’s ending is decided.

Your data begins in some month. Many loans were already on the book by then, some for years. Vintage measures such a loan from its first observed month onward, and no earlier. It does not synthesize the loan’s early life: not its balances, and therefore not the ages it would have passed through.

Every such loan has an observable-age floor: its age in the month Vintage first saw it. A loan originated in January 2018 and first reported in January 2021 has a floor of 36 months. Ages below the floor are unobserved, not zero-risk, so nothing is booked there and the loan adds nothing to those ages’ denominators.

Three consequences follow:

  • When the whole cohort entered mid-life, the earliest ages of the loss curve cannot be measured for that slice at all, and they are left dashed rather than drawn as zero.
  • In Pricing, the projection’s first months book nothing. If every loan in the cohort entered the data at least N months into its life, the priced loan’s projection has no measured loss, default or prepayment for its first N months. 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 Loan pricing.
  • The loan’s first observed month is not a prepayment month. Its starting balance was never seen.

A loan already seasoned when your data begins has no original balance Vintage can stand behind: its first reported balance is what was left after years of paying down, not what you lent. Unless you supply an Original Loan Amount, the loan is held out of the loss curve measured as a percent of original balance, and counted. Its losses still count in every rate measured against the outstanding balance, which needs no original amount. See Credit loss measurement.

Loans in your earliest month with no origination date

Section titled “Loans in your earliest month with no origination date”

A loan present in your organization’s earliest snapshot month, with no Origination Date, cannot be aged at all: nothing distinguishes one that was originated that month from one that was years into its life. It is excluded from the age-indexed curves and counted. A two-column file of Loan ID and Origination Date brings these loans in. The full rule is on Origination and term.

A row dated before its loan was originated

Section titled “A row dated before its loan was originated”

Occasionally a snapshot row carries a month earlier than the loan’s own Origination Date. That row has no loan age to place it at. Placing it at age 0 would pile balances that predate the loan onto the youngest, thinnest part of every curve.

So the row is set aside: it is not used, and it is counted. The count is in rows (loan-months), not loans, so it cannot be added to the loan counts. If every row of a loan is set aside this way, that is why the loan is not in the curves.

A running total on a loan that predates your data

Section titled “A running total on a loan that predates your data”

Some amount columns report a life-to-date running total rather than each month’s activity, and you declare which when you map them (see Declaring formats). Vintage converts a running total into monthly increments before any measurement.

For a loan whose Origination Date is earlier than its first reported month, the first value in a running-total column is a balance brought forward: activity that happened where Vintage could not see it. Booking it in the first month Vintage happens to observe would record a real loss at an invented age. So the first value sets the baseline and books nothing. Every later increase books its true increment.

For example, a charge-off column declared as a running total reads $4,000 on a seasoned loan’s first reported row, then $4,000, then $5,500. Vintage books nothing in the first two months and $1,500 in the third.

A loan that originated before your data begins, and whose ending (a charge-off, payoff or exit) is already on the very first row Vintage sees, was never observed open. Vintage books no event and no loss for it, holds it out of the curves, and counts it. A snapshot from before it closed would bring it in. On the Portfolio screen it reads its ending with a faint “Closed before data begins” beneath it. See Charge-offs and recoveries.

When a loan lacks a field one measure needs, it is excluded from that measure only. It still counts everywhere else it can. Vintage counts each exclusion under its own reason and names what would unlock it.

What is missingWhat happensWhat brings the loan in
A snapshot row with a readable Snapshot Month and a Current Balance (a reported 0 counts as a balance)Out of every curveA snapshot file carrying both fields for the loan
Term (Months) and Maturity DateOut of every curveEither field
Origination Date, for a loan in your earliest monthOut of the age-indexed curvesA Loan ID + Origination Date file
A trustworthy original amountOut of the percent-of-original loss curve onlyOriginal Loan Amount
A charge-off amount, where only a flag or status marks the charge-offOut of the loss curve; still in prepaymentNet Charge-Off Amount, Charge-Off Amount, or a charge-off row on a typed ledger
A schedule basis (a reported scheduled-principal figure, or scheduled and actual payment totals)Out of prepayment speeds; still in credit lossScheduled Principal Due or Paid, or Scheduled and Actual Payment Amount
A partial-prepayment figure, with a schedule basis presentSpeeds reflect full payoffs onlyPartial Prepayment Amount, Unscheduled Principal Amount, or Actual Principal Paid
A classification for a status or flag valueThat value signals nothingClassify it on the Fields screen
A date that fits the column’s declared formatCounted as wrong format, read as no valueCorrect the declared date format; once the upload is finalized, upload the file again

Before you finalize an upload, the Review states how many loans are held out of the curves, for each reason, and what would bring them in (see Reviewing before you finalize). When a segment on the Modeling screen has no measurable loan at all, the screen names the reason from these same counts.

If no charge-off amount is supplied anywhere in your accepted uploads, credit loss is unmeasured, not zero. The lifetime-loss figure shows a dash rather than 0%, and Pricing leaves the credit-loss line out of the required rate entirely rather than pricing it at zero. A book with a charge-off feed that genuinely lost nothing is the opposite case, and Vintage says so in those words: no charge-off dollars measured in this cohort.