STRASMORE/EXPLORE 3,293 QUERIES 22Y EQUITIES · 12Y OPTIONS

3,293 answered market questions

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

Full options quote history: clean NBBO bid/ask snapshots for any US option contract at the interval you choose, by SQL API, $79 a month. See the options quotes plan
XOM Dividend Increase History: Every Raise
XOM dividends paid per share per year, and increases declared in eachranking · 2026-09-26 · 20×4Preview: 16 ranked values, smallest first. The XOM dividend streak, counted two ways, plus the years with no increaseranking · 2026-09-26 · 3×3Preview: 3 ranked values, largest first. Every declared XOM quarterly dividend increase, with the old and new rateseries · 2026-09-26 · 19×6Preview: a 16-point series, ending lower. Which calendar quarter XOM dividend increases get declared inranking · 2026-09-26 · 2×4Preview: 2 ranked values, largest first. XOM quarterly dividend compound growth over 5, 10 and 20 yearstable · 2026-09-26 · 3×6
XOM dividends paid per share per year, and increases declared in each

XOM dividends paid per share per year, and increases declared in each

most recentas of ranking 20×4read in context →
XOM dividends paid per share per year, and increases declared in each — 20 rows by 4 columns, computed from US exchange, SIP and OPRA data.
yearpaid_per_share_usdpaymentsraises_declared
20061.2841
20071.3741
20081.5541
20091.6641
20101.7441
20111.8541
20122.1841
20132.4641
20142.741
20152.8841
20162.9841
20173.0641
20183.2341
20193.4341
20203.4840
20213.4941
20223.5541
20233.6841
20243.8441
2025441
the exact SQL behind every number
WITH quarterly AS
(
    SELECT
        ex_dividend_date            AS ex_date,
        toFloat64(max(cash_amount)) AS rate
    FROM global_markets.stocks_dividends
    WHERE ticker = 'XOM'
      AND frequency = 4
      AND ex_dividend_date >= '2005-01-01'
      AND ex_dividend_date <= today()
    GROUP BY ex_dividend_date
),
stepped AS
(
    SELECT
        ex_date,
        rate,
        lagInFrame(rate) OVER (ORDER BY ex_date ASC
            ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_rate
    FROM quarterly
)
SELECT
    toYear(ex_date)                                     AS year,
    round(sum(rate), 4)                                 AS paid_per_share_usd,
    count()                                             AS payments,
    countIf(prev_rate > 0 AND rate > prev_rate)         AS raises_declared
FROM stepped
WHERE toYear(ex_date) >= 2006
  AND toYear(ex_date) < toYear(today())
GROUP BY year
ORDER BY year ASC
$