{"slug":"survivorship-bias-in-stock-data","qid":"delistings_by_year","label":"Symbols that printed a final daily bar, by year","post_title":"Survivorship Bias in Stock Data, Explained","post_url":"/blog/survivorship-bias-in-stock-data#q-delistings_by_year","columns":["year","gone_dark_count","avg_bars_on_tape"],"rows":[{"year":"2016","gone_dark_count":847,"avg_bars_on_tape":270},{"year":"2017","gone_dark_count":838,"avg_bars_on_tape":428},{"year":"2018","gone_dark_count":822,"avg_bars_on_tape":559},{"year":"2019","gone_dark_count":908,"avg_bars_on_tape":656},{"year":"2020","gone_dark_count":929,"avg_bars_on_tape":781},{"year":"2021","gone_dark_count":1311,"avg_bars_on_tape":705},{"year":"2022","gone_dark_count":1471,"avg_bars_on_tape":675},{"year":"2023","gone_dark_count":1864,"avg_bars_on_tape":713},{"year":"2024","gone_dark_count":1484,"avg_bars_on_tape":854},{"year":"2025","gone_dark_count":1281,"avg_bars_on_tape":1001}],"shape":"ranking","sql":"SELECT\n    toString(toYear(last_bar))  AS year,\n    count()                     AS gone_dark_count,\n    round(avg(bars_on_tape))    AS avg_bars_on_tape\nFROM\n(\n    SELECT\n        ticker,\n        max(date) AS last_bar,\n        count()   AS bars_on_tape\n    FROM global_markets.stocks_daily_aggs\n    WHERE date >= '2015-01-01'\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker\n    HAVING max(date) >= toDate('2016-01-01')\n       AND max(date) <  toDate('2026-01-01')\n)\nGROUP BY year\nORDER BY year","computed_at":"2026-08-22T04:22:23.921721+00:00","elapsed":1.004504002}