The third failure mode is the most consequential and the easiest to miss entirely, because it hides not in a wrong number but in a missing row. Ask most free or convenient data sources "give me the current constituents of this index" or "give me every company in this sector," and what you get back is, definitionally, the list of companies still around today. Every company that went bankrupt, got delisted for non-compliance, or was acquired and ceased to exist as an independent listing along the way is (silently, structurally) not on that list, because the list only ever describes the present. Build a historical study, a factor backtest, or a "what would this strategy have returned over the last decade" analysis on top of a survivors-only universe, and you have built survivorship bias directly into your foundation: every failure that would have dragged down the true average return is invisible, because the companies that failed are invisible.
Advertisement
Survivorship bias example: five Indian small-caps
Make the size of the effect concrete rather than abstract. Consider a fictional universe of five Indian small-caps that existed a decade ago: three survivors with strong illustrative outcomes (NEELKANTH +180%, SARASWATI +95%, HIMAVAN +40%) and two that did not survive: KUSHAGRA and AMBALIKA, both delisted at a total wipeout, −100%. A "current constituents" data source shows you only the three survivors, and a naive average of those three gives (1.80 + 0.95 + 0.40) / 3 = 1.05, a spectacular-looking +105% average return. The true average, over every company that was ever actually in the universe, including the two that failed, is (1.80 + 0.95 + 0.40 − 1.00 − 1.00) / 5 = 0.23, a much more modest +23%. The gap: 1.05 − 0.23 = 0.82, is 82 percentage points of pure survivorship-bias inflation, from a universe of only five names. A US-flavored companion universe (CLRRDG, STNHVN, WLBROK surviving; OKMULEE, PENWICK wiped out) produces a comparable 81.3-point gap. These are not edge-case numbers picked to look dramatic for a textbook, this is the well-documented, real order of magnitude that academic studies of survivorship bias in equity and mutual-fund databases have repeatedly found, and it is precisely why the CRSP (Center for Research in Security Prices) database and Norgate Data's equities products are specifically prized in professional and academic quant research for being explicitly, verifiably survivorship-bias-free, an unglamorous-sounding feature that is, in practice, one of the single most valuable things a data vendor can guarantee you. Computing this exact gap (survivorship_bias_gap(constituents)) is Exercise 7.
How do you remove survivorship bias?
The fix is not exotic, and it is worth stating plainly because it demystifies a concept that sounds intimidating: never build your universe from "who is here today." Build it from a historical membership record that includes an entry date and, where applicable, an exit date for every name that was ever a candidate, and when you ask "who was in this universe on date D," answer strictly from that record, a company that had not yet been listed by D, or had already been delisted by D, is correctly excluded from that specific query, while a company that failed after D but before today is correctly included, with whatever return it had actually delivered up to that point. That single design decision, membership determined by a historical record, evaluated fresh at query time, rather than baked into a static "current list", is the entire fix, and it is exactly what Exercise 8 builds.