{"slug":"when-companies-announce-dividend-raises","qid":"same_month_repeat_rate","label":"Share of annual raises declared in the same month as the prior raise, by year","post_title":"When Companies Announce Dividend Raises","post_url":"/blog/when-companies-announce-dividend-raises#q-same_month_repeat_rate","columns":["year","companies","same_month_pct","within_one_month_pct"],"rows":[{"year":2017,"companies":1104,"same_month_pct":68.6,"within_one_month_pct":73.4},{"year":2018,"companies":1159,"same_month_pct":64.7,"within_one_month_pct":78.2},{"year":2019,"companies":1399,"same_month_pct":64.7,"within_one_month_pct":74},{"year":2020,"companies":1368,"same_month_pct":64.3,"within_one_month_pct":74.5},{"year":2021,"companies":1278,"same_month_pct":64.4,"within_one_month_pct":78.7},{"year":2022,"companies":1343,"same_month_pct":60.9,"within_one_month_pct":77.3},{"year":2023,"companies":1576,"same_month_pct":66.9,"within_one_month_pct":82.4},{"year":2024,"companies":1649,"same_month_pct":62,"within_one_month_pct":81.9},{"year":2025,"companies":1980,"same_month_pct":56.9,"within_one_month_pct":80.7},{"year":2026,"companies":1154,"same_month_pct":74.5,"within_one_month_pct":82.8}],"shape":"ranking","sql":"WITH quarterly AS (\n    SELECT ticker,\n           ex_dividend_date,\n           round(max(toFloat64(cash_amount)), 4) AS amount,\n           max(declaration_date) AS declared\n    FROM global_markets.stocks_dividends\n    WHERE distribution_type = 'recurring'\n      AND frequency = 4\n      AND cash_amount > 0\n      AND declaration_date > toDate('2015-06-30')\n      AND ex_dividend_date >= toDate('2015-07-01')\n      AND ex_dividend_date <= toDate('2026-07-31')\n    GROUP BY ticker, ex_dividend_date\n),\nstepped AS (\n    SELECT ticker,\n           declared,\n           amount,\n           ex_dividend_date,\n           lagInFrame(amount, 1) OVER (PARTITION BY ticker ORDER BY ex_dividend_date ASC\n                                       ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_amount,\n           lagInFrame(ex_dividend_date, 1) OVER (PARTITION BY ticker ORDER BY ex_dividend_date ASC\n                                       ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_ex_date\n    FROM quarterly\n),\nraises AS (\n    SELECT ticker, declared\n    FROM stepped\n    WHERE prior_amount > 0\n      AND amount > prior_amount * 1.005\n      AND dateDiff('day', prior_ex_date, ex_dividend_date) BETWEEN 45 AND 200\n),\nchained AS (\n    SELECT ticker,\n           declared,\n           lagInFrame(declared, 1) OVER (PARTITION BY ticker ORDER BY declared ASC\n                                         ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_declared\n    FROM raises\n)\nSELECT toYear(declared) AS year,\n       uniqExact(ticker) AS companies,\n       round(100 * countIf(toMonth(declared) = toMonth(prior_declared)) / count(), 1) AS same_month_pct,\n       round(100 * countIf(abs(toInt32(toRelativeMonthNum(declared))\n                               - toInt32(toRelativeMonthNum(prior_declared)) - 12) <= 1) / count(), 1) AS within_one_month_pct\nFROM chained\nWHERE declared >= toDate('2017-01-01')\n  AND dateDiff('day', prior_declared, declared) BETWEEN 250 AND 480\nGROUP BY year\nORDER BY year","computed_at":"2026-08-03T10:13:59.974643+00:00","elapsed":0.004665072}