{"slug":"do-stock-splits-need-shareholder-approval","qid":"split_cadence","label":"split_cadence","post_title":"do-stock-splits-need-shareholder-approval","post_url":"/blog/do-stock-splits-need-shareholder-approval#q-split_cadence","columns":["year","forward_splits","reverse_splits"],"rows":[{"year":2016,"forward_splits":421,"reverse_splits":726},{"year":2017,"forward_splits":391,"reverse_splits":707},{"year":2018,"forward_splits":529,"reverse_splits":526},{"year":2019,"forward_splits":392,"reverse_splits":606},{"year":2020,"forward_splits":362,"reverse_splits":685},{"year":2021,"forward_splits":416,"reverse_splits":491},{"year":2022,"forward_splits":366,"reverse_splits":622},{"year":2023,"forward_splits":362,"reverse_splits":837},{"year":2024,"forward_splits":454,"reverse_splits":871},{"year":2025,"forward_splits":429,"reverse_splits":1038},{"year":2026,"forward_splits":357,"reverse_splits":925}],"shape":"ranking","sql":"SELECT\n    toYear(execution_date)                     AS year,\n    countDistinctIf(id, split_to > split_from) AS forward_splits,\n    countDistinctIf(id, split_from > split_to) AS reverse_splits\nFROM global_markets.stocks_splits\nWHERE execution_date >= '2016-01-01'\n  AND execution_date <  today()\n  AND ticker NOT IN ('SPCX')\nGROUP BY year\nORDER BY year","computed_at":"2026-10-01T15:10:08.869051+00:00","elapsed":0.138659669}