{"slug":"who-sets-the-ex-dividend-date","qid":"cadence_alignment","label":"Ex-date alignment by payout cadence, since T+1 took effect","post_title":"Who Sets the Ex-Dividend Date? Not the Board","post_url":"/blog/who-sets-the-ex-dividend-date#q-cadence_alignment","columns":["cadence","payout_count","ex_on_record_pct","ex_after_pay_pct"],"rows":[{"cadence":"Monthly","payout_count":39176,"ex_on_record_pct":99.3,"ex_after_pay_pct":0},{"cadence":"Quarterly","payout_count":34423,"ex_on_record_pct":97.2,"ex_after_pay_pct":0},{"cadence":"Semiannual","payout_count":9067,"ex_on_record_pct":96.6,"ex_after_pay_pct":0},{"cadence":"Other cadence","payout_count":8454,"ex_on_record_pct":100,"ex_after_pay_pct":0},{"cadence":"Annual","payout_count":4648,"ex_on_record_pct":97.2,"ex_after_pay_pct":0.1},{"cadence":"One-time","payout_count":4194,"ex_on_record_pct":89.3,"ex_after_pay_pct":1.9}],"shape":"ranking","sql":"SELECT\n    multiIf(payout_frequency = 0,  'One-time',\n            payout_frequency = 1,  'Annual',\n            payout_frequency = 2,  'Semiannual',\n            payout_frequency = 4,  'Quarterly',\n            payout_frequency = 12, 'Monthly',\n            'Other cadence')                               AS cadence,\n    count()                                                AS payout_count,\n    round(100 * countIf(ex_date = record_on) / count(), 1) AS ex_on_record_pct,\n    round(100 * countIf(ex_date > paid_on) / count(), 1)   AS ex_after_pay_pct\nFROM\n(\n    SELECT\n        id,\n        any(frequency)        AS payout_frequency,\n        any(ex_dividend_date) AS ex_date,\n        any(record_date)      AS record_on,\n        any(pay_date)         AS paid_on\n    FROM global_markets.stocks_dividends\n    WHERE ex_dividend_date >= toDate('2024-09-01')\n      AND ex_dividend_date <  today()\n      AND record_date >= toDate('2000-01-01')\n      AND pay_date    >= toDate('2000-01-01')\n    GROUP BY id\n)\nGROUP BY cadence\nORDER BY cadence = 'One-time' ASC, payout_count DESC","computed_at":"2026-08-22T04:36:20.026683+00:00","elapsed":0.128735742}