STRASMORE/EXPLORE 2,272 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,272 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

Dividend Increases Expected This Month
MSFT dividend raise declarations, 2019 to 2025 (pinned)series · 2026-09-16 · 7×6Preview: a 7-point series, ending lower. Companies expected to raise their dividend this month, declared names firstseries · 2026-09-16 · 13×7Preview: a 13-point series, roughly flat. When dividend raises get declared: share by calendar month, starting from this monthranking · 2026-09-16 · 12×3Preview: 12 ranked values, smallest first. Declared vs. still expected: this month in each of the last six yearsseries · 2026-09-16 · 6×4Preview: a 6-point series, ending lower.
MSFT dividend raise declarations, 2019 to 2025 (pinned)

MSFT dividend raise declarations, 2019 to 2025 (pinned)

most recentas of series 7×6read in context →
MSFT dividend raise declarations, 2019 to 2025 (pinned) — 7 rows by 6 columns, computed from US exchange, SIP and OPRA data.
yeardeclared_onday_of_monthquarterly_beforequarterly_afterraise_pct
2019Sep 1818$0.46$0.5110.9
2020Sep 1515$0.51$0.569.8
2021Sep 1414$0.56$0.6210.7
2022Sep 2020$0.62$0.689.7
2023Sep 1919$0.68$0.7510.3
2024Sep 1616$0.75$0.8310.7
2025Sep 1515$0.83$0.919.6
the exact SQL behind every number
SELECT
    toYear(declaration_date)                                     AS year,
    concat(formatDateTime(declaration_date, '%b'), ' ',
           toString(toDayOfMonth(declaration_date)))             AS declared_on,
    toDayOfMonth(declaration_date)                               AS day_of_month,
    concat('$', toString(toDecimal64(prev_amount, 2)))           AS quarterly_before,
    concat('$', toString(toDecimal64(amount, 2)))                AS quarterly_after,
    round((amount / prev_amount - 1) * 100, 1)                   AS raise_pct
FROM
(
    SELECT
        ex_dividend_date,
        declaration_date,
        amount,
        lagInFrame(amount, 1) OVER (ORDER BY ex_dividend_date
                                    ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_amount
    FROM
    (
        SELECT
            ex_dividend_date,
            ifNull(max(declaration_date), toDate('1970-01-01')) AS declaration_date,
            ifNull(max(toFloat64(cash_amount)), 0)              AS amount
        FROM global_markets.stocks_dividends
        WHERE ticker = 'MSFT'
          AND toString(frequency) = '4'
          AND ex_dividend_date BETWEEN toDate('2018-06-01') AND toDate('2026-03-31')
        GROUP BY ex_dividend_date
    )
)
WHERE prev_amount > 0
  AND amount > prev_amount
  AND declaration_date BETWEEN toDate('2019-01-01') AND toDate('2025-12-31')
ORDER BY declaration_date
$