STRASMORE/EXPLORE 2,170 QUERIES

Realty Income's declared monthly rate by calendar year, the raise over the prior year, and the steps up inside each year

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-08-22, from Monthly Dividend Stocks: The Full List.

as of table 12×5read in context →
Realty Income's declared monthly rate by calendar year, the raise over the prior year, and the steps up inside each year — 12 rows by 5 columns, computed from US exchange, SIP and OPRA data.
yearmonthly_payment_usdannual_raise_pctraise_countsmallest_annual_raise_pct
20140.18340.6940.69
20150.1914.1350.69
20160.20256.0260.69
20170.21254.9450.69
20180.221450.69
20190.22752.9450.69
20200.23453.0850.69
20210.24655.1250.69
20220.24850.8140.69
20230.25653.2250.69
20240.26352.7340.69
20250.272.4760.69
Rows × columns
12 × 5
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for Realty Income's declared monthly rate by calendar year, the raise over the prior year, and the steps up inside each year, derived from the stored result.
ColumnTypeRangeNotes
year number 2,014 to 2,025
monthly_payment_usd number 0.1834 to 0.27 US dollars
annual_raise_pct number 0.69 to 6.02 percent
raise_count number 4 to 6 count
smallest_annual_raise_pct number every row is 0.69 percent

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

the exact SQL behind every number
WITH steps AS (
    SELECT ed, amt,
           lagInFrame(amt) OVER (ORDER BY ed ASC) AS prior_amt
    FROM (
        SELECT ex_dividend_date AS ed, max(cash_amount) AS amt
        FROM global_markets.stocks_dividends
        WHERE ticker = 'O'
          AND distribution_type = 'recurring'
          AND cash_amount > 0
          AND ex_dividend_date >= '2013-01-01'
          AND ex_dividend_date < toStartOfYear(today())
        GROUP BY ed
    )
),
yearly AS (
    SELECT toYear(ed) AS year,
           max(amt) AS monthly_rate,
           countIf(prior_amt > 0 AND amt > prior_amt) AS raise_count
    FROM steps
    GROUP BY year
),
seq AS (
    SELECT year, monthly_rate, raise_count,
           lagInFrame(monthly_rate) OVER (ORDER BY year ASC) AS prior_rate
    FROM yearly
),
panel AS (
    SELECT year, monthly_rate, raise_count,
           100 * (monthly_rate - prior_rate) / prior_rate AS raise_pct
    FROM seq
    WHERE prior_rate > 0 AND year >= 2014
)
SELECT year,
       round(monthly_rate, 4) AS monthly_payment_usd,
       round(raise_pct, 2) AS annual_raise_pct,
       raise_count,
       round(min(raise_pct) OVER (), 2) AS smallest_annual_raise_pct
FROM panel
ORDER BY year

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisMonthly Dividend Stocks: The Full List
Monthly dividend stocks - filing companies paying every month, ranked by daily traded value table 29×6 Monthly payers yielding above 12% - the price move and the payment move behind the number table 11×5 Yield distribution across liquid monthly payers, with each band's median 12-month price change table 5×5 Monthly payers in the dividend record, by completed calendar year ranking 21×3 Recurring cash payments per ticker over the trailing year - where the monthly band sits ranking 7×4 Recurring cash dividends by declared schedule: every payer on file, July 2025 through June 2026 table 5×5 See all 2,170 queries →