{"slug":"ex-dividend-dates-on-the-asx","qid":"cadence_lag","label":"cadence_lag","post_title":"ex-dividend-dates-on-the-asx","post_url":"/blog/ex-dividend-dates-on-the-asx#q-cadence_lag","columns":["payment_cadence","records_counted","avg_days_record_to_payment"],"rows":[{"payment_cadence":"Annual","records_counted":4676,"avg_days_record_to_payment":13.4},{"payment_cadence":"Monthly","records_counted":40052,"avg_days_record_to_payment":6.8},{"payment_cadence":"Other or unstated","records_counted":13441,"avg_days_record_to_payment":6.4},{"payment_cadence":"Quarterly","records_counted":35255,"avg_days_record_to_payment":12.8},{"payment_cadence":"Semiannual (interim and final)","records_counted":9220,"avg_days_record_to_payment":30.8}],"shape":"ranking","sql":"SELECT\n    multiIf(freq = 1,  'Annual',\n            freq = 2,  'Semiannual (interim and final)',\n            freq = 4,  'Quarterly',\n            freq = 12, 'Monthly',\n                       'Other or unstated')          AS payment_cadence,\n    count()                                          AS records_counted,\n    round(avg(dateDiff('day', rec_date, pay_dt)), 1) AS avg_days_record_to_payment\nFROM\n(\n    SELECT\n        id,\n        any(frequency)   AS freq,\n        any(record_date) AS rec_date,\n        any(pay_date)    AS pay_dt\n    FROM global_markets.stocks_dividends\n    WHERE ex_dividend_date >= today() - 730\n      AND ex_dividend_date <  today()\n      AND pay_date >= record_date\n      AND dateDiff('day', record_date, pay_date) <= 120\n    GROUP BY id\n)\nGROUP BY payment_cadence\nORDER BY payment_cadence","computed_at":"2026-09-24T15:09:13.619093+00:00","elapsed":1.573650938}