Look-Ahead Bias and Survivorship Bias: Two Ways a Backtest Can Mislead
Ben Ghabili · Published
What is the difference between look-ahead bias and survivorship bias?
Look-ahead bias occurs when a historical decision uses information that was unavailable at the simulated decision time. Survivorship bias occurs when the historical sample excludes investments that later disappeared or failed, leaving an unrepresentative set of survivors. The first changes what the simulation knows; the second changes what it includes.
Both can make a backtest look better than a decision-maker could reasonably have achieved. Neither is the same as overfitting, which concerns adapting a strategy or its selection to historical observations.
A clean separation between development and test periods does not automatically remove either data problem. You can test a frozen rule on a later period and still give it future information or an incomplete investment universe.
Can a historical financial figure still create look-ahead bias?
Yes. A financial figure can describe a past period but become public only later. A simulation must use the information available at the decision time, not information merely associated with an earlier accounting period.
Consider a fictional company's report. The dates and times below are invented availability assumptions, not an actual release or a claim about exchange opening hours. All timestamps are UTC.
| Event | Date and time | Availability implication |
|---|---|---|
| Financial reporting period ends | 31 January 2025 | Period end does not make the results public |
| First simulated decision | 3 February 2025, 10:00 | Cannot use the unreleased January results |
| Results first become publicly available | 17 March 2025, 09:00 | Earliest assumed public availability |
| Second simulated decision | 18 March 2025, 10:00 | May use the released results, subject to actual access and processing |
| A later restatement becomes public | 19 May 2025 | Revised figures cannot replace the original figures at the March decision |
The February decision cannot use the January results just because the database labels them “January”. The relevant boundary is availability, not the period described.
The March decision can use the original release under these assumptions. It cannot use May's restated version. A historical database containing the latest corrected figure can therefore misrepresent what was known earlier.
A valid availability timestamp is necessary, but not sufficient, for a realistic trade. The simulation must also respect when the data could actually be obtained and acted on, and the prices available after that decision.
The same principle applies to economic data, index changes and closing prices. If a rule uses the final closing price to make its decision, assuming execution at that same close requires separate justification. It is not automatically a trade that could have been placed after observing the price.
How does survivorship bias change a backtest return?
Survivorship bias can change a backtest return by removing investments that were eligible at the start but performed poorly or disappeared later. A present-day company directory is not necessarily a valid historical universe.
Consider a fictional buy-and-hold portfolio. At the start of one common measurement period, four eligible investments each receive USD100. There are no subsequent cash flows, dividends, fees, taxes, currency effects or rebalancing. End values include all remaining investment value.
| Investment | Initial value | End value |
|---|---|---|
| A | USD100 | USD120 |
| B | USD100 | USD110 |
| C | USD100 | USD90 |
| D | USD100 | USD10 |
| Full portfolio | USD400 | USD330 |
The full portfolio return is:
(330 − 400) ÷ 400 = −17.5%.
Suppose D no longer appears in the directory used to assemble the backtest. If the researcher omits D entirely, the apparent initial portfolio is USD300 and its end value is USD320:
(320 − 300) ÷ 300 = about 6.7%.
Nothing improved about the investments. The sample changed. A loss became a reported gain.
This example deliberately removes a poor performer. Survivorship bias does not mathematically guarantee upward distortion in every possible sample. Missing firms can have different outcomes, and firms may leave a directory for reasons other than failure.
Nor should every missing or delisted investment be assigned zero automatically. Acquisition proceeds, recoveries and other realised value can matter. The requirement is to preserve the relevant historical opportunity set and account for its outcomes, not invent losses for missing records.
How can you check whether a backtest has these biases?
Check the information timeline and the investment universe separately. For look-ahead bias, ask which version of each input was available at each decision. For survivorship bias, ask which investments were eligible at each historical date and how removed investments were handled.
A data description that says “historical prices included” is not enough. It says little about historical membership, release timestamps or revised fundamentals.
Equally, a database advertised as free from survivorship bias does not automatically establish that financial inputs were available on time. These are separate assurances requiring separate evidence.
Price adjustments need interpretation too. Adjusting a return series for a share split can be appropriate. The presence of adjusted prices alone does not prove look-ahead bias. The question is whether information used for decisions or trade sizing could actually have been known.
A practical data-bias checklist
Before trusting a historical result:
- 1.Identify the data source and the version used.
- 2.Separate accounting period dates from publication and availability dates.
- 3.Check how later corrections and restatements enter the records.
- 4.Confirm historical eligibility rather than relying on today's survivors.
- 5.Trace delistings, acquisitions and other departures through to their economic outcomes.
- 6.Check decision timestamps against the execution prices assumed.
- 7.Record unresolved data limitations alongside the performance figures.
This checklist can identify weaknesses in evidence. It cannot certify an undocumented dataset or recover missing records by assumption.
The next useful step is to trace one simulated decision back to its original available information and one removed investment through the historical universe. If either trail is missing, performance should remain provisional while the data issue is investigated.
Nothing here is investment advice.