Survivorship bias selects history using later survival. Follow a three-name cash ledger, separate historical eligibility from exit accounting, and audit missing outcomes.
Survivorship bias
Survivorship bias occurs when a historical study selects observations using later survival or continued inclusion, so the sample differs from the opportunity set available at the time. A strategy tested only on companies still listed today has been given information about which names would survive. The excluded companies can disappear from the entire history, including dates when investors could have bought them.
This is a selection problem inside backtesting, and one form of look-ahead bias. Perfectly lagged signals cannot repair a universe chosen with future information. López de Prado's Advances in Financial Machine Learning, §11.2, identifies using the current investment universe as a separate backtesting error.
Three allocations; only two names in the download
A researcher evaluates a hypothetical small-company basket over one year. At the start, Atlas, Beacon and Cinder all satisfy the stated eligibility rule. The strategy buys USD 100 of each, holds the original positions, and makes no additional purchases. There are no fees, dividends, external cash flows or interim redistributions. At the horizon, Atlas is worth USD 110 and Beacon USD 90. Cinder has failed, and its final recovery is stipulated to be zero.
Original holding
Starting investment, USD
Terminal economic value, USD
Holding return
Atlas
100
110
+10%
Beacon
100
90
−10%
Cinder
100
0
−100%
Entire basket
300
200
−33⅓%
The portfolio return follows the investor's money:
Rcohort=100+100+100110+90+0−1=−31.
The loss is USD 100 on USD 300 initially invested. Equal starting allocations also let us average the three individual simple returns. That equivalence is specific to these weights and this common horizon; it is not permission to average arbitrary investment records.
Now download only today's surviving names. The table contains Atlas and Beacon, whose average return is
Rˉsurvivors=210%+(−10%)=0%.
That result describes a different, retrospectively selected USD 200 basket. It exceeds the actual cohort return by 33⅓ percentage points. Removing Cinder erased its initial capital from the denominator as well as its terminal loss. No actual investor recovered that capital merely because the security vanished from a data table.
Synthetic cohort: USD 100 in each of three names becomes USD 110, USD 90 and zero. The combined three-name basket loses 33⅓%; retaining only the first two reports 0%.
Original hypothetical fixed-cohort ledger. Cinder's zero final recovery is an explicit assumption. No interim redistribution, dividends, fees or external cash flows.
Why the direction depends on what disappears
For a finite cohort measured over the same horizon with equal starting allocations, let p be the fraction of names that survive. Let RˉS and RˉE be average returns for surviving and exiting names, with every exit's economic outcome included. Then
Both groups must be nonempty for their separate averages to be defined. Here p=2/3, the surviving average is zero and the exiting average is −100%. The identity exposes two drivers: how much of the cohort is excluded, and how differently those names performed. With unequal initial investments, use initial-capital shares and corresponding weighted group returns instead of name counts.
Failures often make the omission optimistic, but an exit is not necessarily a failure. A profitable cash acquisition can remove a winner from today's listed universe. If Cinder instead paid USD 140 in an acquisition, retained as cash without interest until the horizon, the original basket would return 40/300=1331%, while the two-name survivor subset would still report zero. Selection would understate this basket's return. The accounting problem remains even when its sign reverses.
Nor is there a universal number to subtract from a biased result. Brown, Goetzmann, Ibbotson and Ross's original 1992 study shows how survival selection can also create apparent performance predictability in their models. It does not establish a constant haircut applicable to every stock strategy or fund database.
Repair membership and money separately
A credible historical simulation needs two records that answer different questions.
Who could the strategy select? Reconstruct eligibility at each decision from historical listings, index membership, liquidity filters and the information then available. A dynamic strategy can admit new names and remove others under a predeclared rule. It need not hold one fixed cohort forever. But it cannot use today's constituents as yesterday's eligible set.
What happened to positions already owned? Preserve holdings through an acquisition, split, suspension, distribution or cancellation and process the actual economic consequences. Leaving the selection universe does not create an executable sale. A merger might deliver cash, replacement shares or both; an unresolved claim might remain after trading stops. Respect payment timing and the strategy's stated treatment of cash. Do not reinvest proceeds before they are available without a financing assumption.
These records meet through stable security identifiers and dated event mappings. Tickers alone can change or be reused. Corporate-action adjustments must reconcile with holdings: a split changes share units; a dividend contributes to wealth; a total-return adjusted series may already include the distribution. Crediting it again overstates returns independently of survival selection.
Missing is a data state, not an economic payoff. A missing quote does not prove the investment is worthless, and carrying the last quotation forever does not establish recoverable value. The CRSP legacy Programmer's Guide, p. 171, documents a delisting-return routine using post-delisting values or distributions and separate missing-value outcomes when information is insufficient. That is a documented provider convention, not a universal exchange settlement rule. Check the exact product, field definitions and version before combining returns, especially whether terminal events are already included.
For the toy basket, changing only Cinder's terminal cash recovery illustrates why the unresolved amount matters:
Recovery retained as cash to the horizon, USD
Basket terminal wealth, USD
Basket return
0
200
−33⅓%
25
225
−25%
50
250
−16⅔%
100
300
0%
These are sensitivity scenarios, not estimates of a typical recovery. They assume no interest on the cash and no other proceeds. If a real terminal claim is unknown, disclose the unresolved exposure and test defensible scenarios; do not silently turn missing data into zero or delete the holding.
Fund databases: entry matters too
Keeping inactive funds addresses survival selection only if their relevant histories and terminal outcomes are actually retained. A fund can also begin reporting after an attractive early record and submit that earlier history. Backfill bias concerns selection around database entry; survivorship bias concerns selection around exit. A database can retain dead funds and still contain selected backfilled histories.
Fung and Hsieh's publisher abstract makes this entry-versus-exit distinction and cautions that database migration and consolidation complicate simple corrections. Removing an arbitrary number of initial months is not proof of an unbiased sample.
Also state the performance denominator. Equal weighting across funds, weighting by assets, pooling observed fund-months, and following capital invested in a fixed opening cohort answer different questions. A fund that closes early contributes fewer observed months; its remaining capital and any liquidation proceeds still need a policy in an investor-wealth calculation. Averaging the available observations does not automatically produce the return of an implementable portfolio.
For a deeper accounting treatment, read Corporate Actions and Survivorship, with a public preview and full lesson for members. Its split, dividend and lifecycle checks help determine whether an apparently clean return series omits economic losses during data preparation.
Sources
Marcos López de Prado, Advances in Financial Machine Learning (2018), §11.2, “Mission Impossible: The Flawless Backtest.” Local textbook grounding for the current-universe and information-timestamp errors.
CRSP, Programmer's Guide, updated July 17, 2023, p. 171, crsp_ret_calc_del. Legacy CRSPAccess calculation and missing-information handling; consult the documentation for the product actually used.