Survivorship bias is one of the most insidious flaws in backtesting: if your historical data only includes companies that survived to today, you've silently excluded every one that went bankrupt, got delisted, or was acquired at a loss. The strategy is tested only on winners that made it — and the results are dangerously flattering.
How it inflates results
Imagine backtesting "buy the S&P 500 and hold" using today's 500 members over the last 20 years. Every company that got kicked out for underperforming is missing — you're testing only the ones that thrived enough to still be in the index. The backtest looks great, but it was never available to trade in real time: you couldn't have known which companies would survive. The test rewards you for hindsight you didn't have.
Where it hides
It's everywhere backtests use a "current" universe: current index constituents, currently-listed stocks, currently-available funds. It also lurks in strategy marketing — "these signals would have returned X%" using a survivor-only dataset. The failed companies, the delisted tickers, the blown-up funds all vanish from the record, leaving an unrealistically rosy picture.
A backtest on survivors is a study of who won, sold to you as a strategy for picking winners. It isn't.
How to avoid it
Use point-in-time, survivorship-bias-free data that includes delisted and dead securities as they existed historically. And treat any backtest — especially a beautiful one — with skepticism until it's validated forward on unseen data. Survivorship bias is a core reason forward results, not historical ones, are the truth. Honest system development refuses to trust a backtest that quietly buried its losers.