Quant Memo
Core

Informative Missingness and Indicator Features

When data is missing for a reason connected to the outcome itself — a broker not reporting a fill, an analyst skipping a stressed name — the fact that a value is missing can be more predictive than the value would have been, and should be captured as its own feature.

Prerequisites: Missing Data and Imputation

It's tempting to treat missing data as a nuisance to be patched over — fill it with the column mean, move on. But sometimes a value is missing for a reason that matters: an earnings estimate is absent because no analyst wanted to touch a name mid-scandal, a quote is missing because the venue halted trading, a loan's collateral value is blank because the borrower stopped reporting it. In each case, the missingness itself carries information about the outcome you're trying to predict — arguably more than whatever value would have filled the gap.

The idea: missingness is not always noise, so encode it explicitly

There's a standard three-way taxonomy for why data is missing: missing completely at random (no relationship to anything), missing at random (related to other observed variables but not to the hidden value itself), and missing not at random — where the fact of being missing is directly related to the unobserved value or the outcome. It's this last case that matters most in finance, because naively imputing a value (say, filling with the column mean) throws away the informative part and can actively mislead the model.

The fix has two parts, both applied together: first, create a binary indicator feature,

mi=1[xi is missing]m_i = \mathbb{1}[x_i \text{ is missing}]

second, impute the missing value with some reasonable placeholder (mean, median, or a model-based estimate) so the model still has a number to work with in that column. In plain English: mim_i equals 1 for a row where xix_i was missing and 0 otherwise — it lets the model learn a separate effect for "this value was missing" on top of whatever effect the (now imputed) underlying value has, instead of forcing the missingness signal and the imputed placeholder to fight for the same coefficient.

Worked example: analyst coverage as a missingness signal

Suppose "consensus earnings estimate" is missing for 40 out of 500 stocks in a dataset, and those 40 stocks subsequently underperform the market by an average of 6% over the next quarter — because a lack of analyst coverage is itself correlated with distress, low liquidity, or accounting uncertainty that analysts are avoiding. If the missing values are simply mean-imputed with no indicator, the model sees 40 stocks with an unremarkable, average-looking earnings estimate and no way to flag that those 40 rows are actually different in kind. Adding the indicator estimate_missing = 1 for those 40 rows lets the model learn directly that "no coverage" predicts underperformance — a real, usable signal that mean-imputation alone would have erased.

Mean-imputed only estimate = avg (indistinguishable) Mean-imputed + indicator estimate = avg missing=1 now learnable signal
Imputing alone erases the fact that a value was missing; adding a binary indicator alongside the imputed value lets the model learn a distinct effect for missingness itself.

What this means in practice

Always pair imputation with a missingness indicator when there's any reason to suspect the missingness pattern isn't purely random — which, in financial data, is closer to the norm than the exception, since data providers, analysts, and reporting requirements all respond to the same distress signals a model is trying to detect. The indicator costs almost nothing to add and, when missingness turns out to be uninformative after all, the model simply learns to ignore it; the risk is entirely asymmetric in favor of including it.

When missingness is related to the outcome rather than purely random, imputing a value alone erases real signal. Adding a binary "was this missing" indicator alongside the imputed value lets the model learn from the pattern of missingness itself.

When in doubt about why data is missing in a financial dataset, default to adding the indicator — the cost of an unused feature is far lower than the cost of erasing a genuine distress signal.

Related concepts

Practice in interviews

Further reading

  • Little & Rubin, Statistical Analysis with Missing Data, ch. 1
ShareTwitterLinkedIn