Methodology

Survivorship Bias in Backtests: Why Today's Index Lies About the Past

Survivorship bias is testing a strategy on companies that survived to today. Delisted, merged, and dropped names disappear from the sample, so historical results improve for reasons unrelated to the strategy.

Survivorship bias in a backtest is what happens when you test a strategy on the companies that made it to today. Delisted firms, merged firms, and firms that fell out of the index are absent from the sample, so the bad outcomes never get counted and the strategy appears to have worked better than it could have.

The reason it is so common is that it requires no mistake to create. Downloading the current constituents of an index and pulling their history is the natural thing to do. The bias arrives for free.

Why the survivors are not a random sample

If companies disappeared from a market at random, testing on the survivors would still be usable. They do not disappear at random.

Companies leave a listed universe for reasons that correlate strongly with poor outcomes: insolvency, prolonged suspension for non-compliance, being taken over at a depressed price, or shrinking below the size and liquidity floors an index requires. Some exits are benign, such as a healthy company being acquired at a premium or voluntarily delisting. But the set of exits skews toward the bad end, and it is exactly that end which gets deleted.

So the surviving sample is not merely smaller. It is systematically better. Every average computed on it, from return to margin to growth, is measured on a population that was selected, after the fact, for having done well enough to still be here.

The three ways it enters an Indian backtest

Through the index constituent list. An index is reviewed periodically and its membership changes. A name that was in a broad index five years ago and is not in it today has been erased from your universe if you built the universe from the current list. Worse, the names that entered the index over that period entered because they grew, and your backtest gets to own them from the beginning.

This is the double effect. You lose the losers and you gain the winners early. Both push in the same direction.

Through the database itself. Some data sources retire a company’s records once it stops trading, or make historical data for delisted entities hard to retrieve. If your fundamentals source only carries live companies, no amount of careful code will fix the sample, because the rows simply are not there.

Through the handling of exits. Even with a correct historical universe, the question remains: what happens to a position in a company that gets suspended or delisted mid-holding? If the code silently drops the position and redistributes the capital to the remaining names, it has assumed a costless exit at the last observed price. That is a version of the same bias, applied one position at a time.

Closely tied to survivorship, and just as easy to introduce, is using today’s index membership as a filter in a historical test. The statement “restrict the universe to current index constituents” is a statement about a company’s status now, applied to a decision made years ago.

If a strategy screens broad-index members over the past decade using today’s list, it is screening for companies that would go on to qualify. That is a fact from the future, dressed as a universe rule. It belongs in the same family as lookahead bias, because the information used was not available on the decision date.

The correct version is a record of who was actually in the index on each historical rebalance date. The two universes can differ substantially over a ten-year window.

How to build a universe that does not lie

The fix is unglamorous data work rather than clever modelling.

Keep a dated membership record. For each rebalance date in the test, store the list of eligible securities as it stood then. That list should include companies that have since ceased to exist, identified in a way that does not depend on them still trading.

Retain delisted and merged entities. Their price and fundamental history must stay in the database with a clear marker of when and how the listing ended. A record that is deleted when a company dies cannot be reintroduced later.

Handle identifier changes. Companies rename, change tickers, and re-list after restructuring. A test keyed only on ticker will lose track of a company that changed its symbol and may accidentally splice two unrelated histories together at the same symbol.

Model the exit outcome explicitly. Decide, in advance and in writing, what happens when a held name is suspended, delisted, or absorbed. An acquisition for cash has a known settlement. A suspension followed by liquidation may recover little or nothing. The point is not to be exact, which is often impossible. The point is to be explicit and conservative, rather than letting a silent deletion stand in for an outcome.

Use a point-in-time source for fundamentals as well. Universe filters based on financial criteria, such as a profitability screen or a leverage cap, need the numbers that were published at the time, not the restated versions. That is a separate discipline covered in why point-in-time data matters and why restatements break models, and it compounds with survivorship if both are ignored.

Survivorship outside of backtests

The bias is not confined to systematic testing. It shapes ordinary research too.

Studies of “what characteristics did great companies have ten years ago” are almost always survivorship studies. They select firms that turned out well and then look backward for common traits. Companies with identical traits that failed are not in the sample, so the traits look predictive when they may simply be common.

Fund analysis has the same issue. Comparing the track records of funds available today omits funds that were closed or merged away, typically after poor performance. The surviving average is therefore not the average investor experience of that period.

The general principle is worth carrying beyond backtesting: any time a sample is defined by a condition that could only be checked at the end, the sample is telling you about the condition as much as about the subject.

What correcting for survivorship does not give you

Fixing survivorship bias makes a backtest less wrong. It does not make it right.

It does not remove the other leaks. A point-in-time universe with restated fundamentals or a signal executed at its own signal price is still borrowing from the future. Survivorship is one door of several, discussed together in common backtesting mistakes.

It does not solve the trading assumptions. A correctly constructed universe full of names that were too thin to trade in size gives you a real historical set and an unimplementable strategy.

It does not tell you whether the delisting assumptions were accurate. Recovery on a failed listing is genuinely hard to pin down, and the honest response is to test the result under a pessimistic assumption and see whether it survives, rather than to search for the assumption that preserves the answer.

And it does not make the past representative. A universe reconstructed perfectly still describes one particular decade with its own regulatory regime, liquidity conditions, and index rules. Correcting the sample improves the description of what happened. It says nothing about repeatability, which is the separate and larger problem of why backtest results do not repeat.

The value of removing survivorship bias is not that it produces a better number. Usually it produces a worse one. The value is that the worse number is a number you can actually defend.

This article is educational. Altys Labs is not a registered research analyst or investment adviser, and nothing here is investment advice or a recommendation to buy, sell, or hold any security.

Frequently asked questions

What is survivorship bias in backtests?

It is the distortion that appears when a test is run on the set of companies that still exist and still qualify today. Firms that were delisted, merged away, or dropped out of the index are missing from the sample, so their outcomes never affect the result and the strategy looks better than it was.

How much does survivorship bias inflate results?

There is no single number, and any figure quoted as universal should be treated with suspicion. The size depends on the period, the universe, and how many names left it. What is reliable is the direction: survivorship bias always flatters, never penalises, because the excluded outcomes are disproportionately bad ones.

How do you avoid survivorship bias?

Use a point-in-time universe, meaning a record of which companies were eligible on each past date, including those that no longer trade. Then handle each exit explicitly, applying the actual outcome of a delisting, merger, or index removal rather than letting the name silently vanish from the data.