{"slug":"upcoming-reverse-stock-splits","qid":"yearly_mix","label":"Reverse versus forward splits by year","post_title":"Upcoming Reverse Stock Splits: Live Calendar","post_url":"/blog/upcoming-reverse-stock-splits#q-yearly_mix","columns":["year","reverse_splits","forward_splits","reverse_share_pct"],"rows":[{"year":"2019","reverse_splits":606,"forward_splits":388,"reverse_share_pct":61},{"year":"2020","reverse_splits":679,"forward_splits":346,"reverse_share_pct":65.9},{"year":"2021","reverse_splits":485,"forward_splits":401,"reverse_share_pct":54.4},{"year":"2022","reverse_splits":620,"forward_splits":362,"reverse_share_pct":63},{"year":"2023","reverse_splits":834,"forward_splits":356,"reverse_share_pct":70},{"year":"2024","reverse_splits":868,"forward_splits":447,"reverse_share_pct":65.9},{"year":"2025","reverse_splits":1036,"forward_splits":423,"reverse_share_pct":71},{"year":"2026","reverse_splits":890,"forward_splits":313,"reverse_share_pct":74}],"shape":"ranking","sql":"SELECT\n    toString(toYear(execution_date))                              AS year,\n    countIf(from_shares > to_shares)                              AS reverse_splits,\n    countIf(to_shares > from_shares)                              AS forward_splits,\n    round(100.0 * countIf(from_shares > to_shares) / count(), 1)  AS reverse_share_pct\nFROM\n(\n    SELECT\n        ticker,\n        execution_date,\n        max(toFloat64(split_from))  AS from_shares,\n        max(toFloat64(split_to))    AS to_shares\n    FROM global_markets.stocks_splits\n    WHERE execution_date >= toDate('2019-01-01')\n      AND execution_date <= today()\n      AND split_from != split_to\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker, execution_date\n)\nGROUP BY year\nORDER BY year","computed_at":"2026-09-19T15:08:27.728356+00:00","elapsed":0.198452839}