When Companies Announce Dividend Raises
Share of annual raises declared in the same month as the prior raise, by yearranking ·
2026-08-03 · 10×4
Dividend raises by declaration month: US recurring quarterly payers, July 2015 to July 2026ranking ·
2026-08-03 · 12×3
JNJ dividend raises: declaration date, old rate, new rate, 2016 to 2026table ·
2026-08-03 · 11×5
Typical raise month by company: twelve dividend growers, raises since 2016series ·
2026-08-03 · 12×5
Declaration record by year: recurring dividends, count, and days from declaration to ex-datetable ·
2026-08-03 · 11×5
Share of annual raises declared in the same month as the prior raise, by year
Share of annual raises declared in the same month as the prior raise, by year
| year | companies | same_month_pct | within_one_month_pct |
|---|---|---|---|
| 2017 | 1104 | 68.6 | 73.4 |
| 2018 | 1159 | 64.7 | 78.2 |
| 2019 | 1399 | 64.7 | 74 |
| 2020 | 1368 | 64.3 | 74.5 |
| 2021 | 1278 | 64.4 | 78.7 |
| 2022 | 1343 | 60.9 | 77.3 |
| 2023 | 1576 | 66.9 | 82.4 |
| 2024 | 1649 | 62 | 81.9 |
| 2025 | 1980 | 56.9 | 80.7 |
| 2026 | 1154 | 74.5 | 82.8 |
the exact SQL behind every number
WITH quarterly AS (
SELECT ticker,
ex_dividend_date,
round(max(toFloat64(cash_amount)), 4) AS amount,
max(declaration_date) AS declared
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND frequency = 4
AND cash_amount > 0
AND declaration_date > toDate('2015-06-30')
AND ex_dividend_date >= toDate('2015-07-01')
AND ex_dividend_date <= toDate('2026-07-31')
GROUP BY ticker, ex_dividend_date
),
stepped AS (
SELECT ticker,
declared,
amount,
ex_dividend_date,
lagInFrame(amount, 1) OVER (PARTITION BY ticker ORDER BY ex_dividend_date ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_amount,
lagInFrame(ex_dividend_date, 1) OVER (PARTITION BY ticker ORDER BY ex_dividend_date ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_ex_date
FROM quarterly
),
raises AS (
SELECT ticker, declared
FROM stepped
WHERE prior_amount > 0
AND amount > prior_amount * 1.005
AND dateDiff('day', prior_ex_date, ex_dividend_date) BETWEEN 45 AND 200
),
chained AS (
SELECT ticker,
declared,
lagInFrame(declared, 1) OVER (PARTITION BY ticker ORDER BY declared ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_declared
FROM raises
)
SELECT toYear(declared) AS year,
uniqExact(ticker) AS companies,
round(100 * countIf(toMonth(declared) = toMonth(prior_declared)) / count(), 1) AS same_month_pct,
round(100 * countIf(abs(toInt32(toRelativeMonthNum(declared))
- toInt32(toRelativeMonthNum(prior_declared)) - 12) <= 1) / count(), 1) AS within_one_month_pct
FROM chained
WHERE declared >= toDate('2017-01-01')
AND dateDiff('day', prior_declared, declared) BETWEEN 250 AND 480
GROUP BY year
ORDER BY year
More from this analysisWhen Companies Announce Dividend Raises
Dividend raises by declaration month: US recurring quarterly payers, July 2015 to July 2026
ranking 12×3
→
Typical raise month by company: twelve dividend growers, raises since 2016
series 12×5
→
JNJ dividend raises: declaration date, old rate, new rate, 2016 to 2026
table 11×5
→
Declaration record by year: recurring dividends, count, and days from declaration to ex-date
table 11×5
→
See all 2,170 queries →